Transform(二)

常见的transforms里的类:

一、Normalize(归一化):

1、归一化是干什么的:

对图像数据进行预处理,以确保输入模型的数据在相同的尺度上

2、为什么需要归一化:

为了消除奇异值,将数据缩放到一个小范围,这样梯度下降得更快,更容易求解

3、transforms.Normalize(mean, std)

将图像的每个通道(RGB,共3个通道)按特定的均值和标准差进行归一化

meanstd 的值是通常在 ImageNet 数据集上计算得出)

python 复制代码
#Normalize
mean = [0.485, 0.456, 0.406]
std = [0.229, 0.224, 0.225]
normalize=transforms.Normalize(mean,std) #创建归一化工具的实例化对象
img_norm=normalize(img_tensor)
print(img_norm[0][0][0]) #img_norm[0][0][0]获取该单张图像的第一个通道的第一行的第一个像素值
print(img_norm.shape) #CHW
writer.add_image("Normalize_images",img_norm,4,dataformats="CHW")

二、Resize(改变像素的大小)

注意:这里改变的大小是指改变图片的像素值,调整清晰度

resize=transforms.Resize(size) 中的 size 可以是一个元组 (height, width) 或者一个整数

(如果是整数,图像的较短边会被调整到这个值,较长边会保持比例)

python 复制代码
#Resizes
resize=transforms.Resize((700,50)) #注意size参数是()括起来的一对值
img_resize=resize(img_tensor) #输入:PIL Image or Tensor 对应输出的也是PIL Image or Tensor
writer.add_image("Resize_img",img_resize,1)

三、Compose(按顺序应用多个变换)

参数是list of ``Transform`` objects

python 复制代码
trans_resize=transforms.Resize(512)
trans_compose=transforms.Compose([trans_resize,trans_tensor])
img_resize_2=trans_compose(img_PIL)
writer.add_image("Compose",img_resize_2,1)
print(type(img_resize_2))

四、RandomCrop(随意裁剪)

python 复制代码
# RandomCrop
trans_random=transforms.RandomCrop((200,300))
trans_compose_2=transforms.Compose([trans_random,trans_tensor])
for i in range(10):
    img_crop=trans_compose_2(img_PIL)
    writer.add_image("RandomCrop1",img_crop,i)
  • size 参数可以是一个元组 (height, width),表示裁剪的目标大小
  • 每次应用时,裁剪的位置都是随机的,增加了数据的多样性

Resize 是统一调整大小,而 RandomCrop 是随机选择部分区域)

补充:

python 复制代码
from torch.utils.tensorboard import  SummaryWriter
from torchvision import transforms
from PIL import Image

Tips:

多看官方文档

关注输入和输出类型

关注方法需要什么参数

不知道返回值的时候,可以print()或print(type())或debug

相关推荐
Elastic 中国社区官方博客2 分钟前
从建议到修复的 4 个阶段:使用 Elastic Workflows 实现人在回路中的自动化
运维·数据库·人工智能·后端·elasticsearch·ai·自动化
码视野5 分钟前
基于 Spring Boot + Vue3 的【城市地下燃气管网微泄漏感知与相邻地下空间燃爆预警中台】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端
土星云SaturnCloud9 分钟前
大型仓储AI视觉全场景落地实战:安全·效率·库存,32TOPS土星云边缘算力赋能分区部署
服务器·人工智能·ai·边缘计算
智塑未来10 分钟前
2026年边缘计算网关哪个品牌好?多厂商边缘算力能力横评
人工智能·边缘计算
ShallWeL28 分钟前
【Agent工程】(6)—— 危险写操作与二次确认
人工智能·agent·工作流·智能体
具身AGI33 分钟前
基座模型架构之争,物理AI 人类学习路线 的双脑答案
人工智能·学习·架构
DeepIntelli33 分钟前
GEO服务、传统网页优化与AI问答引流的区别:从工程视角看三者的目标、链路与验收方式
人工智能
SmartBrain34 分钟前
以史为鉴,对AI时代企业数字化转型的启示
人工智能·架构·创业创新
阿宁学科技术库38 分钟前
关于“库库AI”在股票投研场景实用性的技术观察
大数据·人工智能·职场和发展
AR-26710-1 小时前
机器学习复习Day8——异常检测
人工智能·python·机器学习·scikit-learn