Pytorch学习05_常见的transforms01

案例解释 

创建新的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

  • 16
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值