在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 THREADING模块中的JOIN()方法深入理解
Feb 18 Python
用Python的Flask框架结合MySQL写一个内存监控程序
Nov 07 Python
Python基于pygame实现图片代替鼠标移动效果
Nov 11 Python
简单了解Python中的几种函数
Nov 03 Python
Python使用gRPC传输协议教程
Oct 16 Python
python爬虫 execjs安装配置及使用
Jul 30 Python
Python调用.NET库的方法步骤
Dec 27 Python
python实现录屏功能(亲测好用)
Mar 02 Python
如何把python项目部署到linux服务器
Aug 26 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
python多线程方法详解
Jan 18 Python
Python机器学习应用之基于线性判别模型的分类篇详解
Jan 18 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 Undefined index的问题
2009/06/01 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
Javascript 二维数组
2009/11/26 Javascript
在vs2010中调试javascript代码方法
2011/02/11 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
vue component组件使用方法详解
2017/07/14 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Python正则表达式介绍
2012/08/06 Python
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
对python调用RPC接口的实例详解
2019/01/03 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
wxPython实现带颜色的进度条
2019/11/19 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
CSS变量实现主题切换的方法
2021/06/23 HTML / CSS
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js