Transforms的结构和用法
目录
一、Transforms是什么?
二、使用步骤
1.引入库
2.tensor数据类型
2.1 transforms该如何使用
2.2 为什么需要tensors数据类型。
一、Transforms是什么?
Transforms主要是对图片进行一些变换,一般用于数据预处理,数据在读取到pytorch之后通常都需要对数据进行预处理,包括尺寸缩放、转换张量、数据中心化或标准化等等,这些操作都是通过transforms进行的。
二、使用步骤
1.引入库
代码如下(示例):
from torchvision import transforms
从torchvision中引用transforms函数。
注:transforms.py就像是一个工具箱,里面有很多工具:
ToTensor()的使用:这个模块的主要作用主要就是将 PIL Image 或者numpy.ndarry 的图像类型转变成tensor的类型格式;
Resize()的使用:输入一张图片,将图片转变为指定的大小。如果只传入一个参数,就将最小边变成size,最大边等比例变成原来最小边的倍数;
2.tensor数据类型
通过transforms.Totensor去解决两个问题:(1)transforms该如何使用;(2)我们为什么需要tensors数据类型。
2.1 transforms该如何使用
从transforms中选择一个class,首先对它创建,根据创建的工具知道需要什么东西,返回出结果。
可以理解为,transforms.py是一个工具箱,里面有很多工具,像ToTensor/Resize等,可以将这些工具看成模板,利用这些模板来创建我们需要的工具,根据这些工具的使用方法,输入数据,输出结果。
代码如下(示例):
(PIL Image数据处理):
from PIL import Image
from torchvision import transformsimg_path = "train/ants/0013035.jpg"
img = Image.open(img_path)tensor_trans = transforms.ToTensor() # 引用transforms中的totensor,返回的是totensor的
对象。可以理解为用tensor_trans 接收totensor的对象。
tensor_img = tensor_trans(img) # 将img图片转换成tensor格式。(鼠标放括号里,ctrl+p可
以查看需要什么括号里需要什么参数。)
print(tensor_img) # 查看tensor_img的数据类型numpy.ndarrary数据处理:(最常用的是opencv)
可以在python console中调试,代码如下:
import cv2
img_path = "train/ants/0013035.jpg"
cv_img = cv2.imread(img_path)
print(type(cv_img))
<class 'numpy.ndarray'>
2.2 为什么需要tensors数据类型。
因为在神经网络当中,肯定要将数据转化为tensor的类型,才能继续处理,进行训练。
Transforms的结构和用法相关推荐
- python scatter参数详解_matplotlib.pyplot.scatter散点图结构及用法||参数详解
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=N ...
- Shell中case判断结构的用法笔记
Shell中case判断结构的用法 case判断的用法和if/elif/else结构的用法等价,case判断结构也用于多种可能情况下的分支选择. 语法结构如下: case var in var1) c ...
- 《电子元器件的可靠性》——2.5节威布尔分布及其概率纸的结构和用法
本节书摘来自华章社区<电子元器件的可靠性>一书中的第2章,第2.5节威布尔分布及其概率纸的结构和用法,作者王守国,更多章节内容可以访问云栖社区"华章社区"公众号查看 2 ...
- python for循环流程图_python for循环语句结构与用法实例(图)
想必大家都知道python循环语句吧,python循环语句有多种,比如for循环.while循环.if.else等等,今天就给大家讲讲for循环语句.for循环语句是python中的一个循环控制语句, ...
- python while循环语句-python while循环控制流语句结构与用法
python while循环语句和for语句都是python的主要循环结构.while语句是python中最通用的迭代结构,也是一个条件循环语句.while与if语句有哪些不同,标准语法结构及循环使用 ...
- Linux中Shell循环结构for用法笔记
Shell中可以使用for做固定次数循环的处理.常见的for循环用法主要有以下几种: 1.带列表的for循环 语法结构: for item in (list) do command done 示例: ...
- 速学bs4.BeautifulSoup()结构及用法
bs4 官方文档 BeautifulSoup4被移植到bs4中,就是说使用时需要from bs4 import BeautifulSoup Beautiful Soup 4.2.0 中文文档 HTML ...
- 什么是LinkedList?什么时候使用它呢?Java LinkedList结构、用法及源码解析
前言:我们学习java时都知道ArrayList实现List接口,LinkedList也实现List接口,但我们平时用的时候LinkedList却很少被用到.那么,LinkedList什么时候该用到呢 ...
- 【C#】第3章学习要点(三)--常用类和结构的用法
分类:C#.VS2015 创建日期:2016-06-19 使用教材:(十二五国家级规划教材)<C#程序设计及应用教程>(第3版) 一.DateTime结构和TimeSpan结构 DateT ...
- Pytorch transforms.Resize()的简单用法
简单来说就是调整PILImage对象的尺寸,注意不能是用io.imread或者cv2.imread读取的图片,这两种方法得到的是ndarray. 将图片短边缩放至x,长宽比保持不变: transfor ...
最新文章
- Git 修改用户名和邮箱
- JavaScript实时更新中国标准时间
- Teams Bot如何判断用户所在的时区
- 具有固定名称mysql.data_SQLServer数据库之未找到具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序的实体框架 解决方案...
- 手机充满电不拔有什么影响吗?
- 计算机二级基础知识微盘,计算机二级C++基础知识(整理版).pdf
- Docker教程小白实操入门(20)--如何删除数据卷
- 系统运行后修改linux系统时区
- 【Gym-101889 D】Daunting device【分块】
- 安卓机型刷写第三方twrp 刷写第三方rom的教程和一些问题解决
- Java合并两个有序数组
- 模拟电路——集成运算放大器(1)
- 如何将微信公众号上的文章下载下来?
- CAD的DXF解析中LWPOLYLINE多线段凸度的相关概念和弧度转换
- neutron服务宕机导致nova无法创建云主机
- 解决“windows已经阻止此软件因为无法验证发行者”方法
- 引导未来:区块链经济七大设计原则
- PHP网约车H5打车系统源码 分为乘客端和司机端
- 转——解决游戏王DL的steam版锁区问题
- excel方差函数和均方差函数使用介绍