【Pytorch】3.Transforms的运用

news2024/11/26 16:27:58

什么是Transforms

在PyTorch中,transforms是用于对数据进行预处理、增强和变换的操作集合。transforms通常用于数据载入和训练过程中,可以包括数据的归一化、裁剪、翻转、旋转、缩放等操作,以及将数据转换成PyTorch可以处理的Tensor格式。

Transforms的使用

首先导入包

from torchvision import transforms

实际上是导入了一个文件,文件名为transforms,我们目前主要查看一下其中的ToTensor
我们可以查看一下其中的源码
在这里插入图片描述
我们可以看到这个类的主要作用是 将PIL Image或者是numpy.ndarray类型转化为tensor类型
其中的__call__方法,类似于c++重载()运算符
在这里插入图片描述

使用PIL image格式

具体的使用就可以通过

from PIL import Image
from torchvision import transforms

img_path = "dataset/hymenoptera_data/train/ants/0013035.jpg"
PIL_img = Image.open(img_path)
tensor_tans = transforms.ToTensor()     # 通过transforms中的ToTensor类创建一个对象
img = tensor_tans(PIL_img)     # __call__方法类似于c++中重载了()运算符,我们只需要传入PIL_img格式的图像就可以输出tensor格式的图像

print(img)

我们就可以成功地转化为Tensor格式了
在这里插入图片描述

使用numpy.ndarray格式

首先我们要先通过pip安装opencv-python这个库,在终端输入

pip install opencv-python

安装成功后导入包

import cv2

然后使用

cv_img = cv2.imread(img_path)

创建出来的图片格式就是numpy.ndarray格式
在这里插入图片描述

为什么要使用Tensor数据类型

Tensor数据类型包括了我们训练神经网络的一系列参数,以及训练神经网络所需要的格式,这是刚刚我们的格式所不具备的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1650903.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

长方形盒子能容纳定宽的长方形物体最大长度

问题 已知长方形盒子长度a和宽度b,放入一宽度w的长方形物体,求长方形物体最大长度L。 答案 MS Excel公式如下(其中B1a,B2b,B3w): L SQRT(B1^2B2^2)-B1*B2*B3*2/(B1^2B2^2)注意 当求得 L ≤…

91、动态规划-不同的路径

思路: 首先我们可以使用暴力递归解法,无非就是每次向下或者向右看看是否有解法,代码如下: public class Solution {public int uniquePaths(int m, int n) {return findPaths(0, 0, m, n);}private int findPaths(int i, int j,…

JSP企业快信系统的设计与实现参考论文(论文 + 源码)

【免费】JSP企业快信系统.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89277688 JSP企业快信系统的设计与实现 摘 要 计算机网络的出现到现在已经经历了翻天覆地的重大改变。因特网也从最早的供科学家交流心得的简单的文本浏览器发展成为了商务和信息的中心…

VS2022快捷键修改

VS2022快捷键修改 VS2022快捷键修改 VS2022快捷键修改

[Linux][网络][TCP][四][流量控制][拥塞控制]详细讲解

目录 1.流量控制2.拥塞控制0.为什么要有拥塞控制,不是有流量控制么?1.什么是拥塞窗口?和发送窗口有什么关系呢?2.怎么知道当前网络是否出现了拥塞呢?3.拥塞控制有哪些算法?4.慢启动5.拥塞避免6.拥塞发生7.快…

扫描反代Cloudflare的IP 给网站CDN加速 免费制作自己的CDN加速

Cloudflare的CDN系统基本上每个站长都家喻户晓,大家都知道大陆对于搭建网站的审核力度,以至于Cloudflare并没有大陆的泛播节点,有也是只有香港节点。但是这些节点对于海外是加速效果,对于大陆就是一个字慢,晚高峰的情况…

Microsoft 365 for Mac v16.84 office365全套办公软件

Microsoft 365 for Mac是一款功能丰富的办公软件套件,为Mac用户提供了丰富的功能和工具,提高了工作效率和协作能力。Microsoft 365 for Mac是一款专为Mac用户设计的订阅式办公软件套件,旨在提高生产力和效率。 Microsoft 365 for Mac v16.84正…

去中心化金融与Web3:科技驱动的金融革命

随着区块链技术的发展和普及,去中心化金融(DeFi)作为其重要应用之一,正在成为金融领域的一场革命。结合Web3技术,去中心化金融正在以前所未有的方式重新定义着金融服务和产品的交付方式,推动着金融领域的创…

深入浅出(五)JsonCpp库

JsonCpp库 1. JsonCpp 库1.1 JsonCpp库下载 2. JsonCpp库编译与部署3. C示例 1. JsonCpp 库 JsonCpp 是一个开源的 C 库,用于解析、生成和操作 JSON 数据。它提供了简单易用的 API,使得在 C 程序中处理 JSON 数据变得方便和高效。以下是 JsonCpp 库的一…

如何使用SkyWalking收集分析分布式系统的追踪数据

Apache SkyWalking 是一个开源的观测性工具,用于收集、分析和展示分布式系统的追踪数据。SkyWalking 支持多种语言的追踪,包括但不限于 Java、.NET、Node.js 等。以下是使用 SkyWalking 工具实现数据采集的详细步骤: 1. 下载和安装 SkyWalkin…

开源模型应用落地-CodeQwen模型小试-探索更多使用场景(三)

一、前言 代码专家模型是基于人工智能的先进技术,它能够自动分析和理解大量的代码库,并从中学习常见的编码模式和最佳实践。这种模型可以提供准确而高效的代码建议,帮助开发人员在编写代码时避免常见的错误和陷阱。 通过学习代码专家模型&…

Python高级编程-DJango2

Python高级编程-DJango2 没有清醒的头脑,再快的脚步也会走歪;没有谨慎的步伐,再平的道路也会跌倒。 目录 Python高级编程-DJango2 1.显示基本网页 2.输入框的形式: 1)文本输入框 2)单选框 3&#xff…

