x = np.array(test_loss, dtype=np.float64) # 绘制折线图 plt.plot(x, test_loss, label='Test Loss') # 添加标题和坐标轴标签 plt.title('Test Loss Curve') plt.xlabel('Epoch') plt.ylabel('Loss') # 显示图例 plt.legend() # 显示图形 plt.show()为什么不显示图像
时间: 2024-01-06 11:03:05 浏览: 68
浅谈numpy中np.array()与np.asarray的区别以及.tolist
5星 · 资源好评率100%
如果你按照你的代码描述使用 `plt.show()` 函数来显示图像,但是却没有看到任何图像,这可能是因为你的图像被阻塞了。在 Matplotlib 中,当你调用 `plt.show()` 函数时,它会打开一个图像窗口来显示图像,并将程序阻塞在这里,直到你关闭这个窗口。如果你的程序在这里被阻塞住了,那么你就看不到任何图像了。
为了解决这个问题,你可以尝试使用 `plt.show(block=False)` 函数来非阻塞显示图像。这个函数会在显示图像的同时,允许你的程序继续执行。例如,你可以使用以下代码来显示你的折线图:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义测试集的 Loss 值
test_loss = [1.2580, 1.0588, 0.9649, 0.7881, 0.7288, 0.6999, 0.6862, 0.6809, 0.6776, 0.6754, 0.6734, 0.6704, 0.6683, 0.6668, 0.6476, 0.6442, 0.6431, 0.6423, 0.6418, 0.6411, 0.6404, 0.6399, 0.6396, 0.6393, 0.6392, 0.6390, 0.6388, 0.6386, 0.6385, 1.1399]
# 将测试集 Loss 值转换为 numpy.float64 类型
test_loss = np.array(test_loss, dtype=np.float64)
# 定义 x 轴的取值范围
x = range(len(test_loss))
# 绘制折线图
plt.plot(x, test_loss, label='Test Loss')
# 添加标题和坐标轴标签
plt.title('Test Loss Curve')
plt.xlabel('Epoch')
plt.ylabel('Loss')
# 显示图例
plt.legend()
# 显示图形
plt.show(block=False)
```
在这个代码示例中,我们使用 `plt.show(block=False)` 非阻塞地显示了折线图。这样,你应该能够看到你的折线图了。
阅读全文