python - 尝试绘制损失与时期的维度错误
问题描述
这是我的 model.fit_generator (训练了 40 个时期):
history = model.fit_generator(
train_data_gen,
steps_per_epoch=total_train // batch_size,
epochs=epochs,
validation_data=val_data_gen,
validation_steps=total_val // batch_size
)
这是绘图的代码:
import matplotlib as plt
loss = history.history['loss']
plt.plot(epochs,loss, 'bo', label='Training Loss')
plt.show()
这是我得到的错误:
ValueError: x and y must have same first dimension, but have shapes (1,) and (40,)
我不明白我做错了什么。有人可以帮忙吗?
解决方案
您不应尝试针对epochs
(变量)进行绘图,这只是一个数字(此处为 40),因此存在尺寸误差。您的问题本质上是如何绘制列表(loss
);时期数隐含在列表中(它是列表长度)。为简单起见,假设只有 10 个 epoch 和
loss = [0.7251979386058971,
0.6640552306833333,
0.6190941931069023,
0.5602273066015956,
0.48771809028534785,
0.40796665995284814,
0.33154681897220617,
0.2698465999525444,
0.227492357244586,
0.1998490962115201]
然后简单地
plt.plot(loss, 'bo')
plt.title('Training Loss')
plt.show()
给
推荐阅读
- python - 如果我不将默认输入形状放入预训练模型中,深度学习程序的准确性会下降吗?
- javascript - 按下按钮时如何显示div的内容而不是值?
- ajax - 将对象数组中的数据发送到服务器
- java - 在 Java 中生成所有列表 n 层级的组合
- javascript - 如何从缩略图中删除不透明度
- amazon-web-services - 尝试将数据索引到 Amazon 弹性搜索中
- pandas - Pandas groupby 聚合与数据帧的差异,特别是在轴 = 1 上
- angular - 如何从 1 个角度库与另一个库进行通信?
- .net - VS2017 运行 .net mvc 项目,显示“/”应用程序中的服务器错误
- php - WordPress中的主题编辑器样式表文件编辑器错误