pytorch中tensorboard的add_scalar与add_image

一、add_scalar

add_scalar(tag, scalar_value, global_step=None, ):将我们所需要的数据保存在文件里面供可视化使用
tag(字符串):保存图的名称
scalar_value(浮点型或字符串):y轴数据(步数)
global_step(int):x轴数据

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("logs")

x = range(100)
for i in x:
    writer.add_scalar('y=2x', i * 2, i)
writer.close()

我们在pycharm的命令行输入tensorboard --logdir=logs
pytorch中tensorboard的add_scalar与add_image_第1张图片
我们默认的终端号是6006,要是一台服务器多人使用,很麻烦,可以指定端口,输入tensorboard --logdir=logs --port=6007
在这里插入图片描述

pytorch中tensorboard的add_scalar与add_image_第2张图片
如果我们用writer.add_scalar(‘y=2x’, i * 2, i)和writer.add_scalar('y=2x, i * i, i)
我们不改变图的名字,执行i*i的操作会保存i * 2的操作,并进行拟合,要想只执行i * i,可以删去log文件下的内容。
pytorch中tensorboard的add_scalar与add_image_第3张图片

二、add_image

add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats=‘CHW’):绘制图片,可用于检查模型的输入,监测 feature map 的变化,或是观察 weight。
tag:就是保存图的名称
img_tensor:图片的类型要是torch.Tensor, numpy.array, or string这三种
global_step:第几张图片
dataformats=‘CHW’,默认CHW,tensor是CHW,numpy是HWC

from torch.utils.tensorboard import SummaryWriter
import  numpy as np
from PIL import Image
writer = SummaryWriter("logs")
image_path = "C:/Users/msi/Desktop/20200103_212904.jpg"
image_PIL = Image.open(image_path)
img = np.array(image_PIL)
print(img.shape)
writer.add_image("test", img, 1, dataformats='HWC')

writer.close()

在这里插入图片描述
numpy类型是HWC
pytorch中tensorboard的add_scalar与add_image_第4张图片
我们也可以变为tensor类型,引入opencv,opencv读取的类似是numpy型

from torch.utils.tensorboard import SummaryWriter
import cv2
from torchvision import transforms

writer = SummaryWriter("logs")
image = cv2.imread('C:/Users/msi/Desktop/20200103_212904.jpg')
print(image.shape)
tran = transforms.ToTensor()
img_tensor = tran(image)

print(img_tensor.shape)
writer.add_image("test", img_tensor, 1)

writer.close()

在这里插入图片描述

你可能感兴趣的:(神经网络学习,python,深度学习,可视化)