tensorboard使用基础

命令行指令:

                      tensorboard --logdir=D:\tf_dir\tensorboard_study

具体详见:

                     https://zhuanlan.zhihu.com/p/115802478

 

1、tensorboard 具体使用:

参考链接:

https://blog.csdn.net/qq_45488242/article/details/122787702?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170113688316800227412450%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170113688316800227412450&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-122787702-null-null.142^v96^pc_search_result_base1&utm_term=pytorch%20tensorboard&spm=1018.2226.3001.4187

1.1  tensorboard pipeline

 tensorboard分为前端可视化+后端数据记录

1.1.2 后端数据记录

pytorch 已经集成tensorboard,所以导入tensorboard summarywriter模块用于将需要可视化的数据记录到指定文件夹中,

会生成一个类似 events.out.tfevents.xxxxx.XXXX.1879869的文件

① SUmmaryWriter类

导入SummaryWriter模块: from torch.utils.tensorboard.writer import SummaryWriter
生成一个writer对象: writer = SummaryWriter(log_dir='/home/XXXXX/data/log')
 
// SummaryWriter()指定参数log_dir就是记录保存可视化数据文件的文件夹,其他参数无特殊要求则保持默认(具体参数参考博客)
②记录数据
SummaryWriter类有一系列添加数据的方法,以add_开头:如下:

以上方法的重要参数如下介绍几个:

tag global_step

tag :是所需可视化的数据的标签,会显示在grid图的左上角,如果是可视化的train_loss,一般tag="loss/train",val的话就是“loss/val”,,目前仅支持二级标签

 global_step:全局训练步数,一般一个batch算一次loss,这相当于一个step:当前epoch*(训练样本总数/BC)+当前epoch的batchsize数

writer.add_scalar(tag='loss/train',scalar_value=loss,global_step=epoch*(TRAIN_NUM/BATCH_SIZE)+step)
 
③ 关闭writer
训练结束,关闭writer,释放资源 writer.close()

 

 

1.1.3前端可视化

执行指令: tensorboard --logdir=/指定数据记录文件夹  --bind_all

ps:Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all  在局域网服务器上执行命令,需要加--bind_all将其端口expose到网络中,方可在局域网内其他电脑(本地电脑)上开启网页端tensorboard

网址:http://网络IP:6006

补充 报错解决: You haven’t written any scalar data to your event files.

明明有tf.eventXXXXX,但是tf网页打开就是这样,找不到event files。。。。

折腾半天,原来是路径太长了。。。。

cd到上级目录再执行 tensorboard --logdir=文件夹路径 --bind_all     可以了!!!!

posted @ 2021-08-11 10:26  猪大大BiuBiuBiu  阅读(44)  评论(0编辑  收藏  举报