在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的print用法示例
Feb 11 Python
讲解Python中的标识运算符
May 14 Python
Python常用算法学习基础教程
Apr 13 Python
如何优雅地改进Django中的模板碎片缓存详解
Jul 04 Python
python如何将两个txt文件内容合并
Oct 18 Python
关于Flask项目无法使用公网IP访问的解决方式
Nov 19 Python
Python的形参和实参使用方式
Dec 24 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 Python
python中执行smtplib失败的处理方法
Jul 01 Python
Python 如何定义匿名或内联函数
Aug 01 Python
Python 把两层列表展开平铺成一层(5种实现方式)
Apr 07 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 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循环获取GET和POST值的代码
2008/04/09 PHP
php面向对象全攻略 (五) 封装性
2009/09/30 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
php中session使用示例
2014/03/29 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
Extjs学习笔记之七 布局
2010/01/08 Javascript
jquery异步循环获取功能实现代码
2010/09/19 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
Python Deque 模块使用详解
2014/07/04 Python
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
python selenium登录豆瓣网过程解析
2019/08/10 Python
pytorch 加载(.pth)格式的模型实例
2019/08/20 Python
Python3实现配置文件差异对比脚本
2019/11/18 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
中层干部培训方案
2014/06/16 职场文书
银行业务授权委托书
2014/10/10 职场文书
小班上学期幼儿评语
2014/12/30 职场文书
服务员岗位职责范本
2015/04/09 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
详解Python牛顿插值法
2021/05/11 Python
利用Python多线程实现图片下载器
2022/03/25 Python