腾讯云服务器使用笔记(4)–本地浏览器显示服务器中Tensorboard的内容
本博文简介怎么用本地浏览器显示云服务器中Tensorboard的内容。
目录
1.Tensorboard的基本使用
1.1Tensorboard基本功能
TensorBoard是一个可视化工具,它可以用来展示网络图、张量的指标变化、张量的分布情况等。特别是在训练网络的时候,我们可以设置不同的参数(比如:权重W、偏置B、卷积层数、全连接层数等),使用TensorBoader可以很直观的帮我们进行参数的选择。
1.2Tensorboard应用举例–一次函数
现以一个一次函数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()
1.3Tensorboard应用举例–图片展示
借助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()
2.浏览器显示Tensorboard的内容
2.1 操作步骤
浏览器显示tensorboard的步骤如下:
- 将上述代码存储,然后运行,于是在代码文件夹下会增加一个名字叫“logs”的文件夹,该文件夹下有运行结果;
- 在PyCharm中查看本地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,运行结果如下:
2.2 效果展示–一次函数
在浏览器的SCALARS页中查看一次函数的运行效果如下:
2.3 效果展示–图片展示
在浏览器的IMAGES页中查看图片展示的运行效果如下:
此外,在浏览器的TIME_SERIES页中查看全部的时间序列运行效果如下:
3.本地浏览器显示服务器中Tensorboard的内容
3.1 操作步骤
如果代码和项目都在云服务器中,这时如果需要在本地浏览器中查看Tensorboard的运行效果,就需要按照如下的步骤进行操作:
- 将服务器中Tensorboard的端口6006映射到本地端口16006,在终端中输入:
ssh -L 16006:127.0.0.1:6006 root@42.194.192.46 -p 22
其中root为服务器的用户名,42.194.192.46是服务器的ip地址,22为服务器的端口号。 - 输入服务器登录密码
- 激活服务器端python环境,在终端中运行:
tensorboard --logdir='logs'
代码 - 在本地服务器输入:
http://localhost:16006
3.2效果展示
在本地浏览器中的运行服务器中Tensorboard的效果与直接在本地运行的效果一致。
4.小结
本文通过设置实现本地展示云服务器Tensorboard中的内容,通过这种方式更方便了本地代码调试和运行效果查看。