为PeptideStream项目的stability模型及相关模块添加了tqdm进度条,提升用户体验和训练过程的可视化。
- 功能: ESM2 embedding批量提取
- 添加的进度条:
- 批处理循环进度条
- 显示已处理批次数和缓存数量
- 保存断点时显示保存状态
- 改进: 更详细的进度信息,包括处理进度和缓存状态
- 功能: 稳定性预测模型训练
- 添加的进度条:
- 数据加载进度条(处理CSV行)
- 训练数据准备进度条
- 改进: 添加了详细的步骤提示和进度显示
- 功能: 毒性预测模型训练
- 添加的进度条:
- 数据加载和清洗过程提示
- 训练过程状态显示
- 改进: 添加了详细的步骤说明和状态提示
- 功能: 毒性预测embedding生成
- 优化现有进度条:
- 更详细的进度条格式
- 添加ETA时间估计
- 显示处理速度和缓存状态
- 改进: 更丰富的进度信息和更好的用户体验
- 功能: ESM2 embedding提取工具
- 新增功能:
- 批量处理函数
extract_protein_embeddings_batch() - 带进度条的批量提取
- 保存功能
save_embeddings()
- 批量处理函数
- 改进: 从单序列处理扩展到批量处理
- 功能: 多特征评估器
- 新增功能:
- 批量评估函数
evaluate_sequences_batch() - 候选序列过滤
filter_candidates() - 完整评估流程
evaluate_and_filter()
- 批量评估函数
- 改进: 支持批量处理和进度显示
- 功能: 多特征预测模型
- 新增功能:
- 批量预测函数
predict_all_properties_batch() - 高质量序列过滤
filter_high_quality_sequences()
- 批量预测函数
- 改进: 支持批量预测和结果过滤
- 使用emoji图标增强可读性
- 显示当前进度和总数
- 显示处理速度和剩余时间
- 显示关键指标(如toxicity分数)
- 单个序列处理失败不影响整体进度
- 显示错误信息但不中断处理
- 失败项用NaN填充
- 支持从上次中断的地方继续
- 定期保存中间结果
- 显示已加载的缓存数量
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)- 用户体验: 清晰的进度显示,用户知道当前处理状态
- 错误处理: 单个失败不影响整体处理
- 断点续训: 支持长时间处理的中断和恢复
- 批量处理: 提高处理效率,减少内存占用
- 确保已安装tqdm:
pip install tqdm - 进度条会显示在控制台,适合命令行环境
- 在Jupyter notebook中进度条会自动适配
- 可以通过
show_progress=False参数关闭进度条
- 添加配置文件支持,可调整进度条显示选项
- 支持多进程并行处理
- 添加更详细的性能监控
- 支持自定义进度条样式