Pytorch之transforms

本文详细介绍了PyTorch中的transforms库,包括ToTensor函数用于转换图片到张量,Normalize类进行像素归一化,Resize用于调整图像尺寸,Compose用于组合多个变换,以及Random_Crop的随机裁剪功能。这些操作在深度学习图像处理中至关重要,提升模型效率和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、transforms是什么?

transforms 对应 transform.py 文件。可以理解成一个工具箱,里面定义的各种类和方法,可以处理图片,对图片进行加工,得到我们想要的结果。
在这里插入图片描述
常用的输入图片对象的数据类型

PIL : Image.open()
tensor : ToTensor()
ndarrays: cv.imread()
常用的Transform有:

1.ToTensor() :将图片对象类型转为 tensor
2.Normalize() :对图像像素进行归一化计算
3.Resize():重新设置 PIL Image的大小,返回也是PIL Image格式
4.Compose(): 输入为 transforms类型参数的列表,

关于transforms的导入如下

from torchvisoin import transforms

二、Tensor

1.为何引入tensor类型的变量呢

深度学习引入tensor类型的变量是因为深度学习模型中涉及大量的矩阵运算和张量运算。Tensor(张量)是多维数组的抽象表示,可以表示各种数据类型,如标量(0维张量)、向量(1维张量)、矩阵(2维张量)以及更高维度的数组。在深度学习中,神经网络的参数和输入数据都可以表示为张量,通过张量操作可以高效地进行大规模数据的运算和处理。
Tensor数据类型还包装了神经网络需要的一些参数,如下图。
在这里插入图片描述

Tensor类型的变量具有以下优点:

  1. 支持并行计算:张量运算可以在GPU等并行计算设备上高效执行,加速深度学习模型的训练和推理过程。
  2. 灵活性:张量可以表示不同维度的数据,适用于各种深度学习任务,如图像处理、自然语言处理等。
  3. 数学表达能力:张量操作支持各种数学运算,如矩阵乘法、逐元素操作等,方便构建复杂的神经网络模型。

因此,引入tensor类型的变量可以更好地满足深度学习模型对数据表示和运算的需求,提高模型的效率和灵活性。
在这里插入图片描述

2.代码示例

代码如下(示例):

from torchvision import transforms
from PIL import Image

img_path = "S:/pythonProject/1.png"
img = Image.open(img_path)

tensor_trans = transforms.ToTensor()    #创建工具
tensor_img = tensor_trans(img
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值