Python中jupyter notebook打印输出不正常怎么办?

正常情况应该是这样的:

Epoch 1/10
172/172 [==============================] - 7s 43ms/step - loss: 2.6656
Epoch 2/10
172/172 [==============================] - 6s 33ms/step - loss: 1.9586
Epoch 3/10
172/172 [==============================] - 6s 33ms/step - loss: 1.6907

我的输出是这样的:

Epoch 1/100
     26/Unknown - 1s 1s/step - loss: 7.7459 - accuracy: 0.00 - 1s 683ms/step - loss: 7.7579 - accuracy: 0.002 - 2s 502ms/step - loss: 7.8138 - accuracy: 0.002 - 2s 409ms/step - loss: 7.8115 - accuracy: 0.003 - 2s 353ms/step - loss: 7.8114 - accuracy: 0.003 - 2s 315ms/step - loss: 7.8292 - accuracy: 0.004 - 2s 289ms/step - loss: 7.8078 - accuracy: 0.005 - 2s 269ms/step - loss: 7.7814 - accuracy: 0.006 - 2s 254ms/step - loss: 7.7842 - accuracy: 0.007 - 2s 241ms/step - loss: 7.7854 - accuracy: 0.008 - 3s 231ms/step - loss: 7.7870 - accuracy: 0.009 - 3s 223ms/step - loss: 7.7920 - accuracy: 0.011 - 3s 216ms/step - loss: 7.7921 - accuracy: 0.012 - 3s 209ms/step - loss: 7.7833 - accuracy: 0.013 - 3s 204ms/step - loss: 7.7560 - accuracy: 0.014 - 3s 199ms/step - loss: 7.7392 - accuracy: 0.015 - 3s 195ms/step - loss: 7.7234 - accuracy: 0.016 - 3s 192ms/step - loss: 7.7264 - accuracy: 0.017 - 4s 188ms/step - loss: 7.7228 - accuracy: 0.018 - 4s 185ms/step - loss: 7.7184 - accuracy: 0.019 - 4s 183ms/step - loss: 7.7096 - accuracy: 0.020 - 4s 181ms/step - loss: 7.7071 - accuracy: 0.021 - 4s 178ms/step - loss: 7.6983 - accuracy: 0.021 - 4s 176ms/step - loss: 7.6892 - accuracy: 0.022 - 4s 175ms/step - loss: 7.6854 - accuracy: 0.024 - 5s 173ms/step - loss: 7.6854 - accuracy: 0.024 - 5s 173ms/step - loss: 7.6854 - accuracy: 0.0240

Python中jupyter notebook打印输出不正常怎么办?

1 回复

问题分析: Jupyter Notebook输出不正常通常由以下几个原因导致:内核状态异常、输出缓冲区问题、代码逻辑错误或显示设置冲突。

解决方案:

  1. 重启内核(最常用):

    • 菜单栏选择 Kernel → Restart & Clear Output
    • 或快捷键 00(按两次0)
  2. 强制刷新输出

    import sys
    sys.stdout.flush()  # 刷新标准输出缓冲区
    
  3. 检查打印语句

    print("测试输出", end="\n", flush=True)  # 确保换行和即时刷新
    
  4. 禁用输出截断(当输出过长时):

    from IPython.core.interactiveshell import InteractiveShell
    InteractiveShell.ast_node_interactivity = "all"  # 显示所有输出
    
  5. 重置输出配置

    from IPython.display import clear_output
    clear_output(wait=True)  # 清空当前单元格输出
    

快速自检流程:

  • 新开一个Notebook测试print("hello")是否正常
  • 检查是否误用了display()或Matplotlib的交互模式
  • 查看内核是否处于“忙碌”状态

一句话建议: 优先重启内核并检查代码逻辑。

回到顶部