初识Pytorch使用transforms的代码
首先,这次讲解的tansforms
功能,通俗地讲,类似于在计算机视觉流程里的图像预处理部分的数据增强。
transforms
的原理:
说明:图片(输入)通过工具得到结果(输出),这个工具,就是transforms模板工具,(tool=transforms.ToTensor()具体工具),使用工具result=tool(图片)
tansforms
的调用与使用,由下图可得: 先创建一个transforms.Tensor()
,使用from torchvision import transforms
调包transforms
去调init
函数init
去调用真正的transforms
类,里面就有很多的方法(绿色五角星标注),例如:resize,ToTensor,CenterCrop
(从这些方法可以看出,许多都是数据增强的方法)。
3. 接下来,上代码:
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的文章就介绍到这了,更多相关Pytorch使用transforms内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
pytorch中的transforms模块实例详解
pytorch中的transforms模块中包含了很多种对图像数据进行变换的函数,这些都是在我们进行图像数据读入步骤中必不可少的,下面我们讲解几种最常用的函数,详细的内容还请参考pytorch官方文档(放在文末). data_transforms = transforms.Compose([ transforms.RandomResizedCrop(224), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms
-
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
首先,这次讲解的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的代码
首先,这次讲解的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实现ResNet结构的实例代码
1.ResNet的创新 现在重新稍微系统的介绍一下ResNet网络结构. ResNet结构首先通过一个卷积层然后有一个池化层,然后通过一系列的残差结构,最后再通过一个平均池化下采样操作,以及一个全连接层的得到了一个输出.ResNet网络可以达到很深的层数的原因就是不断的堆叠残差结构而来的. 1)亮点 网络中的亮点 : 超深的网络结构( 突破1000 层) 提出residual 模块 使用Batch Normalization 加速训练( 丢弃dropout) 但是,一般来说,并不是一直的加深神经
-
Pytorch加载数据集的方式总结及补充
目录 前言 一.自己重写定义(Dataset.DataLoader) 二.用Pytorch自带的类(ImageFolder.datasets.DataLoader) 2.1 加载自己的数据集 2.1.1 ImageFolder介绍 2.2.2 ImageFolder加载数据集完整例子 2.2 加载常见的数据集 三.总结 四.transforms变换讲解 五.DataLoader的补充 总结 前言 在用Pytorch加载数据集时,看GitHub上的代码经常会用到ImageFolder.DataLo
-
画pytorch模型图,以及参数计算的方法
刚入pytorch的坑,代码还没看太懂.之前用keras用习惯了,第一次使用pytorch还有些不适应,希望广大老司机多多指教. 首先说说,我们如何可视化模型.在keras中就一句话,keras.summary(),或者plot_model(),就可以把模型展现的淋漓尽致. 但是pytorch中好像没有这样一个api让我们直观的看到模型的样子.但是有网友提供了一段代码,可以把模型画出来,对我来说简直就是如有神助啊. 话不多说,上代码吧. import torch from torch.autog
-
pytorch中获取模型input/output shape实例
Pytorch官方目前无法像tensorflow, caffe那样直接给出shape信息,详见 https://github.com/pytorch/pytorch/pull/3043 以下代码算一种workaround.由于CNN, RNN等模块实现不一样,添加其他模块支持可能需要改代码. 例如RNN中bias是bool类型,其权重也不是存于weight属性中,不过我们只关注shape够用了. 该方法必须构造一个输入调用forward后(model(x)调用)才可获取shape #coding
-
Pytorch转keras的有效方法,以FlowNet为例讲解
Pytorch凭借动态图机制,获得了广泛的使用,大有超越tensorflow的趋势,不过在工程应用上,TF仍然占据优势.有的时候我们会遇到这种情况,需要把模型应用到工业中,运用到实际项目上,TF支持的PB文件和TF的C++接口就成为了有效的工具.今天就给大家讲解一下Pytorch转成Keras的方法,进而我们也可以获得Pb文件,因为Keras是支持tensorflow的,我将会在下一篇博客讲解获得Pb文件,并使用Pb文件的方法. Pytorch To Keras 首先,我们必须有清楚的认识,网上
-
pytorch固定BN层参数的操作
背景: 基于PyTorch的模型,想固定主分支参数,只训练子分支,结果发现在不同epoch相同的测试数据经过主分支输出的结果不同. 原因: 未固定主分支BN层中的running_mean和running_var. 解决方法: 将需要固定的BN层状态设置为eval. 问题示例: 环境:torch:1.7.0 # -*- coding:utf-8 -*- import torch import torch.nn as nn import torch.nn.functional as F class
随机推荐
- Nginx下301重定向域名的方法小结
- Apache Commons Math3探索之快速傅立叶变换代码示例
- 使用ASP.NET.4.5.1+MVC5.0 搭建一个包含 Ninject框架 项目
- php实现的二分查找算法示例
- 简单分析ucenter 会员同步登录通信原理
- JavaScript中for循环的几种写法与效率总结
- C++Zip压缩解压缩示例(支持递归压缩)
- 浅析BootStrap中Modal(模态框)使用心得
- 在jsp中发送email
- 解决div被flash挡住的设置方法
- Spring Boot 读取静态资源文件的方法
- 详解MySQL中SlowLog的配置方法(图文)
- 在线一元二次方程计算器实例(方程计算器在线计算)
- Android ADT 离线下载操作步骤
- 用Eclipse生成JPA元模型的方法
- Java线程监听,意外退出线程后自动重启的实现方法
- 400多行Python代码实现了一个FTP服务器
- 获取远程网页的内容之一(downmoon原创)
- Android Fragment使用之实例演示
- Android获取双卡双待手机的SIM卡信息示例代码