torchvision.transforms 的使用-史上最简单(附代码)
一.transforms是什么?
pytorch中有很多的工具集来帮助我们使用pytorch,其中包括处理文本的
torchaudio
,处理文本的torchtext
,和处理视频图像的torchvision
工具集等...
以上的每个工具集都包含着很多的工具,而transforms
就是torchvision
工具集中的一个工具.对于视觉方向的图像处理方面,PyTorch提供了很好的预处理接口,对于图像的转换处理,使用
torchvision.tranforms
模块使得这些操作非常高效.-由于transforms中包含几十种方法,我每学到一个就会记录一个.
二.transform中包含的方法
transforms.ToTensor()
功能:将PIL Image或者 ndarray 转换为tensor,并且归一化至[0-1]
作用: 由于在pytorch中使用的数据都需要转换为tensor类型,我们此时就可以使用该函数将图像转换为张量.
三.使用方法
- transforms.ToTensor
下面我们针对图像处理举个例子.并将其在tensorboard工具中进行可视化图像
第一步:
导入三个包,1.导入torchvision 工具集 2.SummaryWriter(在tensorboard一节已介绍) 3.python中自带的读取图片的模块
import torchvision from tensorboardX import SummaryWriter from PIL import Image
第二步:
读取图片,并转换为Tensor类型,最后用tensorboard展示,代码如下
# 打开图片 img_path = '../BigData/网络视频数据集/data/train/ants_image/28847243_e79fe052cd.jpg' img = Image.open(img_path) # 转换为张量类型 tensor_trans = torchvision.transforms.ToTensor() tensor_img = tensor_trans(img) # 写入日志 writer = SummaryWriter('LOGS/007log') writer.add_image('test', tensor_img) # 关闭工作流 writer.close()
第三步:
在tensorboard工具下查看图片