tensorflow之tensorboard
参考https://www.cnblogs.com/felixwang2/p/9184344.html
边学习,边练习
- # https://www.cnblogs.com/felixwang2/p/9184344.html
- # TensorFlow(七):tensorboard网络执行
- # MNIST数据集 手写数字
- import tensorflow as tf
- from tensorflow.examples.tutorials.mnist import input_data
- # 参数概要
- def variable_summaries(var):
- with tf.name_scope('summaries'):
- mean=tf.reduce_mean(var)
- tf.summary.scalar('mean',mean)# 平均值
- with tf.name_scope('stddev'):
- stddev=tf.sqrt(tf.reduce_mean(tf.square(var-mean)))
- tf.summary.scalar('stddev',stddev)# 标准差
- tf.summary.scalar('max',tf.reduce_max(var)) # 最大值
- tf.summary.scalar('min',tf.reduce_min(var)) # 最小值
- tf.summary.histogram('histogram',var) # 直方图
- # 载入数据集
- mnist=input_data.read_data_sets('MNIST_data',one_hot=True)
- # 每个批次的大小
- batch_size=100
- # 计算一共有多少个批次
- n_batch=mnist.train.num_examples//batch_size
- # 命名空间
- with tf.name_scope('input'):
- # 定义两个placeholder
- x=tf.placeholder(tf.float32,[None,784],name='x-input')
- y=tf.placeholder(tf.float32,[None,10],name='y-input')
- with tf.name_scope('layer'):
- # 创建一个简单的神经网络
- with tf.name_scope('wights'):
- W=tf.Variable(tf.zeros([784,10]),name='W')
- variable_summaries(W)
- with tf.name_scope('biases'):
- b=tf.Variable(tf.zeros([10]),name='b')
- variable_summaries(b)
- with tf.name_scope('wx_plus_b'):
- wx_plus_b=tf.matmul(x,W)+b
- with tf.name_scope('softmax'):
- prediction=tf.nn.softmax(wx_plus_b)
- with tf.name_scope('loss'):
- # 二次代价函数
- loss=tf.reduce_mean(tf.square(y-prediction))
- tf.summary.scalar('loss',loss) # 一个值就不用调用函数了
- with tf.name_scope('train'):
- # 使用梯度下降法
- train_step=tf.train.GradientDescentOptimizer(0.2).minimize(loss)
- # 初始化变量
- init=tf.global_variables_initializer()
- with tf.name_scope('accuracy'):
- with tf.name_scope('correct_prediction'):
- # 求最大值在哪个位置,结果存放在一个布尔值列表中
- correct_prediction=tf.equal(tf.argmax(y,1),tf.argmax(prediction,1))# argmax返回一维张量中最大值所在的位置
- with tf.name_scope('accuracy'):
- # 求准确率
- accuracy=tf.reduce_mean(tf.cast(correct_prediction,tf.float32)) # cast作用是将布尔值转换为浮点型。
- tf.summary.scalar('accuracy',accuracy) # 一个值就不用调用函数了
- # 合并所有的summary
- merged=tf.summary.merge_all()
- gpu_options = tf.GPUOptions(allow_growth=True)
- with tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) as sess:
- sess.run(init)
- writer=tf.summary.FileWriter('logs/',sess.graph) # 写入文件
- for epoch in range(10):
- for batch in range(n_batch):
- batch_xs,batch_ys=mnist.train.next_batch(batch_size)
- summary,_=sess.run([merged,train_step],feed_dict={x:batch_xs,y:batch_ys})
- # 添加样本点
- writer.add_summary(summary,epoch)
- #求准确率
- acc=sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels})
- print('Iter:'+str(epoch)+',Testing Accuracy:'+str(acc))
在命令窗口,使用命令 tensorboard --logdir=F:\document\spyder-py3\study_tensor\logs
生成一个地址可以查看训练中间数据
- PS F:\document\spyder-py3\study_tensor> tensorboard --logdir=F:\document\spyder-py3\study_tensor\logs
- f:\programdata\anaconda3\envs\py35\lib\site-packages\h5py\__init__.py:: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
- from ._conv import register_converters as _register_converters
- TensorBoard 1.10. at http://KOTIN:6006 (Press CTRL+C to quit)
在网页输入
- http://KOTIN:6006
或者输入- http://localhost:6006
就可以看到生成的状态图:
tensorflow之tensorboard的更多相关文章
- Tensorflow 笔记 -- tensorboard 的使用
Tensorflow 笔记 -- tensorboard 的使用 TensorFlow提供非常方便的可视化命令Tensorboard,先上代码 import tensorflow as tf a = ...
- Tensorflow 之 TensorBoard可视化Graph和Embeddings
windows下使用tensorboard tensorflow 官网上的例子程序都是针对Linux下的:文件路径需要更改 tensorflow1.1和1.3的启动方式不一样 :参考:Running ...
- 学习TensorFlow,TensorBoard可视化网络结构和参数
在学习深度网络框架的过程中,我们发现一个问题,就是如何输出各层网络参数,用于更好地理解,调试和优化网络?针对这个问题,TensorFlow开发了一个特别有用的可视化工具包:TensorBoard,既可 ...
- 学习笔记CB013: TensorFlow、TensorBoard、seq2seq
tensorflow基于图结构深度学习框架,内部通过session实现图和计算内核交互. tensorflow基本数学运算用法. import tensorflow as tf sess = tf.S ...
- 【Tensorflow】tensorboard
tbCallBack = tf.keras.callbacks.TensorBoard(log_dir='./log' , histogram_freq=0, write_graph=True, wr ...
- Windows系统,Tensorflow的Tensorboard工具细节问题
随着跟着TensorFlow视频学习,学到Tensorboard可视化工具这里的时候. 在windows,cmd里面运行,tensorboard --logdir=你logs文件夹地址 这行代码,一 ...
- 莫烦tensorflow(6)-tensorboard
import tensorflow as tfimport numpy as np def add_layer(inputs,in_size,out_size,n_layer,activation_f ...
- 基于TensorFlow进行TensorBoard可视化
# -*- coding: utf-8 -*- """ Created on Thu Nov 1 17:51:28 2018 @author: zhen "&q ...
- tensorflow 之tensorboard 对比不同超参数训练结果
我们通常使用tensorboard 统计我们的accurate ,loss等,并绘制曲线,通常是使用一次训练中的, 但是,机器学习中通常要对比不同的 ‘超参数’给模型训练和预测能力的不同这时候如何整合 ...
随机推荐
- Xshell5配置ssh免密码登录-公钥与私钥登录linux服务器(xshell如何登陆上阿里云服务器)
原文地址:https://blog.csdn.net/longgeaisisi/article/details/78680180 ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口 ...
- linux交互执行命令,expect
转载 http://donex.blog.51cto.com/2005970/834467 原文比较乱,只能参考 本地交互执行: 1. 修改shell#!/usr/bin/expectset USER ...
- EF的预先加载--Eager Loading
预先加载 在对一种类型的实体进行查询时,将相关的实体作为查询的一部分一起加载.预先加载可以使用Include()方法实现. 在此需要说明的是:EF中有两种表关联的方法,一种是Join()方法,一种是I ...
- JMeter压力测试,http请求压测,5分钟让你学会如何压测接口!
JMeter压力测试 官网:https://jmeter.apache.org 最新款的jmeter需要java8的支持,所以请自行安装jdk8.这里就不啰嗦了. 可以根据自己的系统下载zip或者是t ...
- json_encode中文不转义问题
//php5.3之后才有这个参数,这样存入数据库中的中文json数据就不会转义,也能被正确解析1JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字 256) JSON ...
- VC++编译选项
-优化- /O1 最小化空间 minimize space /Op[-] 改善浮点数一致性 improve floating-pt consistency /O2 最大化速度 maximize spe ...
- mysql(5):主从复制和分库分表
主从复制集群 概念:主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点. 使用场景: 读写分离:使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读 ...
- 使用 NuGet 包管理器在 Visual Studio 中安装和管理包
https://docs.microsoft.com/zh-cn/nuget/consume-packages/install-use-packages-visual-studio 通过 Window ...
- vscode中vim插件对ctrl键的设置
vim配置 在使用中经常想使用ctrl-c,虽然在vscode中有配置选项可以让vim与ctrl键解绑,但是这样就使用不了vim的VISUAL BLOCK.所以进行了自定义设置. 设置 - Vim C ...
- 题解【洛谷P2323】 [HNOI2006]公路修建问题
题面 题解 跑两遍\(Kruskal\),第一次找出\(k\)条一级公路,第二次找出\(n - k - 1\)条二级公路,直接计算\(MST\)的权值之和即可. 代码 #include <ios ...