Pytorch

torchvision介绍

torchvision是pytorch的一个图形库,它服务于PyTorch深度学习框架的,主要用来构建计算机视觉模型。torchvision.transforms主要是用于常见的一些图形变换。以下是torchvision的构成:

​ torchvision.datasets: 一些加载数据的函数及常用的数据集接口

​ torchvison.models :包含常用的模型结构(含预训练模型),例如AlexNet , VGG, ResNet

​ torchvison.transforms: 常用的图片变换,例如裁剪,旋转等

​ torchvison.utils :其他一些有用的方法

1、transforms函数解析:torchvision.transforms 是pytorch中的图像预处理包,一般用Compose把多个图片变换步骤整合到一起。(实际是个列表,而这个列表里面的元素就是你想要执行的transform操作。Compose()类会将transforms列表里面的transform操作进行遍历。)如下所示

  • import torch
    import torchvision.transforms as transforms
    torch_transforms = transforms.Compose([transforms.ToTensor(),# (CHW)transforms.Normalsize([0.5, 0.5,0.5],[0.5, 0.5,0.5])# CHW的mean 和std]
    )
    

    transforms中的函数:

Resize 把给定的图片resize到given size
Normalize 用均值和标准差归一化张量图像(对于网络模型训练等,是为了加速神经网络训练收敛,以及保证程序运行时收敛加快)
ToTensor convert a PIL image to tensor (HWC) in range [0,255] to a torch.Tensor(CHW) in the range [0.0,1.0]
CenterCrop 在图片的中间区域进行裁剪
RandomCrop 在一个随机位置进行裁剪
FiceCrop 把图像裁剪为四个角和一个中心
RandomResizeCrop 将PIL图像裁剪成任意大小和纵横比
ToPILImage 将张量改为PIL Image
RandomHorizontalFlip 以0.5的概率水平翻转给定的PIL图像
RandomVerticalFlip 以0.5的概率竖直翻转给定的图像
Grayscale 将图像转换为灰度图像
RandomGrayscale 将图像以一定的概率转换为灰度图像
Color Jitter 随机改变图像的亮度对比度和饱和度

transform.Normalize()是怎么工作的呢?以上面代码为例,

  • ToTensor()能够把灰度范围从0~255变换到0-1之间
  • transform.Normalize()则把0-1变换到(-1,1)

具体地说,对每个通道而言,Normalize执行以下操作:
image=(image-mean)/std
其中mean和std分别通过(0.5,0.5,0.5)和(0.5,0.5,0.5)进行指定。原来的0-1最小值0则变成(0-0.5)/0.5=-1,而最大值1则变成(1-0.5)/0.5=1.

Pytorch transform相关推荐

  1. 【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)

    目录 一.深度学习项目的基本构成 二.实战(猫狗分类) 1.数据集下载 2.dataset.py文件 3.model.py 4.config.py 5.predict.py 一.深度学习项目的基本构成 ...

  2. pytorch深度学习_用于数据科学家的深度学习的最小pytorch子集

    pytorch深度学习 PyTorch has sort of became one of the de facto standards for creating Neural Networks no ...

  3. 深度学习语义分割理论与实战指南

    本文来自微信公众号[机器学习实验室] 深度学习语义分割理论与实战指南 1 语义分割概述 2 关键技术组件 2.1 编码器与分类网络 2.2 解码器与上采样 2.2.1 双线性插值(Bilinear I ...

  4. pytorch torchvision.transform.Compose

    应用 transforms.Compose([transforms.CenterCrop(10),transforms.ToTensor(), ]) ```# API 将transforms组合起来 ...

  5. (第一篇)pytorch数据预处理三剑客之——Dataset,DataLoader,Transform

    前言:在深度学习中,数据的预处理是第一步,pytorch提供了非常规范的处理接口,本文将针对处理过程中的一些问题来进行说明,本文所针对的主要数据是图像数据集. 本文的案例来源于车道线语义分割,采用的数 ...

  6. pytorch中transform的使用

    transform中各类用法 1.ToTensor转换图片格式 2.Normalize图片标准化 3.Resize图片大小缩放 4.Compose整合以上多个类 5.其它类如RandomCrop随机裁 ...

  7. pytorch使用 torchvision 的 Transform 读取图片数据

    import torchvision.transforms as transforms transforms 模块提供了一般的图像转换操作类. class torchvision.transforms ...

  8. pytorch的transform中ToTensor接着Normalize

    在猫狗二分类的学习中,碰到以下代码: 看了一下ToTensor的描述如下:   说的是ToTesnor会,而且将数据归一化到均值为0,方差为1(是将数据除以255),那么归一化后为什么还要接一个Nor ...

  9. Pytorch实现MNIST(附SGD、Adam、AdaBound不同优化器下的训练比较) adabound实现

     学习工具最快的方法就是在使用的过程中学习,也就是在工作中(解决实际问题中)学习.文章结尾处附完整代码. 一.数据准备   在Pytorch中提供了MNIST的数据,因此我们只需要使用Pytorch提 ...

  10. [实现] 利用 Seq2Seq 预测句子后续字词 (Pytorch)2

    最近有个任务:利用 RNN 进行句子补全,即给定一个不完整的句子,预测其后续的字词. 本文使用了 Seq2Seq 模型,输入为 5 个中文字词,输出为 1 个中文字词. 目录 关于RNN 语料预处理 ...

最新文章

  1. 为啥不能用uuid做MySQL的主键?
  2. django in的一点心得
  3. Duktape 集成
  4. 三层架构:软件设计架构
  5. 2PC协议(2-phase-commit protocol)
  6. 【Leetcode | 13】56. 合并区间
  7. 约束布局constraint-layout导入失败的解决方案 - 转
  8. 【高等数学】高等数学基础理论归纳
  9. oppo刷机工具_黔隆科技刷机教程OPPOR9TM忘记密码免刷机保资料解屏幕锁教程
  10. php抽奖概率算法(刮刮卡,大转盘)
  11. 抢注“哔哩哔哩”商标卖成人用品?A站回应:不符合价值观 已申请注销
  12. eclipse乱码解决
  13. ubuntu 编译 hercules 主机安装 z/OS 教程
  14. Uber开源基于web的自主可视化系统,可共享数据
  15. sap字段及描述底表_SAP各模块字段与表的对应关系.
  16. Android友盟分享7.1.5版本巨坑
  17. CCF CSP 201512-02 消除类游戏
  18. Blender2.9入门篇
  19. ftp-cmd常用命令
  20. 开箱体验: Web研发从石器时代过渡青铜时代复盘心得

热门文章

  1. 韩媒:开城韩商访朝申请或最晚25日出结果
  2. 今日开放式基金净值表
  3. Springboot集成Screw生成数据库表结构文档
  4. 如何申请成为企业微信,并成为第三方服务商
  5. 计算机的音量找不到了,音量控制不见了_电脑右下角调音量的小喇叭没有了,是怎么回事?该......
  6. 密码学和Java加密与解密技术
  7. python寻找所有三位数素数_寻找所有的素数的python实现
  8. 哪些产品需要过3C认证?3C认证具体清单
  9. VS2013扩展——Advanced JavaScript outlining,让js和css也折叠
  10. 华为薪资等级结构表_华为公司等级薪酬制度