在tensorflow下利用plt画论文中loss,acc等曲线图实例


Posted in Python onJune 15, 2020

直接上代码:

fig_loss = np.zeros([n_epoch])
fig_acc1 = np.zeros([n_epoch])
fig_acc2= np.zeros([n_epoch])
for epoch in range(n_epoch):
 start_time = time.time()

 #training
 train_loss, train_acc, n_batch = 0, 0, 0
 for x_train_a, y_train_a in minibatches(x_train, y_train, batch_size, shuffle=True):
  _,err,ac=sess.run([train_op,loss,acc], feed_dict={x: x_train_a, y_: y_train_a})
  train_loss += err; train_acc += ac; n_batch += 1

  summary_str = sess.run(merged_summary_op,feed_dict={x: x_train_a, y_: y_train_a})
  summary_writer.add_summary(summary_str, epoch)

 print(" train loss: %f" % (np.sum(train_loss)/ n_batch))
 print(" train acc: %f" % (np.sum(train_acc)/ n_batch))
 fig_loss[epoch] = np.sum(train_loss)/ n_batch
 fig_acc1[epoch] = np.sum(train_acc) / n_batch
 #validation
 val_loss, val_acc, n_batch = 0, 0, 0
 for x_val_a, y_val_a in minibatches(x_val, y_val, batch_size, shuffle=False):
  err, ac = sess.run([loss,acc], feed_dict={x: x_val_a, y_: y_val_a})
  val_loss += err; val_acc += ac; n_batch += 1
 print(" validation loss: %f" % (np.sum(val_loss)/ n_batch))
 print(" validation acc: %f" % (np.sum(val_acc)/ n_batch))
 fig_acc2[epoch] = np.sum(val_acc) / n_batch
# 训练loss图
fig, ax1 = plt.subplots()
lns1 = ax1.plot(np.arange(n_epoch), fig_loss, label="Loss")
ax1.set_xlabel('iteration')
ax1.set_ylabel('training loss')

# 训练和验证两种准确率曲线图放在一张图中
fig2, ax2 = plt.subplots()
ax3 = ax2.twinx()#由ax2图生成ax3图
lns2 = ax2.plot(np.arange(n_epoch), fig_acc1, label="Loss")
lns3 = ax3.plot(np.arange(n_epoch), fig_acc2, label="Loss")

ax2.set_xlabel('iteration')
ax2.set_ylabel('training acc')
ax3.set_ylabel('val acc')
 # 合并图例
lns = lns3 + lns2
labels = ["train acc", "val acc"]
plt.legend(lns, labels, loc=7)

plt.show()

结果:

在tensorflow下利用plt画论文中loss,acc等曲线图实例

在tensorflow下利用plt画论文中loss,acc等曲线图实例

补充知识:tensorflow2.x实时绘制训练时的损失和准确率

我就废话不多说了,大家还是直接看代码吧!

sgd = SGD(lr=float(model_value[3]), decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
# validation_split:0~1之间的浮点数,用来指定训练集的一定比例数据作为验证集
history=model.fit(self.x_train, self.y_train, batch_size=self.batch_size, epochs=self.epoch_size, class_weight = 'auto', validation_split=0.1)
# 绘制训练 & 验证的准确率值
plt.plot(history.history['accuracy'])
plt.plot(history.history['val_accuracy'])
plt.title('Model accuracy')
plt.ylabel('Accuracy')
plt.xlabel('Epoch')
plt.legend(['Train', 'Test'], loc='upper left')
plt.show()
 
# 绘制训练 & 验证的损失值
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('Model loss')
plt.ylabel('Loss')
plt.xlabel('Epoch')
plt.legend(['Train', 'Test'], loc='upper left')
plt.show()
print("savemodel---------------")
model.save(os.path.join(model_value[0],'model3_3.h5'))
#输出损失和精确度
score = model.evaluate(self.x_test, self.y_test, batch_size=self.batch_size)

以上这篇在tensorflow下利用plt画论文中loss,acc等曲线图实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中super函数的用法
Nov 17 Python
python实现简易动态时钟
Nov 19 Python
python实现连续图文识别
Dec 18 Python
Python 通过打码平台实现验证码的实现
May 13 Python
Django框架使用内置方法实现登录功能详解
Jun 12 Python
python里dict变成list实例方法
Jun 26 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
Python封装成可带参数的EXE安装包实例
Aug 24 Python
Pyqt5自适应布局实例
Dec 13 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
Mar 09 Python
Python判断远程服务器上Excel文件是否被人打开的方法
Jul 13 Python
python性能测试工具locust的使用
Dec 28 Python
python中元组的用法整理
Jun 15 #Python
详解Python设计模式之策略模式
Jun 15 #Python
python能做哪方面的工作
Jun 15 #Python
python实现二分类和多分类的ROC曲线教程
Jun 15 #Python
python属于解释型语言么
Jun 15 #Python
python要安装在哪个盘
Jun 15 #Python
python中wheel的用法整理
Jun 15 #Python
You might like
Symfony2函数用法实例分析
2016/03/18 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
解析js如何获取当前url中的参数值并复制给input
2013/06/23 Javascript
使用js实现雪花飘落效果
2013/08/26 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
Js apply方法详解
2017/02/16 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
node.js中axios使用心得总结
2017/11/29 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
用JS实现选项卡
2020/03/23 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
Python中的连接符(+、+=)示例详解
2017/01/13 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
laravel使用redis队列实例讲解
2021/03/23 PHP
自我评价范文分享
2014/01/04 职场文书
违反校纪校规检讨书
2014/02/15 职场文书
《大自然的语言》教学反思
2014/04/08 职场文书
小学节能减排倡议书
2014/05/15 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
入党积极分子个人总结
2015/03/02 职场文书
小学班主任自我评价
2015/03/11 职场文书
党小组考察意见
2015/06/02 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
Pandas搭配lambda组合使用详解
2022/01/22 Python