Pytorch

十年热恋 提交于 2020-09-29 07:48:03

Pytorch - torchvision

简介

torchvision是Pytorch的计算机视觉工具库,是Pytorch专门用于处理图像的库。

model

torchvision.models中包含了许多已经训练好的模型,可以通过models直接调用。
模型

  1. AlexNet
  2. VGG
  3. ResNet
  4. SqueezeNet
  5. DenseNet

datasets

torchvision.datasets中,包含了许多已经被处理过的图片数据集,可以通过datasets直接调用。
数据集

  1. MNIST:手写数字数据集
  2. COCO:用于图像标注和目标检测
  3. LSUN Classification
  4. ImageFolder
  5. Imagenet-12
  6. CIFAR10 and CIFAR100
  7. STL10

transforms

transforms模块提供了一般的图像预处理方法, 例如

  • 数据中心化
  • 数据标准化
  • 缩放
  • 裁剪
  • 旋转
  • 翻转
  • 填充
  • 噪声添加
  • 灰度变换
  • 线性变换
  • 仿射变换
  • 亮度
  • 饱满度及对比度变换

  • 这些方法可以用于对图像的数据增强,又称为数据增广,数据扩增,是对训练集进行变换,使训练集更加丰富,从而使模型具有泛化能力。
    具体方法与函数:

裁剪 作用
CenterCrop 从图像中心裁剪图像
RandomCrop 从图片中随即裁剪出给定尺寸的图片(可填充)
ResizedCrop 随即大小,长宽比剪裁图片
FiveCrop 在图片的四个角和中心各截取一幅尺寸为size的图片
TenCrop 在FiveCrop的基础上进行水平和垂直翻转,默认为水平翻转
翻转 作用
RandomHorziontalFlip 依概率水平翻转图片
RandomVerticalFlip 依概率垂直翻转图片
RandomRotation 随机旋转图片
图像处理 作用
Pad 对图片边缘进行填充
Resize 修改图像分辨率
ColorJitter 调整亮度,对比度,饱和度和色相
Grayscale 转换为灰度
RandomGrayscale 依概率转换为灰度图片
RandomAffine 对图像进行仿射变换(二维的线性变换),即旋转、平移、缩放、错切和翻转
RandomErasing 对图像进行随机遮挡
Normalize 逐channel的对图像进行标准化, output = (input - mean) / std
Lanbda 用户自定义Lambda方法
Totensor 转化为张量
LinearTransformation 对矩阵做线性变换,可以用于白化处理
ToPILImage 将ndarray或者张良转化为PIL Image类型数据
transforms操作 作用
RandomChoice 从一系列transforms中选择一个
RandomApply 依概率执行一组transforms操作
RandomOrder 对一组transforms操作打乱顺序

代码实现

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!