为了论文-Pytorch(2)-TensorBoard和Transforms的使用
作者:互联网
1.TensorBoard的使用
1.1代码及其解析
# 一般通过这个SummaryWriter来创建图像。这个类可以在训练过程中向文件中添加数据,常用的两个方法为add_scalar和add_image,使用方法如下: from torch.utils.tensorboard import SummaryWriter import numpy as np from PIL import Image # 1.实例化这个SummaryWriter:要将东西保存到哪个文件夹,这里保存到该项目下的logs文件夹下,即pytorch01_hello/code/logs # 如果没有该文件夹会自动创建 writer = SummaryWriter("logs") # 2.1add_scalar需要三个必须的参数: # 第一个是图表的标题,第二个是图表的scalar_value,相当图表的y轴,第三个是global_step,意思为目标步数,也就是训练到多少步时输出图像,相当于x轴 for i in range(100): writer.add_scalar("x=2y", i, 50) # 2.2add_image()的使用 img_PIL = Image.open("F:\\pytorch\\pytorch01_hello\\dataset\\train\\ants_image\\5650366_e22b7e1065.jpg") img_array = np.array(img_PIL) # 两个必须的参数:tag:自定义,img_tensor:要加载的图像数据 # 注意,要设置dataformats参数,这个参数默认为CHW用于设置图像的格式(shape):C代表通道数量,H代表图像高度,W代表图像宽度 writer.add_image("test", img_array, 3, dataformats="HWC") writer.close()
1.2效果图,在Terminal中输入命令tensorboard --logdir=code/logs --port=6007查看运行效果,点击第一张图显示的连接即可从浏览器查看效果图
2.transforms的使用
2.1代码及解析
# 问题: # 1.python中如何使用transforms # 2.为什么需要tensor数据类型:我们要将图像转为tensor类型,让神经网络进行训练 from PIL import Image from torchvision import transforms from torch.utils.tensorboard import SummaryWriter # 用Image.open()读取的图像为PIL类型,用cv2.imread(图像路径)打开的为numpy.ndarray类型 img = Image.open("F:\\pytorch\\pytorch01_hello\\dataset\\train\\ants_image\\5650366_e22b7e1065.jpg") # 调用transforms中的ToTensor()函数,创建我们自己的工具,我们的工具这里叫做img_trans_tensor img_trans_tensor = transforms.ToTensor() # 使用我们的工具将PIL类型图像转为tensor img_tensor = img_trans_tensor(img) print(img_tensor) # SummaryWriter中add_image的使用,运行这个py文件后,在Terminal中输入命令tensorboard --logdir=code/logs --port=6007查看运行效果 writer = SummaryWriter("logs") # 参数一:自定义的标签,参数二:要加载的图像 writer.add_image("ToTensor", img_tensor) # transforms中使用Normalize()进行数据归一化,计算公式为output[channel] = (input[channel] - mean[channel]) / std[channel] # input[channel]:输入,mean[channel]:均值,std[channel]:标准差 print(img_tensor[0][0][0]) # Normalize()需要两个参数,均值和标准差 # output = (0.3804-0.5)/0.2 = -0.2392 trans_noram = transforms.Normalize(0.5, 0.2) img_noram = trans_noram(img_tensor) print(img_noram[0][0][0]) # 在Terminal中输入命令tensorboard --logdir=code/logs --port=6007查看运行效果 writer.add_image("Normalize", img_noram, 2) writer.close()
2.2效果图,在Terminal中输入命令tensorboard --logdir=code/logs --port=6007查看运行效果,点击第一张图显示的连接即可从浏览器查看效果图
标签:tensor,img,--,image,writer,Pytorch,add,Transforms,TensorBoard 来源: https://www.cnblogs.com/XiaoMaGuai/p/16270850.html