TensorBoard小白入门一

前提:

使用自己的笔记本电脑远程控制服务器,使用tensorboard可视化显示数据
安装:已安装Tensorflow-gpu和TensorBoard

安装和启动的过程

1.写程序tensorboard.py,生成.py文件

import tensorflow as tf
import os
import shutil
import numpy as np
config  = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)

"""TensorBoard 简单例子。
tf.summary.scalar('var_name', var)        # 记录标量的变化
tf.summary.histogram('vec_name', vec)     # 记录向量或者矩阵,tensor的数值分布变化。

merged = tf.summary.merge_all()           # 把所有的记录并把他们写到 log_dir 中
train_writer = tf.summary.FileWriter(log_dir + '/train', sess.graph)  # 保存位置
test_writer = tf.summary.FileWriter(log_dir + '/test', sess.graph)
运行完后,在命令行中输入 tensorboard --logdir=log_dir_path(你保存到log路径)
"""

log_dir = 'summary/graph2/'
if os.path.exists(log_dir):   # 删掉以前的summary,以免重合
    shutil.rmtree(log_dir)
os.makedirs(log_dir)
print 'created log_dir path'

a = tf.placeholder(dtype=tf.float32, shape=[100,1], name='a')

with tf.name_scope('add_example'):
    b = tf.Variable(tf.truncated_normal([100,1], mean=-0.5, stddev=1.0), name='var_b')
    tf.summary.histogram('b_hist', b)
    increase_b = tf.assign(b, b + 0.2)
    c = tf.add(a, b)
    tf.summary.histogram('c_hist', c)
    c_mean = tf.reduce_mean(c)
    tf.summary.scalar('c_mean', c_mean)
merged = tf.summary.merge_all()
train_writer = tf.summary.FileWriter(log_dir + '/train', sess.graph)  # 保存位置
test_writer = tf.summary.FileWriter(log_dir + '/test', sess.graph)


sess.run(tf.global_variables_initializer())
for step in xrange(500):
    if (step+1) % 10 == 0:
        _a = np.random.randn(100,1)
        summary, _ = sess.run([merged, increase_b], feed_dict={a: _a})    # 每步改变一次 b 的值
        test_writer.add_summary(summary, step)
    else:
        _a = np.random.randn(100,1) + step*0.2
        summary, _ = sess.run([merged, increase_b], feed_dict={a: _a})    # 每步改变一次 b 的值
        train_writer.add_summary(summary, step)
train_writer.close()
test_writer.close()
print('END!')

程序运行完成:

created log_dir path
END!
在summery的文件夹下,运行tensorboard --logdir=graph2/

出现了以下错误:

(tensorflow2.7) [zoe@215 ~]$ tensorboard --logdir=graph2/
Traceback (most recent call last):
  File "/home/Zoe/anaconda2/envs/tensorflow2.7/bin/tensorboard", line 7, in <module>
    from tensorboard.main import run_main
  File "/home/Zoe/anaconda2/envs/tensorflow2.7/lib/python2.7/site-packages/tensorboard/main.py", line 40, in <module>
    from tensorboard import default
  File "/home/Zoe/anaconda2/envs/tensorflow2.7/lib/python2.7/site-packages/tensorboard/default.py", line 37, in <module>
    from tensorboard.plugins.audio import audio_plugin
  File "/home/Zoe/anaconda2/envs/tensorflow2.7/lib/python2.7/site-packages/tensorboard/plugins/audio/audio_plugin.py", line 30, in <module>
    from tensorboard.plugins.audio import metadata
  File "/home/Zoe/anaconda2/envs/tensorflow2.7/lib/python2.7/site-packages/tensorboard/plugins/audio/metadata.py", line 22, in <module>
    from tensorboard.plugins.audio import plugin_data_pb2
  File "/home/Zoe/anaconda2/envs/tensorflow2.7/lib/python2.7/site-packages/tensorboard/plugins/audio/plugin_data_pb2.py", line 22, in <module>
    serialized_pb=_b('\n+tensorboard/plugins/audio/plugin_data.proto\x12\x0btensorboard\"}\n\x0f\x41udioPluginData\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x37\n\x08\x65ncoding\x18\x02 \x01(\x0e\x32%.tensorboard.AudioPluginData.Encoding\" \n\x08\x45ncoding\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03WAV\x10\x0b\x62\x06proto3')
TypeError: __new__() got an unexpected keyword argument 'serialized_options'

目前还不知道是什么原因造成的
解决方法:
在tensorboard的安装包下运行
首先tensorboard的安装包,在tensorflow的安装包下,找到其路径为:/home/Zoe/anaconda2/envs/tensorflow2.7/lib/python2.7/site-packages/tensorflow/tensorboard
在这个路径下运行

(tensorflow2.7) [zoe@215 tensorboard]$ python tensorboard.py --logdir=//home//Zoe//Documents//test//summary//graph2//
Starting TensorBoard 47 at http://0.0.0.0:6006
(Press CTRL+C to quit)
在本机网页中输入http://0.0.0.0:6006时,显示无法打开页面

原因:使用本机电脑,远程操作的服务器,但是,所开的端口是服务器上的端口,需要将服务器中的端口,转发到本机的电脑上。
$ ssh -L 16006:127.0.0.1:6006 user@hostname
在连接SSH时创建端口转发,浏览器输入 127.0.0.1:16006就可以了。

原理:建立ssh隧道,实现远程端口到本地端口的转发 具体来说就是将远程服务器的6006端口(tensorboard默认将数据放在6006端口)转发到本地的16006端口,在本地对16006端口的访问即是对远程6006端口的访问,当然,转发到本地某一端口不是限定的,可自由选择。
最后,完成


tensorboard可视化.png

在浏览器中输入的时候,终于出现了TensorBoard的网页。但是,在数据显的地方,却报错如下。


No scalar data was found.jpg

原因:显示 “No scalar data was found”等信息,说明未正确打开记录文件。
返回查看文件的路径:
(1)路径python tensorboard.py --logdir=//home//Zoe//Documents//test//summary//graph2//,是否书写正确
(2)需要将logdir路径中的/,替换为//
问题既可解决


参考链接:
启动TensorBoard
TensorBoard以及远程访问(ssh端口转发)
TensorBoard 可视化 不显示数据问题 No scalar data was found...
TensorFlow-使用Tensorboard实现神经网络可视化
TensorBoard: 图表可视化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容