Skip to content

Latest commit

 

History

History
123 lines (97 loc) · 3.78 KB

File metadata and controls

123 lines (97 loc) · 3.78 KB

TQDM进度条添加总结

概述

为PeptideStream项目的stability模型及相关模块添加了tqdm进度条,提升用户体验和训练过程的可视化。

修改的模块

1. models/embedding_pipeline.py

  • 功能: ESM2 embedding批量提取
  • 添加的进度条:
    • 批处理循环进度条
    • 显示已处理批次数和缓存数量
    • 保存断点时显示保存状态
  • 改进: 更详细的进度信息,包括处理进度和缓存状态

2. models/stability_model_esm.py

  • 功能: 稳定性预测模型训练
  • 添加的进度条:
    • 数据加载进度条(处理CSV行)
    • 训练数据准备进度条
  • 改进: 添加了详细的步骤提示和进度显示

3. models/tox_model_trainer.py

  • 功能: 毒性预测模型训练
  • 添加的进度条:
    • 数据加载和清洗过程提示
    • 训练过程状态显示
  • 改进: 添加了详细的步骤说明和状态提示

4. tools/tox_embedding_generator.py

  • 功能: 毒性预测embedding生成
  • 优化现有进度条:
    • 更详细的进度条格式
    • 添加ETA时间估计
    • 显示处理速度和缓存状态
  • 改进: 更丰富的进度信息和更好的用户体验

5. embedding/esm_embedding_extractor.py

  • 功能: ESM2 embedding提取工具
  • 新增功能:
    • 批量处理函数 extract_protein_embeddings_batch()
    • 带进度条的批量提取
    • 保存功能 save_embeddings()
  • 改进: 从单序列处理扩展到批量处理

6. pipeline/multi_feature_evaluator.py

  • 功能: 多特征评估器
  • 新增功能:
    • 批量评估函数 evaluate_sequences_batch()
    • 候选序列过滤 filter_candidates()
    • 完整评估流程 evaluate_and_filter()
  • 改进: 支持批量处理和进度显示

7. multi_feature_model.py

  • 功能: 多特征预测模型
  • 新增功能:
    • 批量预测函数 predict_all_properties_batch()
    • 高质量序列过滤 filter_high_quality_sequences()
  • 改进: 支持批量预测和结果过滤

进度条特性

统一的进度条格式

  • 使用emoji图标增强可读性
  • 显示当前进度和总数
  • 显示处理速度和剩余时间
  • 显示关键指标(如toxicity分数)

错误处理

  • 单个序列处理失败不影响整体进度
  • 显示错误信息但不中断处理
  • 失败项用NaN填充

断点续训支持

  • 支持从上次中断的地方继续
  • 定期保存中间结果
  • 显示已加载的缓存数量

使用示例

批量embedding提取

from models.embedding_pipeline import EmbeddingPipeline

pipeline = EmbeddingPipeline(batch_size=8, device="cpu")
embeddings = pipeline.embed_sequences(sequences, resume=True)

批量特征评估

from pipeline.multi_feature_evaluator import MultiFeatureEvaluator

evaluator = MultiFeatureEvaluator(esm_path)
candidates, results, all_results = evaluator.evaluate_and_filter(sequences)

批量多特征预测

from multi_feature_model import predict_all_properties_batch

results = predict_all_properties_batch(sequences, show_progress=True)

性能改进

  1. 用户体验: 清晰的进度显示,用户知道当前处理状态
  2. 错误处理: 单个失败不影响整体处理
  3. 断点续训: 支持长时间处理的中断和恢复
  4. 批量处理: 提高处理效率,减少内存占用

注意事项

  1. 确保已安装tqdm: pip install tqdm
  2. 进度条会显示在控制台,适合命令行环境
  3. 在Jupyter notebook中进度条会自动适配
  4. 可以通过show_progress=False参数关闭进度条

后续优化建议

  1. 添加配置文件支持,可调整进度条显示选项
  2. 支持多进程并行处理
  3. 添加更详细的性能监控
  4. 支持自定义进度条样式