PyTorch深度学习笔记(八)Transforms的使用

课程学习笔记,课程链接

一、Transforms 的结构及用法

torchvision 中的 transforms 主要是对图片进行一些变换。

tranforms对应 tranforms.py 文件,里面定义了很多类,输入一个图片对象,返回经过处理的图片对象。PyTorch深度学习笔记(八)Transforms的使用_第1张图片

 transforms 更多指的是python文件,transforms.py 就像一个工具箱,里面定义的各种类就像各种工具,特定格式的图片就是输入对象,经过工具处理,输出期望的图片结果。PyTorch深度学习笔记(八)Transforms的使用_第2张图片

 通过 transforms.ToTensor 去看两个问题:

1、transforms 该如何使用(python)

2、为什么我们需要 Tensor 数据类型PyTorch深度学习笔记(八)Transforms的使用_第3张图片

 ToTensor功能是将 PIL Image 类型 或者numpy.ndarray类型的图片对象转换为 tensor类型。

from PIL import Image
from torchvision import transforms
​
# python 中的用法 -> tensor 数据类型
img_path = r"D:\Code\Project\learn_pytorch\pytorch_p9-10\dataset\train\ants\0013035.jpg"
img = Image.open(img_path)  # Image 是 python 中内置打开图片的库
print(img)
​
'''
    如何使用 transforms,就是从 transforms 中选择一个 class,进行创建
    根据创建的工具,来确定参数返回结果
'''
# 引用 transforms 中的 ToTensor 就会返回一个 ToTensor 的对象
tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img)  # ctrl+p 可以查看需要什么参数
print(tensor_img)

使用 transforms 的方法就是先实例化选中的类,然后用实例化的对象去处理图片就行。

二、Tensor数据类型

将第一节中的代码复制到 python 控制台,回车,可在右侧看到各种变量和对象的具体信息:PyTorch深度学习笔记(八)Transforms的使用_第4张图片

 tensor 数据类型可以理解为包装了反向神经网络一些理论基础参数。在神经网络中,要将数据先转换为Tensor类型,再进行训练。之前 PIL image 已经学会了读取,numpy.ndarray 最常用的读取方法就是 opencv。

安装 opencv

PyTorch深度学习笔记(八)Transforms的使用_第5张图片

PyTorch深度学习笔记(八)Transforms的使用_第6张图片

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
​
img_path = r"D:\Code\Project\learn_pytorch\pytorch_p9-10\dataset\train\ants\0013035.jpg"
img = Image.open(img_path)  
​
writer = SummaryWriter("logs")
​
tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img)  
​
writer.add_image("Tensor_img", tensor_img)
​
writer.close()

你可能感兴趣的:(PyTorch,python,pytorch,深度学习)