PyTorch官方中文文档:torchvision.transforms

pytorch torchvision transform

对PIL.Image进行变换

class torchvision.transforms.Compose(transforms)

将多个transform组合起来使用。

transforms: 由transform构成的列表.
例子:

transforms.Compose([
     transforms.CenterCrop(10),
     transforms.ToTensor(),
 ])
 ```

### class torchvision.transforms.Scale(size, interpolation=2)

将输入的`PIL.Image`重新改变大小成给定的`size`,`size`是最小边的边长。举个例子,如果原图的`height>width`,那么改变大小后的图片大小是`(size*height/width, size)`。
**用例:**
```python
from torchvision import transforms
from PIL import Image
crop = transforms.Scale(12)
img = Image.open(‘test.jpg‘)

print(type(img))
print(img.size)

croped_img=crop(img)
print(type(croped_img))
print(croped_img.size)
<class ‘PIL.PngImagePlugin.PngImageFile‘>
(10, 10)
<class ‘PIL.Image.Image‘>
(12, 12)

class torchvision.transforms.CenterCrop(size)

将给定的PIL.Image进行中心切割,得到给定的sizesize可以是tuple(target_height, target_width)size也可以是一个Integer,在这种情况下,切出来的图片的形状是正方形。

class torchvision.transforms.RandomCrop(size, padding=0)

切割中心点的位置随机选取。size可以是tuple也可以是Integer

class torchvision.transforms.RandomHorizontalFlip

随机水平翻转给定的PIL.Image,概率为0.5。即:一半的概率翻转,一半的概率不翻转。

class torchvision.transforms.RandomSizedCrop(size, interpolation=2)

先将给定的PIL.Image随机切,然后再resize成给定的size大小。

class torchvision.transforms.Pad(padding, fill=0)

将给定的PIL.Image的所有边用给定的pad value填充。
padding:要填充多少像素
fill:用什么值填充
例子:

from torchvision import transforms
from PIL import Image
padding_img = transforms.Pad(padding=10, fill=0)
img = Image.open(‘test.jpg‘)

print(type(img))
print(img.size)

padded_img=padding(img)
print(type(padded_img))
print(padded_img.size)
<class ‘PIL.PngImagePlugin.PngImageFile‘>
(10, 10)
<class ‘PIL.Image.Image‘>
(30, 30) #由于上下左右都要填充10个像素,所以填充后的size是(30,30)

对Tensor进行变换

class torchvision.transforms.Normalize(mean, std)

给定均值:(R,G,B) 方差:(R,G,B),将会把Tensor正则化。即:Normalized_image=(image-mean)/std

Conversion Transforms

class torchvision.transforms.ToTensor

把一个取值范围是[0,255]PIL.Image或者shape(H,W,C)numpy.ndarray,转换成形状为[C,H,W],取值范围是[0,1.0]torch.FloadTensor

data = np.random.randint(0, 255, size=300)
img = data.reshape(10,10,3)
print(img.shape)
img_tensor = transforms.ToTensor()(img) # 转换成tensor
print(img_tensor)

class torchvision.transforms.ToPILImage

shape(C,H,W)Tensorshape(H,W,C)numpy.ndarray转换成PIL.Image,值不变。

通用变换

class torchvision.transforms.Lambda(lambd)

使用lambd作为转换器。

