在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实现利用163邮箱远程关电脑脚本
Feb 22 Python
Python paramiko模块的使用示例
Apr 11 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 Python
python中matplotlib条件背景颜色的实现
Sep 02 Python
python 三元运算符使用解析
Sep 16 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 Python
python实现图像外边界跟踪操作
Jul 13 Python
python关于倒排列的知识点总结
Oct 13 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转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
PHP5函数小全(分享)
2013/06/06 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
Javascript实现DIV滚动自动滚动到底部的代码
2012/03/01 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
JS如何定义用字符串拼接的变量
2020/07/11 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
2020/11/19 Vue.js
vuex的使用和简易实现
2021/01/07 Vue.js
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
浅谈python中set使用
2016/06/30 Python
Python中偏函数用法示例
2018/06/07 Python
实例讲解python中的协程
2018/10/08 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
CSS3弹性布局内容对齐(justify-content)属性使用详解
2017/07/31 HTML / CSS
Static Nested Class 和 Inner Class的不同
2013/11/28 面试题
焊接专业毕业生求职信
2013/10/01 职场文书
老总助理工作岗位职责
2014/02/06 职场文书
冰淇淋店的创业计划书
2014/02/07 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
销售内勤岗位职责
2015/02/10 职场文书
初中政治教师教学反思
2016/02/23 职场文书
python 中的@运算符使用
2021/05/26 Python