本博文简介怎么用本地浏览器显示云服务器中Tensorboard的内容。
TensorBoard是一个可视化工具,它可以用来展示网络图、张量的指标变化、张量的分布情况等。特别是在训练网络的时候,我们可以设置不同的参数(比如:权重W、偏置B、卷积层数、全连接层数等),使用TensorBoader可以很直观的帮我们进行参数的选择。
现以一个一次函数y=3*x的基本使用为例,实现代码如下:
# coding :UTF-8
# 文件功能: 代码实现Tensorboard功能
# 开发人员: dpp
# 开发时间: 2021/8/8 10:24 上午
# 文件名称: tensorboard_test.py.py
# 开发工具: PyCharm
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter('logs')
# y = 3*x,展示[0,99]范围内的函数内容,使用add_scalar函数记录标量
for i in range(100):
writer.add_scalar('y = x', 3*i, i)
writer.close()
借助tensorboard展示图片内容,代码如下:
# coding :UTF-8
# 文件功能: 代码实现Tensorboard功能
# 开发人员: dpp
# 开发时间: 2021/8/8 10:24 上午
# 文件名称: tensorboard_test.py.py
# 开发工具: PyCharm
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
# 创建SummaryWriter接口,运行结果存储在logs文件夹下,也就是log_dir为logs
writer = SummaryWriter('logs')
# image_path是文件的相对路径,根据实际情况写出路径即可
image_path = "dataset/train/bees_image/29494643_e3410f0d37.jpg"
img_PIL = Image.open(image_path)
img_array = np.array(img_PIL)
print(type(img_array))
print(img_array.shape)
#批次显示图像add_image(),数据格式为HWC,C表示通道数,一般为3
writer.add_image("test", img_array, 1, dataformats='HWC')
# y = 3*x
for i in range(100):
writer.add_scalar('y = x', 3*i, i)
writer.close()
浏览器显示tensorboard的步骤如下:
tensorboard --logdir='logs'
代码,得到如下的运行结果:tensorboard --logdir='logs'
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.5.0 at http://localhost:6006/ (Press CTRL+C to quit)
从上述运行结果中可以看到本地的tensorboard的地址为:http://localhost:6006/。
3. 在浏览器中输入http://localhost:6006,运行结果如下:
在浏览器的IMAGES页中查看图片展示的运行效果如下:
此外,在浏览器的TIME_SERIES页中查看全部的时间序列运行效果如下:
如果代码和项目都在云服务器中,这时如果需要在本地浏览器中查看Tensorboard的运行效果,就需要按照如下的步骤进行操作:
ssh -L 16006:127.0.0.1:6006 [email protected] -p 22
tensorboard --logdir='logs'
代码http://localhost:16006
在本地浏览器中的运行服务器中Tensorboard的效果与直接在本地运行的效果一致。
本文通过设置实现本地展示云服务器Tensorboard中的内容,通过这种方式更方便了本地代码调试和运行效果查看。