torchvision.transforms 的使用-史上最简单(附代码)

一.transforms是什么?

pytorch中有很多的工具集来帮助我们使用pytorch,其中包括处理文本的torchaudio,处理文本的torchtext,和处理视频图像的torchvision工具集等...
以上的每个工具集都包含着很多的工具,而transforms就是torchvision工具集中的一个工具.

对于视觉方向的图像处理方面,PyTorch提供了很好的预处理接口,对于图像的转换处理,使用 torchvision.tranforms 模块使得这些操作非常高效.

-由于transforms中包含几十种方法,我每学到一个就会记录一个.

二.transform中包含的方法

  1. transforms.ToTensor()

    • 功能:将PIL Image或者 ndarray 转换为tensor,并且归一化至[0-1]

    • 作用: 由于在pytorch中使用的数据都需要转换为tensor类型,我们此时就可以使用该函数将图像转换为张量.


三.使用方法

  1. 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工具下查看图片

posted @ 2021-11-20 20:02  大蛋子  阅读(338)  评论(0编辑  收藏  举报