acc曲线和loss曲线

在模型训练的过程中我们需要把精确率和损失上升和下降的过程刻画出来,在这一节我们将进行讲述。

history=model.fit(训练集数据,训练集标签,batch_size=,epochs=,validation_split=用作测试数据的比例,validation_data=测试集,validation_freq=测试频率)

对于history:

训练集loss:loss
测试集loss:val_loss
训练集准确率:sparse_categorical_accuracy
测试集准确率:val_sparse-categorical_accuracy

对于准确率和损失我们可以使用history.history提取出来:

acc=history.history['sparse_categorical_accuracy']
val_acc = history.history['val_sparse_categorical_accuracy']
loss = history.histiory['loss']
val_loss = history.history['val_loss']

完整的项目代码

import tensorflow as tf
import os
from matplotlib import pyplot as plt
import PySide2dirname = os.path.dirname(PySide2.__file__)
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_pathmnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0model = tf.keras.models.Sequential([tf.keras.layers.Flatten(),tf.keras.layers.Dense(128, activation='relu'),tf.keras.layers.Dense(10, activation='softmax')
])model.compile(optimizer='adam',loss=tf.losses.SparseCategoricalCrossentropy(from_logits=False),metrics=['sparse_categorical_accuracy'])checkpoint_save_path = './checkpoint/mnist.ckpt'
if os.path.exists(checkpoint_save_path + '.index'):print('------------------------load the model---------------------')model.load_weights(checkpoint_save_path)cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_save_path,save_weights_only=True,save_best_only=True)history = model.fit(x_train, y_train, batch_size=10, epochs=5,validation_data=(x_test, y_test),validation_freq=1,callbacks=[cp_callback])
model.summary()print(model.trainable_variables)
file = open('./weights.txt', 'w')
for v in model.trainable_variables:file.write(str(v.name) + '\n')file.write(str(v.shape) + '\n')file.write(str(v.numpy()) + '\n')
file.close()############################  show  #############################
# 显示训练集和验证集的acc和loss曲线
acc=history.history['sparse_categorical_accuracy']
val_acc = history.history['val_sparse_categorical_accuracy']
loss = history.history['loss']
val_loss = history.history['val_loss']plt.subplot(1, 2, 1)
plt.plot(acc, label='Training Accuracy')
plt.plot(val_acc, label='Validation Accuracy')
plt.title('Training and Validation Accuracy')
plt.legend()plt.subplot(1, 2, 2)
plt.plot(loss, label='Training Loss')
plt.plot(val_loss, label='Validation Loss')
plt.title('Training and Validation Loss')
plt.legend()
plt.show()

识别结果如下所示:

深度学习acc曲线与loss曲线相关推荐

  1. Debug深度学习中的NAN Loss

    深度学习中遇到NAN loss 什么都不改,重新训练一下,有时也能解决问题 学习率减小 检查输入数据(x和y),如果是正常突然变为NAN,有可能是学习率策略导致,也可能是脏数据导致 If using ...

  2. 深度学习:可视化-结果loss acc可视化及测试数据显示

    文章预览: 1.可视化train,test的loss acc 1.1 案例:交通指示牌识别案例-history数组 1.2 一张图两条曲线loss 写法总结 step1 定义数组 step2 添加数据 ...

  3. 深度学习的多个 loss 是如何平衡的?

    来自 | 知乎 地址 | https://www.zhihu.com/question/375794498 编辑 | AI有道 本文仅作学术分享,若侵权,请联系后台删文处理 在一个端到端训练的网络中, ...

  4. 深度学习的多个loss如何平衡?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 来自 | 知乎    编辑 | 深度学习这件小事 链接 | htt ...

  5. 深度学习——损失函数(Regression Loss、Classification Loss)

    简介 Loss function 损失函数 用于定义单个训练样本与真实值之间的误差 Cost function 代价函数 用于定义单个批次/整个训练集样本与真实值之间的误差 Objective fun ...

  6. 深度学习之——损失函数(loss)

    深度学习中的所有学习算法都必须有一个 最小化或最大化一个函数,称之为损失函数(loss function),或"目标函数"."代价函数".损失函数是衡量模型的效 ...

  7. 深度学习中常见的LOSS函数及代码实现

    Introduction 训练深度学习模型地目的只有一个,尽可能的学习到训练数据的分布.像往常的考试一样,考试成绩会有一个分数作为评判标准,评价你对于知识点地掌握情况,以便后续针对性地去学习.深度学习 ...

  8. 判断深度学习的效果好坏loss和val_loss比较

    loss是训练集的损失值,val_loss是测试集的损失值 以下是loss与val_loss的变化反映出训练走向的规律总结: train loss 不断下降,test loss不断下降,说明网络仍在学 ...

  9. 深度学习网络模型训练中loss为nans的总结

    在网络训练中经常出现loss为nans的情况. 主要原因有如下: 梯度爆炸 原因:巨大的梯度值使model的学习过程off-track. 检测方法:查看运行时日志,您应该查看每个迭代的损失值.您会注意 ...

最新文章

  1. public static void main(String[] args)的理解
  2. 实战scrapy-爬取红袖添香前20页小说
  3. 贪心算法——部分背包(洛谷 P2240)
  4. 2015大学计算机二级考试,2015年计算机二级考试模拟题(一)
  5. 在Linux上进行动态注入 | LD_PRELOAD
  6. 阿里云服务器ip:端口号无法访问
  7. ccd后视摄像头_预计2021年全球车载摄像头总出货将达到1.43亿颗
  8. Microsoft Dynamic CRM 自定义重复检测功能
  9. 苹果Mac删除windows后无法合并分区的简单解决方法
  10. java--实现j2cache二级缓存
  11. 零基础转行到IT,怎么选择适合的职业?
  12. php软件怎么使用方法,ps软件的日常使用方法有哪些?
  13. 使用VS+VisualGDB编译Linux版本RCF
  14. 【激励自己】牛人职场分享汇总
  15. win10电脑连接蓝牙请检查PIN并重新连接
  16. 一个变量命名神器:支持中文转变量名
  17. 【校园网故障】HTTP ERROP 502和DNS PROBE STARTED、DNS Probe Finished No Internet的解决方法
  18. 一文弄懂L0、L1和L2正则化范式
  19. ERROR: Could not find com.android.tools.build:gradle:3.5.0. Searched in the following locations:
  20. 【POJ No. 1256】 字谜 Anagram

热门文章

  1. 手机和工业计算机运算能力对比,手机CPU与电脑CPU的性能究竟差多少
  2. 牌上的花色-MUD中的玩家
  3. mysql千万数据迁移只需要简单的5步(导出,导入)
  4. 实习的那些岁月杂谈(一)
  5. ALOS全国12.5米精度数字高程DEM测试用数据下载地址
  6. Kafka Streams开发者指南
  7. java剧情游戏模拟器_java游戏模拟器-戎囤谆
  8. Google Cloud Spanner 究竟是什么?
  9. 大数据赋能交通业务管理——远眺智慧交通集成管控系统
  10. 杭州挂号网址及相关注意点