Transfrom是什么?

可以看作是一个图像处理的工具箱,通过查看Transform类可以找到不同的图像处理方法

更准确的说,Transform中有各种类的的定义,我们可以通过继承或者构造这些类,然后调用里面的方法来实现相应的功能



可以通过结构来便捷的查看transform中的类和方法,然后实现对应的对象即可。其中__call__函数的作用就是在调用这个对象的时候自动调用的函数比如这是Totensor类的定义,可以看到就是将其他格式的图像转化为tensor格式的图像

具体的代码如下,输出的就是tensor类型的图像

from torchvision import transforms
from PIL import Image image_path="dataset/hymenoptera_data/train/ants_image/7759525_1363d24e88.jpg"
image=Image.open(image_path) transform_class = transforms.ToTensor() # 构造transform中的ToTensor类
image_tensor =transform_class(image) # 调用类将图像转化为tensor格式(__call__函数)
print(type(image_tensor))

Tensor格式有什么用

相较于PIL的image格式和numpy的array格式,tensor图像格式的作用在于它包含了用于神经网络的一些属性,比如反向传递、使用的是CPU还是GPU进行训练等等,所以tensor图像格式更适合用来进行神经网络的训练

from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
from PIL import Image image_path="dataset/hymenoptera_data/train/ants_image/7759525_1363d24e88.jpg"
image=Image.open(image_path) transform_class = transforms.ToTensor() # 构造transform中的ToTensor类
image_tensor =transform_class(image) # 调用类将图像转化为tensor格式(__call__函数) writer = SummaryWriter("logs")
writer.add_image("tensor_image",image_tensor,1) # 用tensor格式显示图像
writer.close()

此外,我们可以看到,使用PIL处理的图像格式是Jpeg格式,opencv处理的图像是numpy的array格式,transform处理的图像是tensor格式,三者是不相同的



各种格式以及对应的调用方法如下:

深度学习入门笔记——Transform的使用的更多相关文章

  1. PyTorch深度学习入门笔记(一)PyTorch环境配置及安装

    @ 目录 一.工具安装 1.1 Anaconda 安装 1.2 Pytorch安装 二.编辑器安装 2.1 Pycharm安装 2.2 Jupyter安装 OS: ubuntu 20.04(虚拟机) ...

  2. 深度学习课程笔记(十二) Matrix Capsule

    深度学习课程笔记(十二) Matrix Capsule with EM Routing  2018-02-02  21:21:09  Paper: https://openreview.net/pdf ...

  3. 深度学习课程笔记(一)CNN 卷积神经网络

    深度学习课程笔记(一)CNN 解析篇 相关资料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html 首先提到 Why CNN for I ...

  4. 深度学习入门者的Python快速教程 - 基础篇

      5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明 ...

  5. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  6. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...

  7. 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇

    始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...

  8. 深度学习word2vec笔记之算法篇

    深度学习word2vec笔记之算法篇 声明:  本文转自推酷中的一篇博文http://www.tuicool.com/articles/fmuyamf,若有错误望海涵 前言 在看word2vec的资料 ...

  9. 深度学习入门实战(二)-用TensorFlow训练线性回归

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者 :董超 上一篇文章我们介绍了 MxNet 的安装,但 MxNet 有个缺点,那就是文档不太全,用起来可能 ...

  10. (转)深度学习word2vec笔记之基础篇

    深度学习word2vec笔记之基础篇 声明: 1)该博文是多位博主以及多位文档资料的主人所无私奉献的论文资料整理的.具体引用的资料请看参考文献.具体的版本声明也参考原文献 2)本文仅供学术交流,非商用 ...

随机推荐

  1. LVGL btn组件

    /************************************************* * * file name:widget_line.c * author :momolyl@126 ...

  2. 7. 从0学ARM-GNU伪指令、代码编译,lds使用

    <嵌入式工程师到底要不要学习ARM汇编指令?arm学习文章汇总> <到底什么是Cortex.ARMv8.arm架构.ARM指令集.soc?一文帮你梳理基础概念[科普]> 关于A ...

  3. [计算机网络] IPv6

    1 IPv6 概述 引言 近期突发奇想,能不能用 IPv6 的公网地址,给家里的 NAS 做 内网穿透. 技术上是可行的.只是必须确保是 IPv6 的公网地址. 大学学的 IPv6 的知识,早就抛到九 ...

  4. React 18 自定义 Hook 获取 useState 最新值

    原理:通过同步更新 useRef  来获取最新值 // util.ts export const useRefState = (init: any = null) => { const [sta ...

  5. MYSQL——帆软连接报错

    2024/07/11 1.报错 2.报错原因 3.解决办法 4.参考 1.报错 错误代码:11300001 数据集配置错误<br>Query:<br>Unknown initi ...

  6. CSEC:香港城市大学提出SOTA曝光矫正算法 | CVPR 2024

    在光照条件不佳下捕获的图像可能同时包含过曝和欠曝.目前的方法主要集中在调整图像亮度上,这可能会加剧欠曝区域的色调失真,并且无法恢复过曝区域的准确颜色.论文提出通过学习估计和校正这种色调偏移,来增强既有 ...

  7. P 问题和 NP 问题的简单理解

    P/NP问题 | 维基百科 P 问题 P 问题的定义是:所有可以由一个确定型图灵机在多项式表达的时间内解决的问题 P 代表 Polynomial-time (adj. 多项式时间) 简单理解:答案可以 ...

  8. csdn 下载券恶心之处

    今天在csdn碰到一个恶心事,啥事呢?下载券.详细的说,就是人家码友把下载积分都设置成0了,让大家自行下载.结果,却不行,非得搞个下载券,得去做任务,给它的广告爹爹们点点任务才能获取下载券的code. ...

  9. 【YashanDB知识库】生成迁移报告失败,"报错未知类型错误异常:"

    [标题]YMP迁移 [问题分类]迁移报告 [关键字]迁移报告.未知类型错误异常 [问题描述]下载迁移报告时报错"未知类型错误异常:",一长串英文 日志报错: [问题原因分析]jav ...

  10. 结合mysql 架构分析SQL查询语句和更新语句的执行

    结合mysql 架构分析SQL查询语句和更新语句的执行 一:基础架构 mysql分为Server层和存储引擎层 Server层 涵盖了大多数mysql的核心服务功能,以及所有内置的函数(例如日期.加密 ...