AttributeError: 'Model' object has no attribute 'epoch' - Keras
AttributeError: 'Model' object has no attribute 'epoch' - Keras
我按照基于全连接层的简单自动编码器中给出的步骤在 keras 中构建了一个自动编码器 (https://blog.keras.io/building-autoencoders-in-keras.html)
wiki_autoencoder.fit(wiki_train, wiki_train,
epochs=100,
batch_size=256,
shuffle=True,
validation_data=(wiki_test, wiki_test))
经过训练和交叉验证。绘制结果给我以下错误:
loss = wiki_autoencoder.history.history['loss']
val_loss = wiki_autoencoder.history.history['val_loss']
epochs = range(epochs)
plt.figure()
plt.plot(epochs, loss, 'bo', label='Training loss')
plt.plot(epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.legend()
plt.show()
NameError Traceback (most recent call last)
<ipython-input-32-6acdd795daf3> in <module>()
1 loss = wiki_autoencoder.history.history['loss']
2 val_loss = wiki_autoencoder.history.history['val_loss']
----> 3 epochs = range(epochs)
4 plt.figure()
5 plt.plot(epochs, loss, 'bo', label='Training loss')
NameError: name 'epochs' is not defined
我尝试的第二件事是结果:没有找到带有标签的句柄以放入图例。但是生成了情节。我该如何解决这个问题
plt.plot(wiki_autoencoder.history.history['val_loss'], 'r', wiki_autoencoder.history.history['loss'], 'bo')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.title('Training and validation loss')
plt.legend()
plt.show()
您需要正确定义范围,因为未定义您在 range() 中使用的纪元。您可以根据需要使用 100 以外的任何其他数字。
epochs = range(100)
您实际上可以从历史对象中找到纪元。
epochs = wiki_autoencoder.history.epoch
这将为您提供训练模型的时期。
我按照基于全连接层的简单自动编码器中给出的步骤在 keras 中构建了一个自动编码器 (https://blog.keras.io/building-autoencoders-in-keras.html)
wiki_autoencoder.fit(wiki_train, wiki_train,
epochs=100,
batch_size=256,
shuffle=True,
validation_data=(wiki_test, wiki_test))
经过训练和交叉验证。绘制结果给我以下错误:
loss = wiki_autoencoder.history.history['loss']
val_loss = wiki_autoencoder.history.history['val_loss']
epochs = range(epochs)
plt.figure()
plt.plot(epochs, loss, 'bo', label='Training loss')
plt.plot(epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.legend()
plt.show()
NameError Traceback (most recent call last)
<ipython-input-32-6acdd795daf3> in <module>()
1 loss = wiki_autoencoder.history.history['loss']
2 val_loss = wiki_autoencoder.history.history['val_loss']
----> 3 epochs = range(epochs)
4 plt.figure()
5 plt.plot(epochs, loss, 'bo', label='Training loss')
NameError: name 'epochs' is not defined
我尝试的第二件事是结果:没有找到带有标签的句柄以放入图例。但是生成了情节。我该如何解决这个问题
plt.plot(wiki_autoencoder.history.history['val_loss'], 'r', wiki_autoencoder.history.history['loss'], 'bo')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.title('Training and validation loss')
plt.legend()
plt.show()
您需要正确定义范围,因为未定义您在 range() 中使用的纪元。您可以根据需要使用 100 以外的任何其他数字。
epochs = range(100)
您实际上可以从历史对象中找到纪元。
epochs = wiki_autoencoder.history.epoch
这将为您提供训练模型的时期。