Pytorch使用transforms
首先,这次讲解的tansforms
功能,通俗地讲,类似于在计算机视觉流程里的图像预处理部分的数据增强。
transforms的原理:
说明:图片(输入)通过工具得到结果(输出),这个工具,就是transforms
模板工具,(tool=transforms.ToTensor()
具体工具),使用工具result=tool
(图片)
tansforms的调用与使用,由下图可得:
- 先创建一个
transforms.Tensor(),
使用from torchvision import transforms
调包 transforms
去调init函数- init去调用真正的
transforms
类,里面就有很多的方法(绿色五角星标注),例如:resize
,ToTensor
,CenterCrop
(从这些方法可以看出,许多都是数据增强的方法)。
接下来,上代码:
import os from torchvision import transforms from PIL import Image root_path = "D:\\data\\basic\\Image" label_path = "aligned" # 1.获取aligned第一张图的名字 img_dir = os.path.join(root_path, label_path) img_list = os.listdir(img_dir) img_path = img_list[0] # 2.获取aligned第一张图的路径 img = os.path.join(root_path, label_path, img_path) # 3.使用python自带的PIL获取图片 img = Image.open(img) # 4.将PIL利用transforms转换成ToTensor to_tensor = transforms.ToTensor() # 创建totensor () img = to_tensor(img) # 使用to_tensor直接将图片的PIL转化为tensor print(img) # transforms
代码结果:
相关推荐
-
Pytorch使用transforms
首先,这次讲解的tansforms功能,通俗地讲,类似于在计算机视觉流程里的图像预处理部分的数据增强. transforms的原理: 说明:图片(输入)通过工具得到结果(输出),这个工具,就是transforms模板工具,(tool=transforms.ToTensor()具体工具),使用工具result=tool(图片) tansforms的调用与使用,由下图可得: 先创建一个transforms.Tensor(),使用from torchvision import transforms调包
-
Pytoch之torchvision.transforms图像变换实例
transforms.CenterCrop(size) 将给定的PIL.Image进行中心切割,得到给定的size,size可以是tuple,(target_height, target_width).size也可以是一个Integer,在这种情况下,切出来的图片的形状是正方形. size可以为int,也可以为float #定义中心切割 centerCrop = transforms.CenterCrop((img.size[0]/2,img.size[1]/2)) imgccrop = cen
-
pytorch中的transforms模块实例详解
pytorch中的transforms模块中包含了很多种对图像数据进行变换的函数,这些都是在我们进行图像数据读入步骤中必不可少的,下面我们讲解几种最常用的函数,详细的内容还请参考pytorch官方文档(放在文末). data_transforms = transforms.Compose([ transforms.RandomResizedCrop(224), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms
-
初识Pytorch使用transforms的代码
首先,这次讲解的tansforms功能,通俗地讲,类似于在计算机视觉流程里的图像预处理部分的数据增强. transforms的原理: 说明:图片(输入)通过工具得到结果(输出),这个工具,就是transforms模板工具,(tool=transforms.ToTensor()具体工具),使用工具result=tool(图片) tansforms的调用与使用,由下图可得: 先创建一个transforms.Tensor(),使用from torchvision import transforms调包
-
pytorch 中transforms的使用详解
目录 transforms ToTensor transforms使用 为什么需要tensor数据类型呢? 常见的transforms 内置方法__call__() Normalize Resize Compose transforms 按住Ctrl查看transforms的源码可以知道,transforms就是一个python文件,里面定义了很多类,每一个类都是一个工具在结构那里,可以看到有很多的类 ToTensor Convert a PIL Image or numpy.ndarray t
-
Pytorch中transforms.Resize()的简单使用
目录 transforms.Resize()的简单使用 transforms.Resize([224, 224])解读 transforms.Resize()的简单使用 简单来说就是调整PILImage对象的尺寸,注意不能是用io.imread或者cv2.imread读取的图片,这两种方法得到的是ndarray. 将图片短边缩放至x,长宽比保持不变: transforms.Resize(x) 而一般输入深度网络的特征图长宽是相等的,就不能采取等比例缩放的方式了,需要同时指定长宽: transfo
-
Pytorch中的Tensorboard与Transforms搭配使用
这章是结合之前学习的Tensforboard与Transforms的一个练习. 直接上代码: from PIL import Image from torch.utils.tensorboard import SummaryWriter from torchvision import transforms import os root_path = "D:\\data\\basic\\Image" lable_path = "aligned" img_dir = o
-
pytorch中的transforms.ToTensor和transforms.Normalize的实现
目录 transforms.ToTensor transforms.Normalize transforms.ToTensor 最近看pytorch时,遇到了对图像数据的归一化,如下图所示: 该怎么理解这串代码呢?我们一句一句的来看,先看transforms.ToTensor(),我们可以先转到官方给的定义,如下图所示: 大概的意思就是说,transforms.ToTensor()可以将PIL和numpy格式的数据从[0,255]范围转换到[0,1] ,具体做法其实就是将原始数据除以255.另外
-
Pytorch入门之mnist分类实例
本文实例为大家分享了Pytorch入门之mnist分类的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'denny' __time__ = '2017-9-9 9:03' import torch import torchvision from torch.autograd import Variable import torch.utils.data.dataloader as Data
-
PyTorch上实现卷积神经网络CNN的方法
一.卷积神经网络 卷积神经网络(ConvolutionalNeuralNetwork,CNN)最初是为解决图像识别等问题设计的,CNN现在的应用已经不限于图像和视频,也可用于时间序列信号,比如音频信号和文本数据等.CNN作为一个深度学习架构被提出的最初诉求是降低对图像数据预处理的要求,避免复杂的特征工程.在卷积神经网络中,第一个卷积层会直接接受图像像素级的输入,每一层卷积(滤波器)都会提取数据中最有效的特征,这种方法可以提取到图像中最基础的特征,而后再进行组合和抽象形成更高阶的特征,因此CNN在
-
PyTorch读取Cifar数据集并显示图片的实例讲解
首先了解一下需要的几个类所在的package from torchvision import transforms, datasets as ds from torch.utils.data import DataLoader import matplotlib.pyplot as plt import numpy as np #transform = transforms.Compose是把一系列图片操作组合起来,比如减去像素均值等. #DataLoader读入的数据类型是PIL.Image
随机推荐
- php实现的生成迷宫与迷宫寻址算法完整实例
- windows和linux下Ruby的下载与安装
- jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
- 关于jquery form表单序列化的注意事项详解
- AngularJS通过ng-Img-Crop实现头像截取的示例
- 让IIS6支持JSP的设置方法(IIS完美整合Tomcat)
- 让JavaScript和其它资源并发下载的方法
- Smarty模板简单配置与使用方法示例
- Android中通过Notification&NotificationManager实现消息通知
- linux系统下定时执行php脚本的方法
- jquery定时滑出可最小化的底部提示层特效代码
- Android 用Time和Calendar获取系统当前时间源码分享(年月日时分秒周几)
- FTP 分类账户设置经验谈
- 写给1000-5000 ip的站长兄弟们
- C++ 中"emplace_back" 与 "push_back" 的区别
- Android自定义渐变式炫酷ListView下拉刷新动画
- IE地址栏消失问题的巧妙解决
- Linux创建进程达到65535的方法
- MySQL 整表加密解决方案 keyring_file详解
- Django csrf 验证问题的实现