深度学习模型训练过程可视化:绘制准确率和损失曲线
深度学习模型训练过程可视化:绘制准确率和损失曲线
在深度学习模型训练过程中,绘制准确率和损失曲线能够直观地展示模型的训练效果,帮助我们了解模型是否正在学习,以及是否存在过拟合等问题。本文将介绍如何使用 Python 和 Matplotlib 库绘制训练过程中的准确率和损失曲线。
代码示例
# 绘制训练过程中的准确率和损失曲线
acc = history.history['accuracy'] # 获取训练准确率列表
val_acc = history.history['val_accuracy'] # 获取验证准确率列表
loss = history.history['loss'] # 获取训练损失列表
val_loss = history.history['val_loss'] # 获取验证损失列表
epochs_range = range(epochs) # 创建轮数范围
# 绘制准确率曲线
plt.figure(figsize=(16, 8))
plt.subplot(1, 2, 1)
plt.plot(epochs_range, acc, label='Training Accuracy') # 绘制训练准确率曲线
plt.plot(epochs_range, val_acc, label='Validation Accuracy') # 绘制验证准确率曲线
plt.legend(loc='lower right') # 添加图例,位置在右下角
plt.title('Training and Validation Accuracy') # 设置标题
# 绘制损失曲线
plt.subplot(1, 2, 2)
plt.plot(epochs_range, loss, label='Training Loss') # 绘制训练损失曲线
plt.plot(epochs_range, val_loss, label='Validation Loss') # 绘制验证损失曲线
plt.legend(loc='upper right') # 添加图例,位置在右上角
plt.title('Training and Validation Loss') # 设置标题
plt.show() # 显示图像
代码解释
-
获取训练数据:
acc = history.history['accuracy']: 获取训练集上的准确率列表。val_acc = history.history['val_accuracy']: 获取验证集上的准确率列表。loss = history.history['loss']: 获取训练集上的损失列表。val_loss = history.history['val_loss']: 获取验证集上的损失列表。
-
创建轮数范围:
epochs_range = range(epochs): 创建一个从 0 到epochs的整数列表,表示训练轮数。
-
绘制准确率曲线:
plt.figure(figsize=(16, 8)): 创建一个大小为 16x8 的图像窗口。plt.subplot(1, 2, 1): 将图像窗口分成 1 行 2 列,选择第一个子图。plt.plot(epochs_range, acc, label='Training Accuracy'): 绘制训练集上的准确率曲线,以轮数为横坐标,准确率为纵坐标。plt.plot(epochs_range, val_acc, label='Validation Accuracy'): 绘制验证集上的准确率曲线。plt.legend(loc='lower right'): 添加图例,并将其放置在右下角。plt.title('Training and Validation Accuracy'): 设置子图标题。
-
绘制损失曲线:
plt.subplot(1, 2, 2): 选择第二个子图。plt.plot(epochs_range, loss, label='Training Loss'): 绘制训练集上的损失曲线。plt.plot(epochs_range, val_loss, label='Validation Loss'): 绘制验证集上的损失曲线。plt.legend(loc='upper right'): 添加图例,并将其放置在右上角。plt.title('Training and Validation Loss'): 设置子图标题。
-
显示图像:
plt.show(): 显示生成的图像。
结论
通过绘制准确率和损失曲线,我们可以直观地了解模型的训练效果,并判断模型是否正在学习,以及是否存在过拟合等问题。这对于模型的调优和改进具有重要意义。
原文地址: https://www.cveoy.top/t/topic/gqH 著作权归作者所有。请勿转载和采集!