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

Keras进度条不更新而是换行的技术问题求助

解决Keras/tf.keras训练进度条逐行打印不更新的问题

我之前也遇到过一模一样的问题!在PyCharm或者原生Python控制台里用Keras训练模型时,进度条不动态更新反而逐行打印,太烦人了。结合你的情况(tqdm能正常工作),给你几个靠谱的解决办法:

  • 强制用tqdm接管Keras进度条
    既然你已经确认tqdm能正常工作,那直接让Keras用tqdm的进度条就好,默认的进度条在部分终端环境下不支持动态刷新。只需要修改训练代码:

    from tqdm.keras import TqdmCallback
    
    # 训练时关闭默认verbose,改用tqdm回调
    model.fit(x_train, y_train,
              epochs=10,
              verbose=0,  # 关闭Keras自带进度条
              callbacks=[TqdmCallback(verbose=1)])
    

    这样就能得到和tqdm一样的动态更新进度条了。

  • 开启PyCharm控制台的终端模拟
    如果是在PyCharm里出现这个问题,大概率是控制台没启用ANSI转义序列支持,导致进度条无法覆盖更新。按这个步骤设置:

    1. 打开PyCharm的「File -> Settings」
    2. 找到「Build, Execution, Deployment -> Console -> Python Console」
    3. 勾选「Emulate terminal in output console」选项
    4. 重启PyCharm后再运行训练代码试试
  • 关闭Python输出缓冲
    要是在原生Python控制台(比如cmd、终端里的Python交互环境)运行,可能是输出缓冲导致进度条逐行打印。可以试试这两个方法:

    • 运行脚本时加上-u参数:python -u your_train_script.py,这个参数会强制Python无缓冲输出
    • 或者在脚本开头添加代码手动刷新缓冲:
      import sys
      sys.stdout.flush()
      
  • 检查版本兼容性(备选)
    你的Python版本3.7.2比较老,虽然你说TensorFlow是最新版,但不排除存在版本适配问题。如果前面的方法都没用,可以试试把TensorFlow降级到适配Python3.7的稳定版本(比如TF2.6.x系列,官方支持Python3.7)。

注:你提到的准确率显示为0不是当前问题,这里就不做处理啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:00:48