在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中的正则表达式
Apr 28 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
Python列出一个文件夹及其子目录的所有文件
Jun 30 Python
python3之微信文章爬虫实例讲解
Jul 12 Python
有趣的python小程序分享
Dec 05 Python
python中的字符串内部换行方法
Jul 19 Python
Python wxpython模块响应鼠标拖动事件操作示例
Aug 23 Python
python2与python3的print及字符串格式化小结
Nov 30 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
Python tkinter模版代码实例
Feb 05 Python
python实现画图工具
Aug 27 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
Dec 08 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
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
javascript下查找父节点的简单方法
2007/08/13 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
每天一篇javascript学习小结(Boolean对象)
2015/11/12 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
Python骚操作之动态定义函数
2019/03/26 Python
python 连续不等式语法糖实例
2020/04/15 Python
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
维多利亚的秘密官方网站:Victoria’s Secret
2018/10/24 全球购物
财务主管自我鉴定
2014/01/17 职场文书
好矿嫂事迹材料
2014/01/21 职场文书
环保项目建议书
2014/08/26 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
转正申请报告格式
2015/05/15 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