案例解释
创建新的py文件
引入transforms模块
from torchvision import transforms
按住”Ctrl“,鼠标左键点击”transforms“,跳转到”__init__.py“
再次按住”Ctrl“,鼠标点击”.transforms”,跳转到transforms.py中
__call__函数
用于使对象实例可调用(callable)。当一个类的实例被调用时,解释器会尝试调用该实例的 __call__
方法。
class Student: def __call__(self, name): print("__call__"+"输出"+name) def care(self,name): print("Are you ok"+","+name) Student01=Student() Student01("Zqh") Student01.care("Sjw")
Totensor的使用
transforms.ToTensor()
是PyTorch中一个常用的数据预处理操作,它用于将图像或数据从其原始格式(如PIL图像或NumPy数组)转换为PyTorch张量(Tensor)的格式。这个操作是深度学习中常见的数据准备步骤之一,因为深度学习模型通常要求输入数据以张量的形式进行处理和计算。
光标定位在括号里,快捷键“Ctrl+P”,可以看到提示
需要我们输入pic
运行
from PIL import Image from torch.utils.tensorboard import SummaryWriter from torchvision import transforms writer01=SummaryWriter("logs_0124")#进行日志记录和可视化 img=Image.open("dataset/train/bees_image/16838648_415acd9e3f.jpg")# 使用 PIL 打开图片 # print(img) trans_totensor=transforms.ToTensor() #将PIL图像或表示图像的NumPy数组转换为PyTorch张量 img_tensor=trans_totensor(img) writer01.add_image("Totensor",img_tensor) writer01.close()
终端运行
tensorboard --logdir=logs_0124
点击生成的蓝色链接
点击图片可以放大
Normalize的使用
Normalize
是PyTorch中一个用于数据预处理的函数,通常用来对图像数据进行归一化操作,以便在深度学习模型中更好地进行训练。一般情况下,它会将图像的像素值进行缩放和平移,使其符合标准正态分布或特定的均值和标准差。这有助于提高模型的收敛速度和性能。
在使用 transforms.Normalize
进行标准化时,需要提供均值和标准差的值,以便正确执行标准化操作。
transforms.Normalize(mean, std)
其中,mean
是均值,std
是标准差。这两个参数应该与你的数据集的均值和标准差匹配。
from PIL import Image from torch.utils.tensorboard import SummaryWriter from torchvision import transforms writer01=SummaryWriter("logs_0124")#进行日志记录和可视化 img=Image.open("dataset/train/bees_image/16838648_415acd9e3f.jpg")# 使用 PIL 打开图片 # print(img) #ToTensor trans_totensor=transforms.ToTensor() #将PIL图像或表示图像的NumPy数组转换为PyTorch张量 img_tensor=trans_totensor(img) writer01.add_image("Totensor",img_tensor) #Normalize print(img_tensor[0][0][0]) #第一个通道、第一个像素的值 trans_norm=transforms.Normalize([0.4,0.4,0.4],[0.4,0.4,0.4]) #均值和标准差设置 img_norm=trans_norm(img_tensor) print(img_norm[0][0][0]) writer01.add_image("Normalize",img_norm) writer01.close()
回到之前的网站,点击刷新
修改了均值和标准差,
可自行修改均值和标准差,运行后观察图片
参考
【PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】】 https://www.bilibili.com/video/BV1hE411t7RN/?p=12&share_source=copy_web&vd_source=be33b1553b08cc7b94afdd6c8a50dc5a