Transforms转换Tensor数据类型、归一化

目录

Transforms用来对图像进行一些变换,转换成具体格式的tensor类型数据。

一、ToTensor()使用:

python 复制代码
from PIL import Image
from torchvision import transforms

#转换成tensor数据类型
img_PIL = Image.open("dataset/train/ants_image/0013035.jpg")

#创建trans_tensor对象,用来对图片进行类型转换
tensor_trans = transforms.ToTensor()
#调用transforms对象的__call__内置函数进行数据类型转换
img_tensor = tensor_trans(img_PIL)

print(img_tensor)

二、tensor数据类型:

tensor是一个封装了神经网络所需参数的特殊数据类型。

三、Normalize()使用:

python 复制代码
from PIL import Image
from torchvision import transforms

#转换成tensor数据类型
img_PIL = Image.open("dataset/train/ants_image/0013035.jpg")

#创建trans_tensor对象,用来对图片进行类型转换
trans_tensor = transforms.ToTensor()
#调用trans_tensor对象的__call__内置函数进行数据类型转换
img_tensor = trans_tensor(img_PIL)

#创建归一化对象,需要给出三维图片上各个维度的均值和方差
trans_norm = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
#调用trans_norm对象的__call__内置函数进行tensor数据的归一化
img_norm = trans_norm(img_tensor)

四、Resize()使用:

python 复制代码
from PIL import Image
from torchvision import transforms

#转换成tensor数据类型
img_PIL = Image.open("dataset/train/ants_image/0013035.jpg")

#创建trans_tensor对象,用来对图片进行类型转换
trans_tensor = transforms.ToTensor()
#调用trans_tensor对象的__call__内置函数进行数据类型转换
img_tensor = trans_tensor(img_PIL)

#创建对象,用来改变图片尺寸(长,宽)
trans_resize = transforms.Resize((512,512))
#调用trans_resize对象的__call__内置函数进行图片缩放
img_resize = trans_resize(img_PIL)

五、compose()对象:

python 复制代码
from PIL import Image
from torchvision import transforms

#转换成tensor数据类型
img_PIL = Image.open("dataset/train/ants_image/0013035.jpg")

#创建trans_tensor对象,进行图像类型变换
trans_tensor = transforms.ToTensor()
#创建trans_resize对象,宽调整为512,高不变
trans_resize = transforms.Resize(512)

#trans_compose对象用来预设执行流程,先执行trans_resize改变图像维度,再执行trans_tensor转为tensor类型
trans_compose =  transforms.Compose([trans_resize,trans_tensor])
trans_compose(img_PIL)
相关推荐
振鹏Dong8 分钟前
依托 <AI 原生应用架构白皮书>,看 AI 原生应用的发展与实践
人工智能
雨夜的星光42 分钟前
Python JSON处理:load/loads/dump/dumps全解析
开发语言·python·json
智行众维1 小时前
自动驾驶的“虚拟驾校”如何炼成?
人工智能·自动驾驶·汽车·智能驾驶·智能网联汽车·智能驾驶仿真测试·智驾系统
空白到白2 小时前
NLP-注意力机制
人工智能·自然语言处理
fen_fen2 小时前
Java打包时,不将本地Jar打包到项目的最终 JAR 中
开发语言·python·pycharm
大千AI助手3 小时前
指数分布:从理论到机器学习应用
人工智能·机器学习·参数估计·概率密度函数·mle·指数分布·累积分布函数
MATLAB代码顾问3 小时前
MATLAB绘制多种混沌系统
人工智能·算法·matlab
搬砖的小码农_Sky3 小时前
人形机器人:Tesla Optimus的AI集成细节
人工智能·ai·机器人
做运维的阿瑞3 小时前
2025 年度国产大模型「开源 vs. 闭源」深度评测与实战指南
人工智能·低代码·开源
渡我白衣4 小时前
深度学习入门(三)——优化算法与实战技巧
人工智能·深度学习