pytorch tensorboard使用(个人学习版)

Tensorboard原本是Google TensorFlow的可视化工具,可以用于记录训练数据、评估数据、网络结构、图像等,并且可以在web上展示,对于观察神经网络的过程非常有帮助。PyTorch也推出了自己的可视化工具,一个是tensorboardX包,一个是torch.utils.tensorboard,二者的使用相差不大,这里介绍后者

按住Ctrl同时鼠标点击summarywriter类可以直接显示用法writer.py文档

pytorch tensorboard使用(个人学习版)_第1张图片

安装tensorboard:

这里不知道为什么显示的链接是这个,死活跳转不过去

pytorch tensorboard使用(个人学习版)_第2张图片

加了一个参数—host 127.0.0.1 就可以正常跳转显示上图

pytorch tensorboard使用(个人学习版)_第3张图片

测试代码

pytorch tensorboard使用(个人学习版)_第4张图片
pytorch tensorboard使用(个人学习版)_第5张图片

# 引入tensorboard库
from torch.utils.tensorboard import SummaryWriter

# 实例化summary对象,log_dir表示日志的存放路径(自己设置)
#如果不写log_dir,系统将会创建runs目录
writer = SummaryWriter(log_dir="./log")

# 接下来就可以存储日志信息,日志信息可进行可视化展示(终端里)
...
writer.add_xxx(...) # 一系列操作


# 绘制单条曲线
epochs = 10
for i in range(epochs):
    # 当前处于第几步
    step = i + 1
    # 参数依次为:曲线图的标题、每一步的数据、当前第几步
    writer.add_scalar("y=2*x", 2 * i, step)
# add_scalar(tag, scalar_value, global_step=None, walltime=None)参数如下图

# 2、绘制多条曲线
epochs = 100
for i in range(epochs):
    step = i + 1
    # 参数依次为:主标题、字典(每条曲线的标题和对应值)、当前第几步
    writer.add_scalars("scalars", {
        "y=2x": 2 * i,
        "y=3x+1": 3 * i + 1
    }, step)

# 绘制histogram直方图
epochs = 10
for i in range(epochs):
    step = i + 1
    # 随机生成1000个符合正态分布的数据
    data = np.random.randn(1000)
    # 标题、数据、当前第几步、直方图区间的个数
    writer.add_histogram("distribution of data", data, step, bins=10)

# 1、使用numpy或者tensor格式的图像数组
epochs = 5
for i in range(epochs):
    step = i + 1
    # numpy或者tensor格式的图像数组
    img = Image.open("../../left_color.png").convert('RGB')
    # 将PIL对象转换为numpy数组
    img_numpy = np.array(img, dtype=np.uint8)
    # (720, 1280, 3) 高、宽、通道(HWC)
    # print(img_numpy.shape)
    # 标题、图像数据、当前第几步、图像的格式(HWC表示高宽通道,默认是通道高宽,需要和上述生成的numpy数组在格式上保持一致)
    writer.add_image("image", img_numpy, step, dataformats="HWC")
# 2、使用plot绘制的图像,渲染(figure)
epochs = 5
# 生成模拟数据
x = np.linspace(0, 10, 1000)
y = np.sin(x)
# 生成figure对象
figure = plt.figure()
# 绘制折线图
plt.plot(x, y, 'r-')
for i in range(epochs):
    step = i + 1
    # 标题、图或图列表、当前第几步
    writer.add_figure("figure", figure, step)

# 创建模型
model = MS_CAM()
# 模拟一个模型的输入数据(16batch、64通道、32*32宽高)
input = torch.FloatTensor(np.random.rand(16, 64, 32, 32))
# 添加网络信息
# 传入的模型、input_to_model表示输入的变量、verbose表示是否要在控制台打印图形结构
writer.add_graph(model, input_to_model=input, verbose=False)

https://blog.csdn.net/weixin_53598445/article/details/121301078参考

https://blog.csdn.net/L28298129/article/details/126511550参考加一

# 在命令行终端,输入tensorboard命令进行可视化
tensorboard --logdir=日志文件存放的目录
# 比如:日志文件存放在log文件夹下,则写法如下
tensorboard --logdir=./log

# 如果显示跳转出错,可以在后面加上参数--host 127.0.0.0
# 运行成功后,会生成一个链接:http://localhost:6006/,点击即可进入可视化页面。
PS D:\PythonProjects\Object-Detection\skills\tensorboard_show\log> tensorboard --logdir=./
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.6.0 at http://localhost:6006/ (Press CTRL+C to quit)

你可能感兴趣的:(python,深度学习,pytorch,conda)