Transforms的使用1(ToTensor)

一、Transform

1.1 简介

对图像进行转换

1.2 源码学习

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

Transforms的使用1(ToTensor)_第1张图片

1.3 几个重要的类

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

在学习的过程中进行错误修正
Transforms的使用1(ToTensor)_第2张图片

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. 根据需要使用一个工具

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


Transforms的使用1(ToTensor)_第3张图片

三、其他

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)

你可能感兴趣的:(深度学习,python,开发语言)