torchvision.transforms.Resize()的用法

今天我在使用torchvision.transforms.Resize()的时候发现,一般Resize中放的是size或者是(size,size)这样的二元数。

这两个里面,torchvision.transforms.Resize((size,size)),大家都很清楚,会将图像的h和w大小都变成size。

但是,第一种用法,torchvision.transforms.Resize(size)我最开始的时候,就不知道,到底是只转换一个边长,还是转换两个边长,还是说转换一个边长,另一个边长等比例放缩。

经过自己测试,发现torchvision.transforms.Resize(size)是将最短边长变成size,长边进行比例缩放,也就是最短边为size,最长边大于size。

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

# 使用PIL库中的Image模块打开图像文件
img = Image.open('images/styles/starry_night.jpg')

# 打印原始图像的尺寸
print("原图尺寸:", img.size)

# 创建transforms.Resize对象,指定缩放大小为[256, 256]
resize = transforms.Resize(256)
# resize = transforms.Resize([256, 256])

# 使用resize对象对图像进行缩放
img2 = resize(img)

# 打印缩放后图像的尺寸
print("缩放后尺寸:", img2.size)

# 显示缩放后的图像
img2.show()

运行结果如下:

可以发现是短边进行size的调整,长边进行相应的缩放,最后导致图像进行等比例放缩。

相关推荐
机器学习ing.8 小时前
U-Net保姆级教程:从原理到医学细胞分割实战(PyTorch版)!
人工智能·pytorch·python·深度学习·机器学习
Dev7z13 小时前
基于ResNet50和PyTorch的猫狗图像分类系统设计与实现
人工智能·pytorch·分类
天地之于壹炁兮14 小时前
PyTorch:AI时代的深度学习利器
pytorch
Francek Chen16 小时前
【自然语言处理】预训练04:预训练word2vec
人工智能·pytorch·深度学习·自然语言处理·word2vec
skywalk816317 小时前
老显卡老cpu用vllm推理大模型失败Intel(R) Xeon(R) CPU E5-2643 v2
人工智能·pytorch·python·vllm
夫唯不争,故无尤也20 小时前
深度学习Adam优化器核心概念全解析:参数,梯度,一阶动量,二阶动量
pytorch·深度学习·机器学习
梦想画家1 天前
基于PyTorch的时间序列异常检测管道构建指南
人工智能·pytorch·python
倦王1 天前
Pytorch 预训练网络加载与迁移学习基本介绍
人工智能·pytorch·迁移学习
西柚小萌新1 天前
【深入浅出PyTorch】--8.1.PyTorch生态--torchvision
人工智能·pytorch·python
十子木1 天前
C++ 类似pytorch的库,工具包,或者机器学习的生态
c++·pytorch·机器学习