[法规规划|数据概念]金融行业数据资产和安全管理系列文件解析(2)

“ 金融行业在自身数据治理和资产化建设方面一直走在前列。” 一直以来,金融行业由于其自身需要,都是国内开展信息化建设最早,信息化程度最高的行业。 在当今数据要素资产化的浪潮下,除了行业自身自身数据治理和资产化建设方面&am…

最强特征点检测算法 DeDoDe v1/v2

论文地址v1:https://arxiv.org/pdf/2308.08479 论文地址v1:https://arxiv.org/pdf/2404.08928 代码地址:GitHub - Parskatt/DeDoDe: [3DV 2024 Oral] DeDoDe 🎶 Detect, Dont Describe --- Describe, Dont Detect, for Local Feature Matching 实测确实牛X! DeDoDeV1 关…

网络安全之静态路由

以下是一个静态路由的拓扑图 Aping通B,C可以ping通D。 路由器转发数据需要路由表,但仍可以Aping通B,C可以ping通D,是因为产生了直连路由:产生的条件有两个,接口有IP,接口双up(物理up&#xff…

OpenGrok使用

以前都是用的find,或者VScode里面的浏览,但是到了Android这个就不行了,代码太多了。都在用OpenGrok,所以俺也用一下。 这里有两个步骤,一个是安装,是一个使用。 1 安装 大概看了一下,安装是to…

数据结构-线性表-应用题-2.2-9

线性表(a1,a2,a3,...,an)中的元素递增有序且按顺序存储于计算机内。要求设计一个算法,用最少的时间在表中查找数值为x的元素,若找到,则将其与后继元素位置相交换,若找不到,则将其插入表中并使表…

vue3+arco design通过动态表单方式实现自定义筛选

目录 1.说明 2.示例 3.运行截图 ​编辑 4.总结 1.说明 (1) 本文主要实现通过动态表单的方式实现自定义筛选的功能,用户可以自己添加筛选的项目,筛选条件及筛选内容。 (2) 每个项目的筛选包含筛选项目,筛选条件,筛选方式及筛选…

使用 OpenCV 创建视频(74)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV 库来捕获和处理视频输入和相似度测量(73) 下一篇 :OpenCV系列文章目录(持续更新中......) 目标 每当您使用视频源时,您最终可能希望将图像处理结果保存为…

HDLC协议

目录 1.概念 2.配置 3.HDLC帧结构 4.HDLC帧类型 1.概念 HDLC(High-level Data Link Control)高级数据链路控制位于链路层协议,传输单位是帧,它是一组用于在网络结点间传送数据的协议。其特点是各项数据和控制信息都以比特为单位&#xff…