You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Doc2Vec模型训练时tqdm进度条跑完后程序仍长时间运行问题

问题根因
  • 你代码里的tqdm仅包裹了train_tagged.values的遍历转换过程,统计的是把所有样本加载生成列表的进度,这步本身IO和计算量都很小,几分钟跑完符合预期。
  • 真正耗时的40轮Doc2Vec训练逻辑是在model_dbow.train()方法内部执行的,这部分没有接入tqdm的进度统计,所以才会出现进度条走完后程序仍长时间运行的情况,和tqdm本身的功能无关。
修复方案

你可以调整写法把进度统计接入到实际训练阶段,两种常用实现方式如下:

  1. 开启gensim内置训练日志,直接查看每轮训练进度
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)

# 训练阶段去掉列表生成步骤多余的tqdm即可
model_dbow.train(utils.shuffle(list(train_tagged.values)), 
                 total_examples=len(train_tagged.values), 
                 epochs=40)
  1. 手动逐轮训练,给训练周期套tqdm进度条
from tqdm import tqdm

for epoch in tqdm(range(40)):
    model_dbow.train(utils.shuffle(list(train_tagged.values)),
                     total_examples=len(train_tagged.values),
                     epochs=1)
    # 手动衰减学习率,和原生train多轮训练逻辑保持一致
    model_dbow.alpha -= 0.0002
    model_dbow.min_alpha = model_dbow.alpha

内容的提问来源于stack exchange,提问作者user16796049

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:27:02