tensorboard实现同时显示训练曲线和测试曲线
在做网络训练实验时,有时需要同时将训练曲线和测试曲线一起显示,便于观察网络训练效果。经过很多次踩坑后,终于解决了。
具体的方法是:设置两个writer,一个用于写训练的数据,一个用于写测试数据,并且这两个writer分别存在train和test路径中,注意测试的writer不能加sess.graph如下代码所示。
... train_log_dir = 'logs/train/' test_log_dir = 'logs/test/' # 两者路径不同 megred = tf.summary.merge_all() with tf.Session() as sess: writer_train = tf.summary.FileWriter(train_log_dir,sess.graph) writer_test = tf.summary.FileWriter(test_log_dir) # 注意此处不需要sess.graph ...other code... writer_train.add_summary(summary_str_train,step) writer_test.add_summary(summary_str_test,step)
此处贴一个使用mnist测试的图片,如图所示,在左下角可以通过test和train的选项卡选择查看哪条曲线。
以上这篇tensorboard实现同时显示训练曲线和测试曲线就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
我用的是Anaconda3 ,用spyder编写pytorch的代码,在Anaconda3中新建了一个pytorch的虚拟环境(虚拟环境的名字就叫pytorch). 以下内容仅供参考哦~~ 1.首先打开Anaconda Prompt,然后输入activate pytorch,进入pytorch. 2.输入pip install tensorboardX,安装完成后,输入python,用from tensorboardX import SummaryWriter检验是否安装成功.如下图所示: 3.
-
pytorch-神经网络拟合曲线实例
代码已经调通,跑出来的效果如下: # coding=gbk import torch import matplotlib.pyplot as plt from torch.autograd import Variable import torch.nn.functional as F ''' Pytorch是一个拥有强力GPU加速的张量和动态构建网络的库,其主要构建是张量,所以可以把PyTorch当做Numpy 来用,Pytorch的很多操作好比Numpy都是类似的,但是其能够在GPU上运行,所
-
pytorch-RNN进行回归曲线预测方式
任务 通过输入的sin曲线与预测出对应的cos曲线 #初始加载包 和定义参数 import torch from torch import nn import numpy as np import matplotlib.pyplot as plt torch.manual_seed(1) #为了可复现 #超参数设定 TIME_SETP=10 INPUT_SIZE=1 LR=0.02 DOWNLoad_MNIST=True 定义RNN网络结构 from torch.autograd import
-
Python通过TensorFLow进行线性模型训练原理与实现方法详解
本文实例讲述了Python通过TensorFLow进行线性模型训练原理与实现方法.分享给大家供大家参考,具体如下: 1.相关概念 例如要从一个线性分布的途中抽象出其y=kx+b的分布规律 特征是输入变量,即简单线性回归中的 x 变量.简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能会使用数百万个特征. 标签是我们要预测的事物,即简单线性回归中的 y 变量. 样本是指具体的数据实例.有标签样本是指具有{特征,标签}的数据,用于训练模型,总结规律.无标签样本只具有特征的数据x,通过
-
Tensorflow的可视化工具Tensorboard的初步使用详解
当使用Tensorflow训练大量深层的神经网络时,我们希望去跟踪神经网络的整个训练过程中的信息,比如迭代的过程中每一层参数是如何变化与分布的,比如每次循环参数更新后模型在测试集与训练集上的准确率是如何的,比如损失值的变化情况,等等.如果能在训练的过程中将一些信息加以记录并可视化得表现出来,是不是对我们探索模型有更深的帮助与理解呢? Tensorflow官方推出了可视化工具Tensorboard,可以帮助我们实现以上功能,它可以将模型训练过程中的各种数据汇总起来存在自定义的路径与日志文件中,然后
-
tensorboard实现同时显示训练曲线和测试曲线
在做网络训练实验时,有时需要同时将训练曲线和测试曲线一起显示,便于观察网络训练效果.经过很多次踩坑后,终于解决了. 具体的方法是:设置两个writer,一个用于写训练的数据,一个用于写测试数据,并且这两个writer分别存在train和test路径中,注意测试的writer不能加sess.graph如下代码所示. ... train_log_dir = 'logs/train/' test_log_dir = 'logs/test/' # 两者路径不同 megred = tf.summary.m
-
Keras使用tensorboard显示训练过程的实例
众所周知tensorflow造势虽大却很难用,因此推荐使用Keras,它缺省是基于tensorflow的,但通过修改keras.json也可以用于theano.但是为了能用tensorflow提供的tensorboard,因此建议仍基于tensorflow. 那么问题来了,由于Keras隐藏了tensorflow那令人诟病.可笑至极的graph构建方法,那么如何使用tensorboard呢?一般网站上会告诉你是这样的: 方法一(标准调用方法): 采用keras特有的fit()进行训练,只要在fi
-
Keras在训练期间可视化训练误差和测试误差实例
详细的解释,读者自行打开这个链接查看,我这里只把最重要的说下 fit() 方法会返回一个训练期间历史数据记录对象,包含 training error, training accuracy, validation error, validation accuracy 字段,如下打印 # list all data in history print(history.history.keys()) 完整代码 # Visualize training history from keras.models
-
python中如何实现将数据分成训练集与测试集的方法
接下来,直接给出大家响应的代码,并对每一行进行标注,希望能够帮到大家. 需要用到的是库是.numpy .sklearn. #导入相应的库(对数据库进行切分需要用到的库是sklearn.model_selection 中的 train_test_split) import numpy as np from sklearn.model_selection import train_test_split #首先,读取.CSV文件成矩阵的形式. my_matrix = np.loadtxt(open("
-
Python 实现训练集、测试集随机划分
随机从列表中取出元素: import random dataSet = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10]] trainDataSet = random.sample(dataSet, 3) 以下函数,使用于我最近的一个机器学习的项目,将数据集数据按照比例随机划分成训练集数据和测试集数据: import csv import random def getDataSet(proportion): """
-
Python绘制loss曲线和准确率曲线实例代码
目录 引言 一.数据读取与存储部分 二.绘制 loss 曲线 三.绘制准确率曲线 总结 引言 使用 python 绘制网络训练过程中的的 loss 曲线以及准确率变化曲线,这里的主要思想就时先把想要的损失值以及准确率值保存下来,保存到 .txt 文件中,待网络训练结束,我们再拿这存储的数据绘制各种曲线. 其大致步骤为:数据读取与存储 - > loss曲线绘制 - > 准确率曲线绘制 一.数据读取与存储部分 我们首先要得到训练时的数据,以损失值为例,网络每迭代一次都会产生相应的 loss,那么我
-
Python绘制牛奶冻曲线(高木曲线)案例
前言: 牛奶冻曲线(blancmange curve),因在1901年由高木贞治所研究,又称高木曲线. 在单位区间内,牛奶冻函数定义为: 分形曲线的轮廓会随着阶数的增多而填充细节,即对于下面的来说, N的变化会增添曲线的自相似特性 import numpy as np import matplotlib.pyplot as plt s = lambda x : np.min([x-np.floor(x), np.ceil(x)-x],0) x = np.arange(1000).reshape(
-
java分形绘制科赫雪花曲线(科赫曲线)代码分享
首先我们举个例子:我们可以看到西兰花一小簇是整个花簇的一个分支,而在不同尺度下它们具有自相似的外形.换句话说,较小的分支通过放大适当的比例后可以得到一个与整体几乎完全一致的花簇.因此我们可以说西兰花簇是一个分形的实例.分形一般有以下特质:在任意小的尺度上都能有精细的结构: 太不规则,以至难以用传统欧氏几何的语言描述: (至少是大略或任意地)自相似豪斯多夫维数会大於拓扑维数: 有著简单的递归定义.(i)分形集都具有任意小尺度下的比例细节,或者说它具有精细的结构.(ii)分形集不能用传统的几何语言来
-
keras训练曲线,混淆矩阵,CNN层输出可视化实例
训练曲线 def show_train_history(train_history, train_metrics, validation_metrics): plt.plot(train_history.history[train_metrics]) plt.plot(train_history.history[validation_metrics]) plt.title('Train History') plt.ylabel(train_metrics) plt.xlabel('Epoch')
随机推荐
- 深究AngularJS之ui-router详解
- Python利用递归和walk()遍历目录文件的方法示例
- 详解升级Android Studio3.0时遇到的几个问题
- OBLOG4.0 OBLOG4.5漏洞利用分析
- jQuery基于$.ajax设置移动端click超时处理方法
- javascript 面向对象思想 附源码
- 使用FlexiGrid实现Extjs表格效果方法分享
- ASP.NET 服务器路径和一般资源调用
- Javascript实现单张图片浏览
- Asp.Net 音频文件上传和播放代码
- Python中的集合类型知识讲解
- c#执行外部命令示例分享
- Android设置拍照或者上传本地图片的示例
- vue.js实例todoList项目
- 基于微信签名signature获取(实例讲解)
- 把字符串转为HtmlTable演示动画
- jQuery选择器及jquery案例详解(必看)
- 表单元素与非表单元素刷新区别详细解析
- JavaScript 利用StringBuffer类提升+=拼接字符串效率
- 微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)