TensorBoard概述-Pytorch

TensorBoard概述-Pytorch

该文章对TensorBoard解释的很全面,可以阅读了解一下TensorBoard的最全使用教程:看这篇就够了 - 腾讯云开发者社区-腾讯云 (tencent.com)

Pycharm小tips:

按ctrl点击某一个函数,即可快速查看该函数的定义

显示数据

先在程序中写入代码

from torch.utils.tensorboard import SummaryWriter
writer=SummaryWriter("logs")#初始化一个文件夹
for i in range(100):
    writer.add_scalar('y=x',i*3,i)#进行画图
    #def add_scalar(self, tag, scalar_value, global_step=None, walltime=None)tag为标签名称,scalar_value为y值,global_step为x值
writer.close()

后在该环境的终端

image-20220823155341584

或者是pycharm的终端中

写入启动``tensorboard的代码,点击该网址即可进入tensorboard`

TensorBoard概述-Pytorch_第1张图片

通过tensorboard --logdir=logs --port=6007中的--port=6007为指定窗口的指令。

TensorBoard概述-Pytorch_第2张图片

如果只更改scalar_valueglobal_step,而不改变tag的话,会在同一个图上画出两条曲线。

writer=SummaryWriter("logs")#初始化一个文件夹
for i in range(100):
    writer.add_scalar('y=x',i,i)#进行画图
    #def add_scalar(self, tag, scalar_value, global_step=None, walltime=None),tag为标签名称,scalar_value为y值,global_step为x值
writer.close()
TensorBoard概述-Pytorch_第3张图片

上图中一些歪曲的曲线跟Smoothing有关(平滑近似)

如果更改了窗口号,如6007,则会创建一个新的网页来进行绘图。

TensorBoard概述-Pytorch_第4张图片

我们会发现图中的内容不随窗口号进行改变,原因在于tensorboard的内容由logs文件中的内容决定的,可以通过删除文件中的内容或writer=SummaryWriter("other file")来改变画图的内容

TensorBoard概述-Pytorch_第5张图片

显示图片

def add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats='CHW')
img_tensor (torch.Tensor, numpy.array, or string/blobname)
img_tensor必须为tensor或者array格式
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
writer=SummaryWriter("logs")#初始化一个文件夹
image_path="hymenoptera_data/train/ants/5650366_e22b7e1065.jpg"#图片的相对路径,如果图片不在工程文件夹内,则应使用绝对路径
img_PIL=Image.open(image_path)#打开图片
img_array=np.array(img_PIL)#将图片转化为array格式
print(img_array.shape)
#(375, 500, 3),即(HWC)格式,H为高、W为宽,C为通道数
writer.add_image("train_ants",img_array,1)
writer.close()

我们会发现文件报错了,通过查阅.add_image我们可以看到

Tensor with :math:`(1, H, W)`, :math:`(H, W)`, :math:`(H, W, 3)` is also suitable as long as corresponding ``dataformats`` argument is passed, e.g. ``CHW``, ``HWC``, ``HW``.

默认读取CHW格式,如果要读取HWC格式,则需要使用dataformats进行转化

TensorBoard概述-Pytorch_第6张图片
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
writer=SummaryWriter("logs")#初始化一个文件夹
image_path="hymenoptera_data/train/ants/5650366_e22b7e1065.jpg"#图片的相对路径,如果图片不在工程文件夹内,则应使用绝对路径
img_PIL=Image.open(image_path)#打开图片
img_array=np.array(img_PIL)#将图片转化为array格式
print(img_array.shape)
#(375, 500, 3),即(HWC)格式,H为高、W为宽,C为通道数
writer.add_image("train_ants",img_array,1)
writer.close()

点击IMAGES栏,就可以看到我们读取的图片了

TensorBoard概述-Pytorch_第7张图片

_ants",img_array,1)
writer.close()


点击`IMAGES`栏,就可以看到我们读取的图片了

image-20220823171736849



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