小土堆:Pytorch深度学习:常见的Transforms(一)

今天继续更新 PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】的学习笔记。

 1.PIL格式

from PIL import Image img = Image.open("dataset/hymenoptera_data/train/bees/17209602_fe5a5a746f.jpg")print(img)

2.Python 中 __call__的用法

下面通过一个例子来说明__call__的用法,并加入一个hello方法作为对比

# 定义一个类Personclass Person:# 定义一个__call__函数,使得实例对象可以用括号的方式调用    def __call__(self, name):        print("__call__"+"Hello"+name)# 定义一个hello函数,用于打印问候语    def hello(self,name):        print("hello"+name) # 创建一个Person类的实例对象person = Person()# 调用__call__函数,可以直接使用实例对象加括号的方式调用person("张三")# 调用hello函数,传入name参数person.hello("lisi")

结果如下:__call__可以直接在对象的括号中输入参数

普通方法中只能用对象的方法如person.hello中输入参数

__call__Hello张三hellolisi

3.ToTensor() 输入参数为PIL格式或者ndarray格式转化为tensor

# 导入所需要的包和模块from PIL import Image # 用于图像处理from torch.utils.tensorboard import SummaryWriter # 用于可视化训练过程from torchvision import transforms # 用于数据预处理
# 创建一个tensorboard的SummaryWriter对象,并指定日志保存路径writer = SummaryWriter("logs")
# 打开一张图像img = Image.open("dataset/hymenoptera_data/train/bees/17209602_fe5a5a746f.jpg")print(img)
# 定义一个数据预处理的ToTensor实例trans_totensor = transforms.ToTensor()# 将图像转换为tensorimg_tensor = trans_totensor(img)# 将tensor图像添加到writer日志中,指定一个tag名称writer.add_image("ToTensor",img_tensor)# 关闭writer对象writer.close()

在Pytorch Terminal中输入:tensorboard --logdir=logs,即可得图像

5.Normalize()使用

具体例子:

# 打印tensor图像第1个通道第1行第1列的像素值print(img_tensor[0][0][0])
# 定义一个均值为0.5,标准差为0.5的归一化变换trans_norm = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])# 将tensor图像进行归一化处理img_norm = trans_norm(img_tensor)# 打印归一化后tensor图像第1个通道第1行第1列的像素值print(img_norm[0][0][0])
# 将未归一化的tensor图像和归一化后的tensor图像分别添加到writer日志中,指定相应的tag名称writer.add_image("before", img_tensor)writer.add_image("Normalize", img_norm)
# 关闭writer对象writer.close()

结果如下:

tensor(0.4353)tensor(-0.1294) # 2*0.4353-1=-0.1294

在Pytorch Terminal中输入:tensorboard --logdir=logs,即可得图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值