200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > [Keras] 绘制训练过程中Acc和Loss曲线

[Keras] 绘制训练过程中Acc和Loss曲线

时间:2022-04-26 18:11:23

相关推荐

[Keras] 绘制训练过程中Acc和Loss曲线

以Fashion MNIST数据集为例。

# coding = utf-8from tensorflow import kerasimport matplotlib.pyplot as plt# Prepare data X_train: ndarray,(60000, 28, 28) y_train: ndarray, (60000,)(X_train, y_train), (X_valid, y_valid) = keras.datasets.fashion_mnist.load_data()X_train = X_train / 255.0X_valid = X_valid / 255.0# Build modelmodel = keras.Sequential([keras.layers.Flatten(input_shape=(28, 28)), # input layerkeras.layers.Dense(128, activation='relu'), # hidden layerkeras.layers.Dense(10, activation='softmax') # output layer])pile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])# Train modelh = model.fit(X_train, y_train, epochs=100, batch_size=32, validation_split=0.2)# Plot accuracy and loss curvehistory = h.historyprint(history.keys())epochs = range(len(history['loss']))plt.figure(figsize=(20, 5))ax = plt.subplot(1, 2, 1)ax.set_title('Train and Valid Accuracy')plt.plot(epochs, history['accuracy'], 'b', label='Train accuracy')plt.plot(epochs, history['val_accuracy'], 'r', label='Valid accuracy')plt.legend()ax = plt.subplot(1, 2, 2)ax.set_title('Train and Valid Loss')plt.plot(epochs, history['loss'], 'b', label='Train loss')plt.plot(epochs, history['val_loss'], 'r', label='Valid loss')plt.legend()# plt.savefig(f'acc_and_loss.png')plt.show()

Output:

...Epoch 98/1001500/1500 [==============================] - 2s 1ms/step - loss: 0.0504 - accuracy: 0.9818 - val_loss: 0.7474 - val_accuracy: 0.8877Epoch 99/1001500/1500 [==============================] - 2s 1ms/step - loss: 0.0455 - accuracy: 0.9831 - val_loss: 0.7986 - val_accuracy: 0.8813Epoch 100/1001500/1500 [==============================] - 2s 1ms/step - loss: 0.0450 - accuracy: 0.9835 - val_loss: 0.7605 - val_accuracy: 0.8895dict_keys(['loss', 'accuracy', 'val_loss', 'val_accuracy'])

model.fit()返回一个TensorFlow的History对象,其中包含一个history的字典,字典里的键根据设定的metrics=['accuracy']有关。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。