Transform

  • Introduction
  • Composition of transforms
    • Compose
  • Transforms on PIL Image and Tensor
    • Resize
    • RandomHorizontalFlip
  • Functional Transforms
    • to_tensor
    • pad
    • adjust_gamma
    • adjust_saturation

PyTorch文档

Introduction

torchvision.transforms

前言:Transforms是常见的图像变换工具。他们可以通过compose函数被连接起来

Transformation接受tensor图像也接受tensor的batch类型。Tensor类型:CHW,Tensor的batch类型:BCHW

Tensor的范围由Tensor的类型定义,对于float类型,数值在[0, 1)之间;对于整型integer,范围为[0, MAX_DTYPE]

注意:对于torch的随机种子和python的随机种子将会产生不同的结果

# Previous versions
# import random
# random.seed(12)# Now
import torch
torch.manual_seed(17)

Composition of transforms

Compose

torchvision.transforms.Compose(transforms)

将几个不同的transforms组合起来

transforms.Compose([transforms.CenterCrop(10),transforms.PILToTensor(),transforms.ConvertImageDtype(torch.float),
])

Transforms on PIL Image and Tensor

Resize

torchvision.transforms.Resize(size, interpolation, max_size=None, antialias=None)

将图片大小转换到给定的大小

  • size - 输出图像的大小
  • interpolation - 插值方法,默认为双线性插值

RandomHorizontalFlip

torchvision.transforms.RandomHorizontalFlip(p=0.5)

将图片以给定的概率随机翻转

Functional Transforms

函数可以为转换的过程提供细粒度控制。与上面的转换相反,函数转换不提供随机数生成器,即随机种子对其无效,你需要对其转换的方式来指定参数

to_tensor

torchvision.transforms.functional.to_tensor(pic)

将PIL Image或者numpy.ndarray转化为tensor
返回:tensor

  • pic - PIL Image或者numpy.ndarray

pad

torchvision.transforms.functional.pad(img, padding, fill, padding_mode)

将输入图片的所有边进行填充
返回:PIL Image or Tensor

  • img(PIL Image or Tensor) - 填充的图像
  • padding(int or sequence) - 如果是int,对所有边都进行填充。如果是两个值,对左右和上下分别填充。如果是四个值,分别填充左上右下
  • fill - Pixel fill value for constant fill. Default is 0.如果是一个长度为3的元祖,则分别填充RGB三个值,只有在padding_mode为constant的时候使用
  • padding_mode - 填充类型,默认为constant
    • constant:填充特定的值,由fill变量指定
    • edge:由图像边缘的值进行填充
    • reflect:以边为对称轴进行填充,不重复边上的值。例如以2填充[1,2,3,4]会得到[3,2,1,2,3,4,3,2]
    • symmetric:以图像边的最后一个值填充。例如以2填充[1,2,3,4]会得到[3,2,1,2,3,4,3,2]

adjust_gamma

torchvision.transforms.functional.adjust_gamma(img, gamma, gain:float=1)

对一张图片进行gamma校正
返回:gamma校正的图片

Iout=255×gain×(Iin255)γI_{out} = 255\times gain\times (\frac{I_{in}}{255})^{\gamma} Iout​=255×gain×(255Iin​​)γ

  • img - PIL Image or Tensor
  • gamma - float. gamma大于1会让阴影变暗,gamma小于1会让暗的区域变亮
  • gain - 乘积因子

adjust_saturation

torchvision.transforms.functional.adjust_saturation(img, saturation_factor:float)

调整图片的饱满度
返回:PIL Image or Tensor

  • img - PIL Image or Tensor
  • saturation_factor - float. 调整饱满度。黑白图:0,不变:1,增强饱满度:2

