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)
相关推荐
之歆2 小时前
Al大模型-本地私有化部署大模型-大模型微调
人工智能·pytorch·ai作画
legendary_bruce4 小时前
【22-决策树】
算法·决策树·机器学习
paid槮4 小时前
机器学习总结
人工智能·深度学习·机器学习
Hello123网站4 小时前
职得AI简历-免费AI简历生成工具
人工智能·ai工具
独行soc4 小时前
2025年渗透测试面试题总结-18(题目+回答)
android·python·科技·面试·职场和发展·渗透测试
亚里随笔4 小时前
稳定且高效:GSPO如何革新大型语言模型的强化学习训练?
人工智能·机器学习·语言模型·自然语言处理·llm·rlhf
S01d13r5 小时前
gunicorn + flask 处理高并发请求
python·flask·gunicorn
杜子不疼.5 小时前
《Python列表和元组:从入门到花式操作指南》
开发语言·python
荼蘼5 小时前
机器学习之PCA降维
人工智能·机器学习
pan0c235 小时前
数据处理与统计分析 —— numpy入门
python·numpy