怎么使用tensorboard

 

简介:

tensorboard是一个查看神经网络模型的可视化工具,功能强大,还可以查看训练的准确率、损失等。

 

1.tensorboard看tfevents文件

根据这个网址的最后部分,我们训练得出来的ckpt.meta文件或是pb文件可以通过下面2、3小节的那两个py代码转成tfevents文件,然后用tensorboard可视化。

 

打开cmd,然后通过cd命令到达你的工程目录下,之后输入:

tensorboard --logdir=training:你的tfevents路径\

这个training:可以去掉,如果你去掉后打得开tensorboard的话。

注意这里除了tensorboard和--logdir之间允许有空格之外,其他地方不允许有空格,比如你这样写:

tensorboard --logdir = log(假如你的tfevents在log文件夹下),就会无法读取。

FAQ:为什么要到达你的工程目录下?因为cmd是默认在c盘打开,而调用tensorboard要求你的cmd当前所在路径与tfevents文件在同一个磁盘上。而且输入你的tfevents路径时最好最后带上\符号:,像下面这样可能打不开tensorboard:

tensorboard --logdir=training:F:\log

所以我一般先用dos命令cd转到tfevents的目录后直接:

tensorboard --logdir=training:./

也可以不写等于号,即写为:

tensorboard --logdir training:你的tfevents路径\

然后你的命令行窗口会输出一个网址:http://localhost:6006

复制后在浏览器中打开,看到报错:No scalar data was found,点击GRAPH那一栏就可以了。

如果网址无法打开的话,点击这个SCALARS按钮。

2.ckpt.meta和pb文件转log后用tensorboard可视化

2.1可视化ckpt.meta文件

2.1.1使用这个tensorboard_read_meta.py代码从ckpt.meta文件中恢复计算图

import tensorflow as tf
from tensorflow.python.platform import gfile
#这是从文件格式的meta文件加载模型,然后生成events.out.tfevents在log目录下。就是把训练成的模型结构以图的形式保存,可以用tensorboard
# 来查看

graph = tf.get_default_graph()
graphdef = graph.as_graph_def()
# graphdef.ParseFromString(gfile.FastGFile("/data/TensorFlowAndroidMNIST/app/src/main/expert-graph.pb", "rb").read())
# _ = tf.import_graph_def(graphdef, name="")
_ = tf.train.import_meta_graph("./quickdraw_model/model.ckpt-100000.meta")
summary_write = tf.summary.FileWriter("./log", graph)

2.1.2命令行运行里执行
tensorboard --logdir log/ #这里的路径就是1中最后一行图保存的路径,请根据自己的需要更改

2.1.3 在浏览器输入:http://localhost:6006/

打开后,记得点击GRAPHS按钮,否则页面一直停留在SCALA:

2.2可视化pb文件法1

2.2参考

2.2.1从pb文件中恢复计算图

import tensorflow as tf

model = 'model.pb' #请将这里的pb文件路径改为自己的
graph = tf.get_default_graph()
graph_def = graph.as_graph_def()
graph_def.ParseFromString(tf.gfile.FastGFile(model, 'rb').read())
tf.import_graph_def(graph_def, name='graph')
summaryWriter = tf.summary.FileWriter('log/', graph)

2.2.2命令行运行里执行
tensorboard --logdir log/ #这里的路径就是1中最后一行图保存的路径,请根据自己的需要更改

2.3可视化pb文件法2

利用tools里面的import_pb_to_tensorboard.py工具

#命令行
python -m tensorflow.python.tools.import_pb_to_tensorboard \
  --model_dir="your_path/model.pb" 
  --log_dir="your_log_path"  
tensorboard --logdir="your_log_path"

或者

#python3
from tensorflow.python.tools.import_pb_to_tensorboard import import_to_tensorboard
model = os.path.join(model_dir, 'tensorflow_inception_graph.pb')
import_to_tensorboard(model_dir=model, log_dir='log/') 

 

#命令行
tensorboard --logdir="your_log_path"

2.2.3 网页端启动tensorboard同 2.1.3

3.keras代码中生成events.out.tfevents训练过程文件

# 这个是用来保存训练的最好的模型的:
checkpointer = ModelCheckpoint(filepath='{}.h5'.format(model_name), verbose=1, save_best_only=True, save_weights_only=False)

# 这个是保存训练过程准确率、损失,模型结构的,然后用tensorboard可视化:
tensorboard = TensorBoard(log_dir='logs/{}'.format(model_name))
callbacks_list = [checkpointer, tensorboard]
# save_weights_only=False就会保存整个模型,这个模型可以加载后预测、继续训练都可以。只保存权重,用相同网络结构加载后只能继续训练


history = model.fit([train_pairs[:, 0], train_pairs[:, 1]], tr_y,
          batch_size=1,
          epochs=configs.epoch, verbose=2,  # verbose=2表示每个eproch都输出信息
          validation_data=([val_pairs[:, 0], val_pairs[:, 1]], val_y),
          callbacks=callbacks_list)  # 训练时调用上面那两个监测器。

 

4.tensorboard使用:

把训练结果分文件夹,tensorboard还可以加载多个tfevents然后比较

tensorboard --logdir=F:\Projects\my_slipt_net_Bottle\logs\

我的目录: 

同时比较:

 

5.K折交叉验证时,使用tensorboard

当你做k折验证,tensorboard里显示的曲线是很乱的。

因为你的横轴以step为单位,每做完一次验证,训练迭代epoch又从零开始:

所以需要转换维RELATIVE或WALL:

6.tensorboard讲解

https://www.cnblogs.com/yifdu25/p/8270849.html

参考:

1.tensorboard可视化查看events.out.tfevents文件

2.官网上对tensorboard的介绍,强烈推荐看一看

3.Tensorflow之pb文件分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值