在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连接mysql调用存储过程示例
Mar 05 Python
python time模块用法实例详解
Sep 11 Python
Python实现简单截取中文字符串的方法
Jun 15 Python
Python爬取商家联系电话以及各种数据的方法
Nov 10 Python
Ubuntu18.04下python版本完美切换的解决方法
Jun 14 Python
Python 使用matplotlib模块模拟掷骰子
Aug 08 Python
python如何将多个PDF进行合并
Aug 13 Python
python中的itertools的使用详解
Jan 13 Python
基于SpringBoot构造器注入循环依赖及解决方式
Apr 26 Python
python numpy实现rolling滚动案例
Jun 08 Python
python实现简易版学生成绩管理系统
Jun 22 Python
python的setattr函数实例用法
Dec 16 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的面试题集
2006/11/19 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
PHP的伪随机数与真随机数详解
2015/05/27 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
JavaScript prototype属性深入介绍
2012/11/27 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
微信小程序之网络请求简单封装实例详解
2017/06/28 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
Django logging配置及使用详解
2019/07/23 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
外语系毕业生找工作的求职信
2013/11/28 职场文书
农村婚礼证婚词
2014/01/10 职场文书
2014年党委工作总结
2014/11/22 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
python基础之匿名函数详解
2021/04/21 Python
MySQL 逻辑备份与恢复测试的相关总结
2021/05/14 MySQL