Pytorch transform
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相关推荐
- 【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)
目录 一.深度学习项目的基本构成 二.实战(猫狗分类) 1.数据集下载 2.dataset.py文件 3.model.py 4.config.py 5.predict.py 一.深度学习项目的基本构成 ...
- pytorch深度学习_用于数据科学家的深度学习的最小pytorch子集
pytorch深度学习 PyTorch has sort of became one of the de facto standards for creating Neural Networks no ...
- 深度学习语义分割理论与实战指南
本文来自微信公众号[机器学习实验室] 深度学习语义分割理论与实战指南 1 语义分割概述 2 关键技术组件 2.1 编码器与分类网络 2.2 解码器与上采样 2.2.1 双线性插值(Bilinear I ...
- pytorch torchvision.transform.Compose
应用 transforms.Compose([transforms.CenterCrop(10),transforms.ToTensor(), ]) ```# API 将transforms组合起来 ...
- (第一篇)pytorch数据预处理三剑客之——Dataset,DataLoader,Transform
前言:在深度学习中,数据的预处理是第一步,pytorch提供了非常规范的处理接口,本文将针对处理过程中的一些问题来进行说明,本文所针对的主要数据是图像数据集. 本文的案例来源于车道线语义分割,采用的数 ...
- pytorch中transform的使用
transform中各类用法 1.ToTensor转换图片格式 2.Normalize图片标准化 3.Resize图片大小缩放 4.Compose整合以上多个类 5.其它类如RandomCrop随机裁 ...
- pytorch使用 torchvision 的 Transform 读取图片数据
import torchvision.transforms as transforms transforms 模块提供了一般的图像转换操作类. class torchvision.transforms ...
- pytorch的transform中ToTensor接着Normalize
在猫狗二分类的学习中,碰到以下代码: 看了一下ToTensor的描述如下: 说的是ToTesnor会,而且将数据归一化到均值为0,方差为1(是将数据除以255),那么归一化后为什么还要接一个Nor ...
- Pytorch实现MNIST(附SGD、Adam、AdaBound不同优化器下的训练比较) adabound实现
学习工具最快的方法就是在使用的过程中学习,也就是在工作中(解决实际问题中)学习.文章结尾处附完整代码. 一.数据准备 在Pytorch中提供了MNIST的数据,因此我们只需要使用Pytorch提 ...
- [实现] 利用 Seq2Seq 预测句子后续字词 (Pytorch)2
最近有个任务:利用 RNN 进行句子补全,即给定一个不完整的句子,预测其后续的字词. 本文使用了 Seq2Seq 模型,输入为 5 个中文字词,输出为 1 个中文字词. 目录 关于RNN 语料预处理 ...
最新文章
- 为啥不能用uuid做MySQL的主键?
- django in的一点心得
- Duktape 集成
- 三层架构:软件设计架构
- 2PC协议(2-phase-commit protocol)
- 【Leetcode | 13】56. 合并区间
- 约束布局constraint-layout导入失败的解决方案 - 转
- 【高等数学】高等数学基础理论归纳
- oppo刷机工具_黔隆科技刷机教程OPPOR9TM忘记密码免刷机保资料解屏幕锁教程
- php抽奖概率算法(刮刮卡,大转盘)
- 抢注“哔哩哔哩”商标卖成人用品?A站回应:不符合价值观 已申请注销
- eclipse乱码解决
- ubuntu 编译 hercules 主机安装 z/OS 教程
- Uber开源基于web的自主可视化系统,可共享数据
- sap字段及描述底表_SAP各模块字段与表的对应关系.
- Android友盟分享7.1.5版本巨坑
- CCF CSP 201512-02 消除类游戏
- Blender2.9入门篇
- ftp-cmd常用命令
- 开箱体验: Web研发从石器时代过渡青铜时代复盘心得
热门文章
- 韩媒:开城韩商访朝申请或最晚25日出结果
- 今日开放式基金净值表
- Springboot集成Screw生成数据库表结构文档
- 如何申请成为企业微信,并成为第三方服务商
- 计算机的音量找不到了,音量控制不见了_电脑右下角调音量的小喇叭没有了,是怎么回事?该......
- 密码学和Java加密与解密技术
- python寻找所有三位数素数_寻找所有的素数的python实现
- 哪些产品需要过3C认证?3C认证具体清单
- VS2013扩展——Advanced JavaScript outlining,让js和css也折叠
- 华为薪资等级结构表_华为公司等级薪酬制度