torchversion.transforms的使用

1.首先看源代码:

点transform进入的内容是:

 在ctrl再选中圈出来的.transforms就可以了,进入transform.py文件,其实torchversion.transforms包 的实现就是在这个transform.py文件中

2.介绍Compose类:

 这个类就是将多个transforms结合到一起,就像他举的例子一样,将ransforms.CenterCrop(10)和transforms.Totensor()两个transforms结合到一起,ransforms.CenterCrop(10)的输出就是transforms.Totensor()的输入。

 

3.ToTensor 类:

 将一个 PIL.Image类型或者numpy.array类型的数据转换成为tensor类型

4. transforms 常用的类 :

5. 这里还有一些关于:

transforms中Normalize类:(11:29处):常见的Transforms(一)_哔哩哔哩_bilibili

transforms中Risize类:(0:0处)常见的Transforms(二)_哔哩哔哩_bilibili

RandomCrop类:(10:36处)常见的Transforms(二)_哔哩哔哩_bilibili

6. transform的用法:

(1)背景知识:什么是tensor数据类型:

为什么我们需要tensor数据类型:如下图所示:第一张图显示的是PIL.Image格式下的图的描述,第二章图显示的是tensor格式下的图的描述。我们可以明显发现 tensor数据类型包含了一些神经网络训练时需要的内容,如梯度grad等等

PIL.Image:

 tensor格式:

 

(2)背景知识__call__()函数 是什么?

以下面这段代码为例可以解释一下:

简言之就是,如果有实现__call__()函数,那么就可以直接用实例传参数调用

(3)如何使用transform :

首先通过调用transform中的类来实例化一个实例,作为当下要使用的工具

(当然个各类实例化时需要的参数或者注意事项各不相同,需要自己查阅一下官方的文档)

然后利用这个实例化的工具对要处理的内容进行处理

from torchvision import transforms
from PIL import Image

img_path = "2222.jpg"       #图片的相对路径
img = Image.open(img_path)
print((img))

tensor_trans = transforms.ToTensor()   #调用transform中的ToTensor类,来实例化出一个实例tensor_trans,作为当下将PIL.Image转换为tensor类型数据所要使用的工具

tensor_img = tensor_trans(img)
print(tensor_img)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值