Pytorch中transforms.Resize()的简单使用

目录
  • transforms.Resize()的简单使用
  • transforms.Resize([224, 224])解读

transforms.Resize()的简单使用

简单来说就是调整PILImage对象的尺寸,注意不能是用io.imread或者cv2.imread读取的图片,这两种方法得到的是ndarray。

将图片短边缩放至x,长宽比保持不变:

transforms.Resize(x)

而一般输入深度网络的特征图长宽是相等的,就不能采取等比例缩放的方式了,需要同时指定长宽:

transforms.Resize([h, w])

例如:

transforms.Resize([224, 224])就能将输入图片转化成224×224的输入特征图。

这样虽然会改变图片的长宽比,但是本身并没有发生裁切,仍可以通过resize方法返回原来的形状:

from PIL import Image
from torchvision import transforms

img = Image.open('1.jpg')
w, h = img.size
resize = transforms.Resize([224,244])
img = resize(img)
img.save('2.jpg')
resize2 = transforms.Resize([h, w])
img = resize2(img)
img.save('3.jpg')

需要注意的一点是PILImage对象size属性返回的是w, h,而resize的参数顺序是h, w。

transforms.Resize([224, 224])解读

记住图像尺度统一为224×224时,要用transforms.Resize([224, 224]),不能写成transforms.Resize(224),transforms.Resize(224)表示把图像的短边统一为224,另外一边做同样倍速缩放,不一定为224

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • pytorch 中transforms的使用详解

    目录 transforms ToTensor transforms使用 为什么需要tensor数据类型呢? 常见的transforms 内置方法__call__() Normalize Resize Compose transforms 按住Ctrl查看transforms的源码可以知道,transforms就是一个python文件,里面定义了很多类,每一个类都是一个工具在结构那里,可以看到有很多的类 ToTensor Convert a PIL Image or numpy.ndarray t

  • 初识Pytorch使用transforms的代码

    首先,这次讲解的tansforms功能,通俗地讲,类似于在计算机视觉流程里的图像预处理部分的数据增强. transforms的原理: 说明:图片(输入)通过工具得到结果(输出),这个工具,就是transforms模板工具,(tool=transforms.ToTensor()具体工具),使用工具result=tool(图片) tansforms的调用与使用,由下图可得: 先创建一个transforms.Tensor(),使用from torchvision import transforms调包

  • pytorch之Resize()函数具体使用详解

    Resize函数用于对PIL图像的预处理,它的包在: from torchvision.transforms import Compose, CenterCrop, ToTensor, Resize 使用如: def input_transform(crop_size, upscale_factor): return Compose([ CenterCrop(crop_size), Resize(crop_size // upscale_factor), ToTensor(), ]) 而Resi

  • Pytorch使用transforms

    首先,这次讲解的tansforms功能,通俗地讲,类似于在计算机视觉流程里的图像预处理部分的数据增强. transforms的原理: 说明:图片(输入)通过工具得到结果(输出),这个工具,就是transforms模板工具,(tool=transforms.ToTensor()具体工具),使用工具result=tool(图片) tansforms的调用与使用,由下图可得: 先创建一个transforms.Tensor(),使用from torchvision import transforms调包

  • Pytorch中transforms.Resize()的简单使用

    目录 transforms.Resize()的简单使用 transforms.Resize([224, 224])解读 transforms.Resize()的简单使用 简单来说就是调整PILImage对象的尺寸,注意不能是用io.imread或者cv2.imread读取的图片,这两种方法得到的是ndarray. 将图片短边缩放至x,长宽比保持不变: transforms.Resize(x) 而一般输入深度网络的特征图长宽是相等的,就不能采取等比例缩放的方式了,需要同时指定长宽: transfo

  • PyTorch中的torch.cat简单介绍

    目录 1.toych简单介绍 2.张量Tensors 3.torch.cat 1.toych简单介绍 包torch包含了多维疑是的数据结构及基于其上的多种数学操作. torch包含了多维张量的数据结构以及基于其上的多种数学运算.此外,它也提供了多种实用工具,其中一些可以更有效地对张量和任意类型进行序列化的工具. 它具有CUDA的对应实现,可以在NVIDIA GPU上进行张量运算(计算能力>=3.0) 2. 张量Tensors torch.is_tensor(obj):如果obj是一个pytorc

  • pytorch中的transforms模块实例详解

    pytorch中的transforms模块中包含了很多种对图像数据进行变换的函数,这些都是在我们进行图像数据读入步骤中必不可少的,下面我们讲解几种最常用的函数,详细的内容还请参考pytorch官方文档(放在文末). data_transforms = transforms.Compose([ transforms.RandomResizedCrop(224), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms

  • 在Pytorch中简单使用tensorboard

    一.tensorboard的简要介绍 TensorBoard是一个独立的包(不是pytorch中的),这个包的作用就是可视化您模型中的各种参数和结果. 下面是安装: pip install tensorboard 安装 TensorBoard 后,这些实用程序使您可以将 PyTorch 模型和指标记录到目录中,以便在 TensorBoard UI 中进行可视化. PyTorch 模型和张量以及 Caffe2 网络和 Blob 均支持标量,图像,直方图,图形和嵌入可视化. SummaryWrite

  • Pytorch中的Tensorboard与Transforms搭配使用

    这章是结合之前学习的Tensforboard与Transforms的一个练习. 直接上代码: from PIL import Image from torch.utils.tensorboard import SummaryWriter from torchvision import transforms import os root_path = "D:\\data\\basic\\Image" lable_path = "aligned" img_dir = o

  • PyTorch中torch.utils.data.DataLoader简单介绍与使用方法

    目录 一.torch.utils.data.DataLoader 简介 二.实例 参考链接 总结 一.torch.utils.data.DataLoader 简介 作用:torch.utils.data.DataLoader 主要是对数据进行 batch 的划分. 数据加载器,结合了数据集和取样器,并且可以提供多个线程处理数据集. 在训练模型时使用到此函数,用来 把训练数据分成多个小组 ,此函数 每次抛出一组数据 .直至把所有的数据都抛出.就是做一个数据的初始化. 好处: 使用DataLoade

  • pytorch中DataLoader()过程中遇到的一些问题

    如下所示: RuntimeError: stack expects each tensor to be equal size, but got [3, 60, 32] at entry 0 and [3, 54, 32] at entry 2 train_dataset = datasets.ImageFolder( traindir, transforms.Compose([ transforms.Resize((224)) ### 原因是 transforms.Resize() 的参数设置问

  • pytorch中图像的数据格式实例

    计算机视觉方面朋友都需要跟图像打交道,在pytorch中图像与我们平时在matlab中见到的图像数据格式有所不同.matlab中我们通常使用函数imread()来轻松地读入一张图像,我们在变量空间中可看到数据的存储方式是H x W x C的顺序(其中H.W.C分别表示图像的高.宽和通道数,通道数一般为RGB三通道),另外,其中的每一个数据都是[0,255]的整数. 在使用pytorch的时候,我们通常要使用pytorch中torchvision包下面的datasets模块和transforms模

  • pytorch中的inference使用实例

    这里inference两个程序的连接,如目标检测,可以利用一个程序提取候选框,然后把候选框输入到分类cnn网络中. 这里常需要进行一定的连接. #加载训练好的分类CNN网络 model=torch.load('model.pkl') #假设proposal_img是我们提取的候选框,是需要输入到CNN网络的数据 #先定义transforms对输入cnn的网络数据进行处理,常包括resize.totensor等操作 data_transforms=transforms.Compose([trans

随机推荐