在下面这段代码中加入画loss曲线和acc曲线的代码
时间: 2024-03-25 12:36:51 浏览: 79
好的,以下是在 TensorFlow 中加入画 loss 曲线和 acc 曲线的代码示例:
```python
# 导入必要的库
import tensorflow as tf
import matplotlib.pyplot as plt
# 定义模型
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_shape=(784,)),
tf.keras.layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 载入数据
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
# 将标签转换为 one-hot 编码
y_train = tf.keras.utils.to_categorical(y_train)
y_test = tf.keras.utils.to_categorical(y_test)
# 训练模型
history = model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))
# 画 loss 曲线
plt.plot(history.history['loss'], label='train_loss')
plt.plot(history.history['val_loss'], label='val_loss')
plt.title('Loss')
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.legend()
plt.show()
# 画 acc 曲线
plt.plot(history.history['accuracy'], label='train_acc')
plt.plot(history.history['val_accuracy'], label='val_acc')
plt.title('Accuracy')
plt.xlabel('Epoch')
plt.ylabel('Accuracy')
plt.legend()
plt.show()
```
在上述代码中,我们使用了 `history` 对象来存储训练过程中的指标值,并利用 matplotlib 库画出了 loss 曲线和 acc 曲线。其中,`history.history['loss']` 表示训练集上的 loss 值,`history.history['val_loss']` 表示验证集上的 loss 值,`history.history['accuracy']` 表示训练集上的准确率,`history.history['val_accuracy']` 表示验证集上的准确率。
阅读全文