艾伯特(http://www.aibbt.com/)国内第一家人工智能门户

原文地址:https://www.cnblogs.com/aibbt/p/8540458.html

时间: 2024-11-01 11:32:24

PyTorch官方中文文档:torchvision.transforms的相关文章

PyTorch官方中文文档:torch

torch 包 torch 包含了多维张量的数据结构以及基于其上的多种数学操作.另外,它也提供了多种工具,其中一些可以更有效地对张量和任意类型进行序列化. 它有CUDA 的对应实现,可以在NVIDIA GPU上进行张量运算(计算能力>=2.0). http://www.aibbt.com/a/pytorch/ 张量 Tensors torch.is_tensor[source] torch.is_tensor(obj) 如果obj 是一个pytorch张量,则返回True 参数: obj (Ob

OkHttp 官方中文文档

OkHttp官方中文文档 本文结构 Calls Connections Recipes Interceptors HTTPS 本文翻译来自 官方OkHttp Wiki OkHttp官方中文文档 一Calls 1 请求 2 响应 3重写请求 4重写响应 5后续请求 6请求重试 7 呼叫 8调度 二Connections 1URLs URLs摘要 2 Addresses 3 Routes 4Connections 三Recipes 1同步获取 2异步获取 3访问头 4Posting a String

django2.0 官方中文文档地址

django2.0 官方开始发布中文文档了,之前还想着一直翻译完成所有有必要的内容,想着可以省事一些了,打开以后看了一下,发现官方的中文文档还没翻译完成, 现在(2018-7-10)最新章节是是  编写你的第一个 Django 补丁(https://docs.djangoproject.com/zh-hans/2.0/intro/contributing/) django 2.0 官方中文文档地址: https://docs.djangoproject.com/zh-hans/2.0/ 原文地址

利用Python3内置文档资源高效学习及官方中文文档

从前面的对Python基础知识方法介绍中,我们几乎是围绕Python内置方法进行探索实践,比如字符串.列表.字典等数据结构的内置方法,和大量内置的标准库,诸如functools.time.threading等等,而我们怎么快速学习掌握并学会使用这个Python的工具集呢? 我们可以利用Python的内置文档大量资源既可以掌握许多关于Python工具集的基本使用. dir函数 Python中内置的dir函数用于提取某对象内所有属性的方法,,诸如对象的方法及属性 L = [1, 2, 3, 4] p

一、frp官方中文文档

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议. 目录 frp 的作用 开发状态 架构 使用示例 通过 ssh 访问公司内网机器 通过自定义域名访问部署于内网的 web 服务 转发 DNS 查询请求 转发 Unix域套接字 对外提供简单的文件访问服务 安全地暴露内网服务 点对点内网穿透 通过 frpc 所在机器访问外网 功能说明 配置文件 Dashboard 身份验证 加密与压缩 客户端热加载配置文件 客户端查看代理状态 特权模式 端口

Keras官方中文文档:卷积层Convolutional

卷积层 Conv1D层 keras.layers.convolutional.Conv1D(filters, kernel_size, strides=1, padding='valid', dilation_rate=1, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=

Keras官方中文文档:高级激活层Advanced Activation

高级激活层Advanced Activation LeakyReLU层 keras.layers.advanced_activations.LeakyReLU(alpha=0.3) LeakyRelU是修正线性单元(Rectified Linear Unit,ReLU)的特殊版本,当不激活时,LeakyReLU仍然会有非零输出值,从而获得一个小梯度,避免ReLU可能出现的神经元"死亡"现象.即,f(x)=alpha * x for x < 0, f(x) = x for x>

Keras官方中文文档:工具

utils 工具 本模块提供了一系列有用工具 CustomObjectScope keras.utils.generic_utils.CustomObjectScope() 提供定制类的作用域,在该作用域内全局定制类能够被更改,但在作用域结束后将回到初始状态.以with声明开头的代码将能够通过名字访问定制类的实例,在with的作用范围,这些定制类的变动将一直持续,在with作用域结束后,全局定制类的实例将回归其在with作用域前的状态. with CustomObjectScope({"MyOb

Keras官方中文文档:融合层Merge

Merge层 Merge层提供了一系列用于融合两个层或两个张量的层对象和方法.以大写首字母开头的是Layer类,以小写字母开头的是张量的函数.小写字母开头的张量函数在内部实际上是调用了大写字母开头的层. Add keras.layers.Add() 添加输入列表的图层. 该层接收一个相同shape列表张量,并返回它们的和,shape不变. Example import keras input1 = keras.layers.Input(shape=(16,)) x1 = keras.layers