在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对数组进行反转的方法
May 20 Python
Python中的ctime()方法使用教程
May 22 Python
Python变量和字符串详解
Apr 29 Python
浅谈python中的数字类型与处理工具
Aug 02 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
python中pika模块问题的深入探究
Oct 13 Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 Python
pandas数据筛选和csv操作的实现方法
Jul 02 Python
使用TFRecord存取多个数据案例
Feb 17 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 Python
PyTorch-GPU加速实例
Jun 23 Python
python实现计算图形面积
Feb 22 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中strtotime函数使用方法详解
2011/11/27 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
php输入数据统一类实例
2015/02/23 PHP
PHP线程的内存回收问题
2016/07/08 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
kmock javascript 单元测试代码
2011/02/06 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
angular inputNumber指令输入框只能输入数字的实现
2019/12/03 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
python获取局域网占带宽最大3个ip的方法
2015/07/09 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
Python reduce()函数的用法小结
2017/11/15 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
Django框架 信号调度原理解析
2019/09/04 Python
基于Python绘制个人足迹地图
2020/06/01 Python
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
软件生产职位结构化面试主要考察要素及面试题库
2015/06/12 面试题
远程教育心得体会
2014/01/03 职场文书