• 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中的类来实例化一个实例,作为当下要使用的工具

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

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

    1. from torchvision import transforms
    2. from PIL import Image
    3. img_path = "2222.jpg" #图片的相对路径
    4. img = Image.open(img_path)
    5. print((img))
    6. tensor_trans = transforms.ToTensor() #调用transform中的ToTensor类,来实例化出一个实例tensor_trans,作为当下将PIL.Image转换为tensor类型数据所要使用的工具
    7. tensor_img = tensor_trans(img)
    8. print(tensor_img)

  • 相关阅读:
    [oeasy]python0010_hello_world_unix_c历史迷因
    最大公约数循环与递归版本
    java毕业设计导师交流系统Mybatis+系统+数据库+调试部署
    leetcode每天5题-Day06
    MySQL库表占用空间排序
    最佳Linux防病毒软件推荐!
    如何通过ip查询用户的归属地
    多级缓存之缓存同步
    Jtti:微信小程序怎么连接云主机数据库
    数据结构之初始泛型
  • 原文地址:https://blog.csdn.net/qq_41764621/article/details/126235630