如何查看tensorflow 存储模型版本与存储位置

Tensorboard:
如何更直观的观察数据在神经网络中的变化,或是已经构建的神经网络的结构。上一篇文章说到,可以使用matplotlib第三方可视化,来进行一定程度上的可视化。然而Tensorflow也自带了可视化模块Tensorboard,并且能更直观的看见整个神经网络的结构。
上面的结构图甚至可以展开,变成:
with tensorflow .name_scope(layer_name):直接使用以上代码生成一个带可展开符号的一个域,并且支持嵌套操作:
with tf.name_scope(layer_name):
with tf.name_scope('weights'):节点一般是变量或常量,需要加一个“name=‘’”参数,才会展示和命名,如:
with tf.name_scope('weights'):
Weights = tf.Variable(tf.random_normal([in_size,out_size]))
结构图符号及意义:
变量则可使用Tensorflow.histogram_summary()方法:
tf.histogram_summary(layer_name+&/weights&,Weights) #name命名,Weights赋值
常量则可使用Tensorflow.scalar_summary()方法:
tf.scalar_summary('loss',loss) #命名和赋值
最后需要整合和存储SummaryWriter:
#合并到Summary中
merged = tf.merge_all_summaries()
#选定可视化存储目录
writer = tf.train.SummaryWriter(&/目录&,sess.graph)merged也是需要run的,因此还需要:
result = sess.run(merged) #merged也是需要run的
writer.add_summary(result,i)
运行后,会在相应的目录里生成一个文件,执行:
tensorboard --logdir=&/目录&会给出一段网址:
浏览器中打开这个网址即可,因为有兼容问题,firefox并不能很好的兼容,建议使用Chrome。
常量在Event中,结构图在Graphs中,变量在最后两个Tag中。
附项目代码:
项目承接自上一篇文章(已更新至最新Tensorflow版本API r1.2):
import tensorflow as tf &
import numpy as np &
def add_layer(inputs,in_size,out_size,n_layer,activation_function=None): #activation_function=None线性函数 &
& & layer_name=&layer%s& % n_layer &
& & with tf.name_scope(layer_name): &
& & & & with tf.name_scope('weights'): &
& & & & & & Weights = tf.Variable(tf.random_normal([in_size,out_size])) #Weight中都是随机变量 &
& & & & & & tf.summary.histogram(layer_name+&/weights&,Weights) #可视化观看变量 &
& & & & with tf.name_scope('biases'): &
& & & & & & biases = tf.Variable(tf.zeros([1,out_size])+0.1) #biases推荐初始值不为0 &
& & & & & & tf.summary.histogram(layer_name+&/biases&,biases) #可视化观看变量 &
& & & & with tf.name_scope('Wx_plus_b'): &
& & & & & & Wx_plus_b = tf.matmul(inputs,Weights)+biases #inputs*Weight+biases &
& & & & & & tf.summary.histogram(layer_name+&/Wx_plus_b&,Wx_plus_b) #可视化观看变量 &
& & & & if activation_function is None: &
& & & & & & outputs = Wx_plus_b &
& & & & else: &
& & & & & & outputs = activation_function(Wx_plus_b) &
& & & & tf.summary.histogram(layer_name+&/outputs&,outputs) #可视化观看变量 &
& & & & return outputs &
#创建数据x_data,y_data &
x_data = np.linspace(-1,1,300)[:,np.newaxis] #[-1,1]区间,300个单位,np.newaxis增加维度 &
noise = np.random.normal(0,0.05,x_data.shape) #噪点 &
y_data = np.square(x_data)-0.5+noise &
with tf.name_scope('inputs'): #结构化 &
& & xs = tf.placeholder(tf.float32,[None,1],name='x_input') &
& & ys = tf.placeholder(tf.float32,[None,1],name='y_input') &
#三层神经,输入层(1个神经元),隐藏层(10神经元),输出层(1个神经元) &
l1 = add_layer(xs,1,10,n_layer=1,activation_function=tf.nn.relu) #隐藏层 &
prediction = add_layer(l1,10,1,n_layer=2,activation_function=None) #输出层 &
#predition值与y_data差别 &
with tf.name_scope('loss'): &
& & loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1])) #square()平方,sum()求和,mean()平均值 &
& & tf.summary.scalar('loss',loss) #可视化观看常量 &
with tf.name_scope('train'): &
& & train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss) #0.1学习效率,minimize(loss)减小loss误差 &
init = tf.initialize_all_variables() &
sess = tf.Session() &
#合并到Summary中 &
merged = tf.summary.merge_all() &
#选定可视化存储目录 &
writer = tf.summary.FileWriter(&Desktop/&,sess.graph) &
sess.run(init) #先执行init &
#训练1k次 &
for i in range(1000): &
& & sess.run(train_step,feed_dict={xs:x_data,ys:y_data}) &
& & if i%50==0: &
& & & & result = sess.run(merged,feed_dict={xs:x_data,ys:y_data}) #merged也是需要run的 &
& & & & writer.add_summary(result,i) #result是summary类型的,需要放入writer中,i步数(x轴) &
本文已收录于以下专栏:
相关文章推荐
标签(空格分隔): 王小草Tensorflow笔记笔记整理者:王小草
笔记整理时间:日
代码原文请见github:当使用Tensorflow训练大量深层的神经网络时,我们希望去跟踪...
1. 找到运行程序的事件输出路径;如,我的实在 /home/yc/PycharmProjects/tensorFlow_learn/chapter_2/data,具体如下
2.打开tensorb...
人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..
安装Tensorflow的过程就不必说了,安装官网或者google一下,很多资源。
这次实验是在Iris数据集进行的,下载链接
代码如下:
import cv2
TensorBoard
TensorBoard的官网教程如下: 
https://www.tensorflow.org/versions/r0.7/how_tos/summaries_and_tens...
申明:暂且为初稿:
使用tf.scalar_summary来收集想要显示的变量定义一个summury op, 用来汇总多个变量得到一个summy writer,指定写入路径通过summary_...
撰写时间:网上关于这方面的教程很多,不过都偏向与如何整理图,就是通过增加命名域使得图变得好看.下面主要讲解如何搭建起来tensorboard.系统环境:ubuntu14.04,pyt...
可视化是深度学习神经网络开发、调试、应用中极为重要的手段。Tensorboard是Tensorflow提供的一个可视化工具,本文通过实际代码实验的方式说明使用TensorBoard实现记录变量,实现可...
在学习深度网络框架的过程中,我们发现一个问题,就是如何输出各层网络参数,用于更好地理解,调试和优化网络?针对这个问题,TensorFlow开发了一个特别有用的可视化工具包:TensorBoard,既可...
一.查看计算图谱1.添加summary到事件文件summary是总结,概要的意思,放在tensorflow这里其实就是把你的网络的一些信息当成summary,理解起来并不难。实现起来也不难,tenso...
他的最新文章
讲师:董西成
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》编辑/记者,投稿&纠错等事宜请致邮
你只管努力,剩下的交给时光!
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:。个人QQ群:、
人生得意须尽欢,莫使金樽空对月。
日,Google发布人工智能系统TensorFlow并宣布开源,同日,极客学院组织在线TensorFlow中文文档翻译。一个月后,30章文档全部翻译校对完成,上线并提供电子书下载,该文档的上线为国内外使用中文学习TensorFlow的工程及研究人员提供了更快的访问速度和更好的阅读体验,助力中国AI技术与世界同步。在线阅读地址为: 众所周知,人工智能将是未来发展的大方向,从国家到全球科技领域对此都非常重视。我国的『十三五规划』中明确指出要实施智能制造工程;全球科技巨头也积极在人工智能领域布局,市场前景非常广阔。Google开发的人工智能系统尽管不是市面上唯一的开发框架,但Google的开发能力是强大的,如同之前的Android系统、Map Reduce技术一样,其强大的影响力可以引领一个领域的发展。尽管Tensorflow的官方版教程已经发布,但全英文的教程叙述难免让国内的研究人员阅读起来有些费力,且个人理解不同会造成使用时的不方便,翻译成中文上线发布,不但方便学习者理解,还解决了访问速度的问题。本次翻译采取的是互联网开源协作翻译的模式,由组织者整理出所有章节的英文原文并制定翻译规则,译者主动申请认领翻译和校对。短短一周内,所有翻译章节认领完毕,GitHub上Star达361,截止今日,Star已超500,在GitHub库中搜索TensorFlow,该翻译项目排名第二,仅次于Google TensorFlow官网开源库。较之普通的编程语言类翻译,该翻译对译者和校对人员的语言功底和背景知识要求更高,同时也有一批国内AI爱好者借助此项目聚集起来,共同讨论研究。Google TensorFlow项目负责人Jeff Dean为该中文翻译项目回信称:”看到能够将TensorFlow翻译成中文我非常激动,我们将TensorFlow开源的主要原因之一是为了让全世界的人们能够从机器学习与人工智能中获益,类似这样的协作翻译能够让更多的人更容易地接触到TensorFlow项目,很期待接下来该项目在全球范围内的应用!”据了解,组织此次翻译的极客学院Wiki团队曾多次全国首发最新IT技术的中文翻译,今年7月份以来已上线包括《Material Design中文版》、《Bootstrap4 中文文档》、《React Native for Android中文文档》以及《Android Weekly中文版》等多个IT前沿技术的中文翻译。极客学院Wiki团队称,今后将持续关注TensorFlow、AI领域以及其它最新技术的发展,持续维护该协作翻译,持续提供更多更优质的内容,也欢迎大家加入极客学院Wiki团队,一起为中国的IT技术发展做出贡献,服务更多的IT学习者!相信随着人工智能在国内的快速发展,TensorFlow等开源技术会有更多的学习者与研究者,在不久的将来,中国的人工智能将会迎来不可限量的发展前景!PS:在此感谢所有参与翻译和校对的参与者,特别感谢GitHub ID为PFZheng,lonlonago,volvet以及恩泽(longmotto)等同学的大力支持和付出。中国领先的IT技术网站
51CTO旗下网站
TensorFlow 安装教程
tensorflow是属于很高层的应用。高层应用的一个比较大的麻烦就是需要依赖的底层的东西很多,如果底层依赖没有弄好的话,高层应用是没法玩转的。
作者:王蕾| 20:52
一、准备Anaconda环境
tensorflow是属于很高层的应用。高层应用的一个比较大的麻烦就是需要依赖的底层的东西很多,如果底层依赖没有弄好的话,高层应用是没法玩转的。
在极客学院有关tensorflow的教程中,提到了这样几种安装方式:Pip, Docker, Virtualenv, Anaconda 或
源码编译的方法安装
TensorFlow。在这里,我强烈推荐大家使用Anaconda的方式安装!因为采用这种方式安装的时候,相当于将所有的底层依赖细节全部已经打包给封装好了!并且,Anaconda还能创建自己的计算环境,相当于将tensorflow的环境与其他环境做了隔离,这样你就可以将tensorflow随便玩,爱怎么玩怎么玩,也不用担心破坏之前的环境!
如果是玩数据玩ML的同学,如果你还不知道Anaconda,你就out啦!Anaconda是一个基于python的科学计算平台,这个平台里包含有python,r,scala等绝大部分主流的用于科学计算的包。
1、原生python的不方便
作为一个数据与算法工作者,Python的使用频率很高。现阶段python做科学计算的标配是numpy+scipy+matplotlib+sklearn+pandas。可惜的是,原生的python是不带这些包的。于是,每次遇到一个新机器,需要安装这些包。更可气的是,昨晚为了在新机器上安装sklearn,足足花了两小时。作为一个搭建了无数次科学计算环境的老司机还遇到这种情况,估计新手们就更无比郁闷了。于是老司机就想,有没有一个东西把所有常用的科学计算工具都集成好,这样就省了每次搭环境的天坑。。。google一把,发现了这个主角:Anaconda。
2.先看看Anaconda
Anaconda:蟒蛇,估计来源就是python logo里那条可爱的小蟒蛇吧。
mac版下载地址:https://www.continuum.io/downloads#_macosx
看看官网首页是怎么介绍的:
Anaconda is the leading open data science platform powered by Python. The
open source version of Anaconda is a high performance distribution of Python and
R and includes over 100 of the most popular Python, R and Scala packages for
data science. Additionally, you&ll have access to over 720 packages that can
easily be installed with conda, our renowned package, dependency and environment
manager, that is included in Anaconda. Anaconda is BSD licensed which gives you
permission to use Anaconda commercially and for redistribution. See the packages
included with Anaconda and the Anaconda changelog.
通过上面这段牛逼闪闪的介绍,我们知道Anaconda是一个基于python的科学计算平台,这个平台里包含有python,r,scala等绝大部分主流的用于科学计算的包。
接下来自然就是开始下载了。因为集成有很多牛逼科学计算包的缘故,所以安装包自然也小不了,比如我下载的mac版就有360M。那就慢慢下着吧。还好网络虽然不是很快,好歹还是稳定的,能到一两百k,一个小时左右能下完。
3.安装配置
下载完成以后,跟mac里安装普通软件一样,双击安装即可。
安装完以后,开始进行相应的配置。因为我平时使用eclipse开发,正好官网都贴心地给出了在IDE里怎么配置使用,里面就有eclipse,前提是eclipse已经安装了pydev插件。
以下eclipse配置方法来自官网:
After you have Eclipse, PyDev, and Anaconda installed, follow these steps to
set Anaconda Python as your default by adding it as a new interpreter, and then
selecting that new interpreter:
Open the Eclipse Preferences window:
Go to PyDev -& Interpreters -& Python Interpreter.
Click the New button:
In the &Interpreter Name& box, type &Anaconda Python&.
Browse to ~/anaconda/bin/python or wherever your Anaconda Python is
installed.
Click the OK button.
In the next window, select all the folders and click the OK button again to
select the folders to add to the SYSTEM python path.
The Python Interpreters window will now display Anaconda Python. Click
You are now ready to use Anaconda Python with your Eclipse and PyDev
installation.
4.查看Anaconda的基本用法
配置完成以后,查看一下此时系统的python:
此时,系统默认的python已经变成了Anaconda的版本!
为什么会这样呢?原来是安装过程中,偷偷给我们在home目录下生成了一个.bashrc_profile文件,并在里面加入了PATH:
所以这个时候我们的bash里使用python的话,已经指向了anaconda里的python解释器。
如果使用的不是mac的标准bash,而是zsh,不用着急,将上面一行配置复制粘贴到.zshrc文件中,然后source一下.zshrc文件即可!
执行一下conda命令:
信息太长了,后面的部分就不列举了。不过看到前面这部分选项,就已经足够让我们兴奋了:基本的list,search,install,upgrade,uninstall等功能都包含,说明我们可以向apt-get一样方便管理python的各种依赖了。。。
先list一下,查看里面都带了哪些牛的科学计算包:
好吧,至少我常用的都已经在这了。太方便了。
5.写个demo测试一下sklearn
为了测试一下是不是真像传说中那么好用,从网络上现找了部分简单的测试代码:
让代码run起来,得到如下结果:
好吧,sklearn表现正常,能正常输出预期结果。看来,Anaconda确实是为搞算法与数据的同志们提供了一个非常好的工具,省去了我们各种搭环境找依赖包的烦恼!
二、.建立名叫tensorflow的计算环境
Anaconda的环境准备好了以后,接下来我们建立一个conda的计算环境,给这个环境取名叫tensorflow:
因为我们的版本是2.7,所以执行上面的命令。
GFW只要是个英文网站就给墙了。无奈地将上述命令重试。终于,重试了n次以后,搞定了 !
三、激活tensorflow环境 用pip安装TensorFlow
第二步成功以后,先激活tensorflow环境。
然后界面华丽丽地就变成了这样:
用户名前有(tensorflow)的标识。我们这样切换,实际上是更换了环境变量里的pip和python。切换到tensorflow的计算环境以后,然后开始用pip安装:
当然上面的命令对应的是python2.7,系统为macos,cpu
only。根据tensorflow官方提供的资料,不同的系统与不同的版本命令如下:
pytho3.x:
命令提交以后,你唯一能做的就是等待了。
还好这次不用重试n次,一次搞定:
至此,tensorflow算是安装OK了!
四、简单测试是否安装成功
测试过程很简单,直接上图:
表现良好!给自己鼓个掌!
五、集成到IDE里
如果我们要写大家伙,一般会用IDE。将tensorflow集成到IDE里,步骤也很简单。以IntelliJ为例,跟创建普通项目唯一的区别就是,创建普通项目的时候我们的Module
SDK选项是系统默认的python解释器。如果我们想要使用tensorflow的相关代码,将Module
SDK换为刚刚我们新建的tensorflow计算环境即可!
贴个图,大伙就懂了:
六、值得注意的几个小点
1.强烈推荐使用Anaconda环境安装,真的不是一般的简单方便。
2.梯子,还是梯子,不解释。
3.激活与退出tensorflow计算环境:
【本文是51CTO专栏&小米开放平台&原创文章,&小米开放平台&微信公众号xiaomideveloper】
【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
小米开放平台()
本周排行本月排行
讲师:226672人学习过
讲师:119828人学习过
讲师:153409人学习过

我要回帖

更多关于 tensorflow gpu版本 的文章

 

随机推荐