Transforms的使用1(ToTensor)

本文介绍了如何使用Python的PIL库加载图像,并通过PyTorch的Transforms将图像转换为Tensor格式,以便于进行深度学习任务。主要内容包括Transforms的概念、关键类的使用方法以及图像数据类型的转换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Transform

1.1 简介

对图像进行转换

1.2 源码学习

我们学的是transform,其实学的是transform.py

请添加图片描述

1.3 几个重要的类

  • class ToPILImage(object):
  • class Compose(object):
  • class ToTensor(object):

在学习的过程中进行错误修正
请添加图片描述

1.4 理解transform

  • 如果我们把transform.py当成工具箱的话
  • 不同的class就是工具
    • tosensor
    • resize

拿一些特定格式的图片,经过工具后,输出想要的东西

学习他这个类中重要的方法

二、通过内置PIL的iamge类打开图片

2.1 使用python内置Image类

python中内置了一个Image类,这个类中有open的方法

# 告诉方法要打开图片的路径:绝对路径
img_path = 'data/train/ants_image/0013035.jpg'
# 相对路径
# img_path_abs = 'C:\Users\Administrator\Desktop\Code\learn_pytorch\data\train\ants_image\0013035.jpg'

# 通过这个方式就已经打开了一个图片
img = Image.open(img_path)
print(img)

<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=768x512

打开模式是RGB模式,大小显示出来了,还会显示出来图片的逻辑地址

2.2 通过totensor对图片的数据类型进行转换

查看到下面的数据则表示图片的数据类型转换成功

# 1. transform如何使用?
tensor_trans = transforms.ToTensor()  # 返回的是一个totensor的对象

tensor_img = tensor_trans(img)
print(tensor_img)

tensor([[[0.3137, 0.3137, 0.3137,  ..., 0.3176, 0.3098, 0.2980],
         [0.3176, 0.3176, 0.3176,  ...,

2.3 如何使用transform?

  1. 从transform中创建一个对象
  2. 根据需要使用一个工具

创建一个具体的工具,创建好工具后对工具重新命名
给一个输入,接收这个输出


请添加图片描述

三、其他

3.1 专业英语

  • library 程序库,函数库
  • console 控制台
  • scatch 划痕,刮伤,刮花
  • refactor 重构
  • statement 表述,语句
  • typo <非正式>排印错误

四、本节代码

# from PIL import Image
from PIL import Image
from torchvision import transforms

# pytorch的用法 tensor的数据类型
# 通过transform.tensor解决两个问题
# 1. transform如何使用?
# 2. tensor的数据类型和普通数据类型相比有什么区别?

# 使用python中内置的Image类

# 告诉方法要打开图片的路径:绝对路径
img_path = 'data/train/ants_image/0013035.jpg'
# 相对路径
# img_path_abs = 'C:\Users\Administrator\Desktop\Code\learn_pytorch\data\train\ants_image\0013035.jpg'

# 通过这个方式就已经打开了一个图片
img = Image.open(img_path)
print(img)
tensor_trans = transforms.ToTensor()  # 返回的是一个ToTensor的对象

tensor_img = tensor_trans(img)

print(tensor_img)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王摇摆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值