在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抓取京东商城手机列表url实例代码
Dec 18 Python
Python编程中归并排序算法的实现步骤详解
May 04 Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 Python
创建pycharm的自定义python模板方法
May 23 Python
python3的数据类型及数据类型转换实例详解
Aug 20 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 Python
Python爬取股票信息,并可视化数据的示例
Sep 26 Python
Python包资源下载路径报404解决方案
Nov 05 Python
手把手教你用Django执行原生SQL的方法
Feb 18 Python
python re模块常见用法例举
Mar 01 Python
python中subplot大小的设置步骤
Jun 28 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 fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
javascript 装载iframe子页面,自适应高度
2009/03/20 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
JavaScript中split与join函数的进阶使用技巧
2016/05/03 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
详细介绍Python的鸭子类型
2016/09/12 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
2020/04/27 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
装饰活动策划方案
2014/02/11 职场文书
给孩子的新年寄语
2014/04/08 职场文书
护理目标管理责任书
2014/07/25 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
linux下安装redis图文详细步骤
2021/12/04 Redis
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android