PyTorch学习(二):Transform相关推荐

  1. Pytorch学习(二)—— nn模块

    torch.nn nn.Module 常用的神经网络相关层 损失函数 优化器 模型初始化策略 nn和autograd nn.functional nn和autograd的关系 hooks简介 模型保存 ...

  2. pytorch学习(二)梯度:什么叫梯度?什么叫梯度下降

    什么叫梯度? 在给梯度下一个准确的定义的时候,我们先来假设这样几种情况:(1)有一块金属板,下面有一处定点加热.然而,有一只蚂蚁正好在金属板的上面.随着加热的进行,金属板的温度会越来越高,蚂蚁会往凉快 ...

  3. PyTorch框架学习二十——模型微调(Finetune)

    PyTorch框架学习二十--模型微调(Finetune) 一.Transfer Learning:迁移学习 二.Model Finetune:模型的迁移学习 三.看个例子:用ResNet18预训练模 ...

  4. 深度学习二(Pytorch物体检测实战)

    深度学习二(Pytorch物体检测实战) 文章目录 深度学习二(Pytorch物体检测实战) 1.PyTorch基础 1.1.基本数据结构:Tensor 1.1.1.Tensor数据类型 1.1.2. ...

  5. [pytorch] PyTorch Metric Learning库代码学习二 Inference

    PyTorch Metric Learning库代码学习二 Inference Install the packages Import the packages Create helper funct ...

  6. pytorch学习笔记(二):gradien

    pytorch学习笔记(二):gradient 2017年01月21日 11:15:45 阅读数:17030

  7. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

  8. PyTorch框架学习二——基本数据结构(张量)

    PyTorch框架学习二--基本数据结构(张量) 一.什么是张量? 二.Tensor与Variable(PyTorch中) 1.Variable 2.Tensor 三.Tensor的创建 1.直接创建 ...

  9. PyTorch学习笔记(二):PyTorch简介与基础知识

    往期学习资料推荐: 1.Pytorch实战笔记_GoAI的博客-CSDN博客 2.Pytorch入门教程_GoAI的博客-CSDN博客 本系列目录: PyTorch学习笔记(一):PyTorch环境安 ...

  10. pytorch学习笔记十二:优化器

    前言 机器学习中的五个步骤:数据 --> 模型 --> 损失函数 --> 优化器 --> 迭代训练,通过前向传播,得到模型的输出和真实标签之间的差异,也就是损失函数,有了损失函 ...

最新文章

  1. 大数据的两面性_大数据,多大的数据才是大数据?
  2. 赔偿谷歌1.8亿美元!前Uber自动驾驶主管被告到破产
  3. Overlay 网络 — Overview
  4. Visual Studio附加到进程调试
  5. gitbook的使用
  6. 17年9月计算机二级试题,9月计算机二级MSOffice练习试题
  7. GitPush时提示:fatal: The remote end hung up unexpectedly
  8. Android Activity的生命周期、意图(Intent)
  9. 工作228:小程序学习2开始布局页面2
  10. C语言程序设计与有限元,C语言与有限元程序设计.pdf
  11. CF962E Byteland, Berland and Disputed Cities
  12. Python之定义可变参数
  13. XP命令合集(开始→运行→输入的命令集锦开始→运行→输入的命令集锦)
  14. .net控件开发系列
  15. 190811每日一句
  16. zmap扫描mysql_45分钟扫遍全网:最快的互联网扫描工具ZMap
  17. 深度学习之卷积神经网络(CNN)的设计准则
  18. [Python36] 01 start
  19. 【数据库认证】OCM准备及考试经验总结
  20. 计算机管理老是自动打开,电脑老是自动重启怎么回事怎么解决

热门文章

  1. 【书评】《你好哇,程序员——漫话程序员面试求职、升职加薪、创业与生活》
  2. Android上的CPU和GPU是共享内存,为什么有的手机从GPU读取数据还是很慢?
  3. Java常用关键字查询
  4. yocto系列讲解[技巧篇]72 - BBCLASSEXTEND变量的作用
  5. c语言数据类型转换规律,c语言,数据类型转换
  6. msg1500说明书_拆解电信定制 瑞斯达康MSG1500 双频路由器
  7. NetKeeper720,能上QQ不能上网
  8. 百度翻译API教程(完整Android代码)
  9. 云端服务器怎么修改密码,云端服务器怎么设置登录密码
  10. Ubuntu搭建透明网桥