在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多进程操作实例
Nov 21 Python
Python的Flask框架应用调用Redis队列数据的方法
Jun 06 Python
Python使用修饰器执行函数的参数检查功能示例
Sep 26 Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 Python
浅谈pycharm下找不到sqlalchemy的问题
Dec 03 Python
用python3 urllib破解有道翻译反爬虫机制详解
Aug 14 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
python Qt5实现窗体跟踪鼠标移动
Dec 13 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
Mar 24 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
Jun 28 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
May 17 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
微信小程序methods中定义的方法互相调用的实例代码
2018/08/07 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
Python单元测试简单示例
2018/07/03 Python
Python的互斥锁与信号量详解
2019/09/12 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
CSS3制作炫酷带方向感应的鼠标滑过图片3D动画
2016/03/16 HTML / CSS
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
XD健身器材:Kevlar球、Crossfit健身球
2019/03/26 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
土木工程毕业生自荐信
2013/11/12 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
挂职学习心得体会
2014/09/09 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
居安思危观后感
2015/06/11 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
MySQL中日期型单行函数代码详解
2021/06/21 MySQL