[![enter image description here][1][1]我正在一段代码下面运行,以绘制列车并测试Keras中的损耗曲线
train_x, test_x, train_y, test_y = train_test_split(features, target_classes , test_size=0.30)
epochs = 4
batch_size = 256
for i in range(epochs):
print("epoch Value", i)
ix_train = np.random.choice(train_x.shape[0], size=batch_size)
score = model.fit(
train_x[ix_train], train_y[ix_train]
, epochs=1
, validation_data=(test_x, test_y)
)
scores.append(score)
//此代码用于绘制val_损失和train_损失
for i in range(0, len(scores)):
val_loss_change.append(scores[i].history['val_loss'])
loss_change.append(scores[i].history['loss'])
plt.plot(val_loss_change, label='val_loss')
plt.plot(loss_change, label='train_loss')
plt.legend(loc='upper right')
plt.show()
plt.savefig('LossVal_loss')
生成绘图时,绘图值看起来不现实。请参见附图LossVal_loss。 我已经从Python调试提示符复制了val_loss_change和loss_change
变动损失=:[4.3783984780311584],[3.9744645059108734],[3.921104222536087],[3.5381810665130615],[3.3796855211257935],[3.161308079957962],[2.9224385917186737],[2.80639386177063],[2.5576193928718567],[2.10813903808575]]
val_loss_change=:[4.315125052134196]、[4.105147279103597]、[4.0108651924133305]、[3.9794070688883463]、[4.025013980865478]、[4.060481491088868]、[4.1542660458882645]、[4.011785678863525]、[3.98963248886515]、[4.240501753489176]]
当我从pyhton调试提示符复制val_loss_change和loss_change并创建一个新的python文件并尝试按以下代码运行它时。 绘出的数字是正确的。请参见附图LossVal_loss1
val_loss_change = [[4.315125052134196], [4.105147279103597], [4.0108651924133305], [3.9794070688883463], [4.025013980865478], [4.060481491088868], [4.1542660458882645], [4.011785678863525], [3.989632488886515], [4.240501753489176]]
loss_change = [[4.3783984780311584], [3.9744645059108734], [3.921104222536087], [3.5381810665130615], [3.3796855211257935], [3.161308079957962], [2.9224385917186737], [2.80639386177063], [2.5576193928718567], [2.1081390380859375]]
plt.plot(val_loss_change, label='val_loss')
plt.plot(loss_change, label='train_loss')
plt.legend(loc='upper right')
plt.show()
plt.savefig('LossVal_loss1')
Can anyone tell what goes wrong in 1st code?
I want to run fit function multiple times and then plot a curve for loss and val_loss.
[1 Correct Figure from 2nd code ]: https://i.stack.imgur.com/fVg4o.png
[2 Incorrect Figure from 1st Code ]: https://i.stack.imgur.com/dcRSE.png
您正在用1个历元一次又一次地拟合模型。将epochs更改为epochs的总值,并删除额外的循环。我在手机上,所以现在无法测试代码
为了获得更好的动态图形,请使用TensorBoard
相关问题 更多 >
编程相关推荐