• 【pytorch】tensorboard + transforms的使用


    一、tensorboard的使用

    1. 加载一张图片转化为tensor类型,并通过tenboard可视化

    1. from PIL import Image
    2. from torch.utils.tensorboard import SummaryWriter
    3. from torchvision import transforms
    4. img_path = "dataset/train/ants_image/0013035.jpg"
    5. img = Image.open(img_path)
    6. #print(img)
    7. writer = SummaryWriter('logs')
    8. tensor_trans = transforms.ToTensor()
    9. tensor_img = tensor_trans(img)
    10. writer.add_image("Tesnor_img",tensor_img)
    11. #print(tensor_img)
    12. writer.close()
    13. #在Terminal中输入 tensorboard --logdir=logs

     二、transforms的常用函数

    细心的小伙伴已发现了,上面已经使用了transforms了,我们在添加图片时,用到了ToTensor()这个函数。

    ToTensor()函数:

    将一个PIL类型转换成tensor类型;

    1. #totensor
    2. tensor_trans = transforms.ToTensor()
    3. tensor_img = tensor_trans(img)
    4. writer.add_image("to_Tesnor",tensor_img)
    5. print(tensor_img)

    Normalize() 函数:

    用于归一化,使他的范数或者数值在一定的范围。

    1. #normalize
    2. trnas_norm = transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])
    3. img_norm = trnas_norm(tensor_img)
    4. print(img_norm[0][0][0])
    5. writer.add_image("normalize",img_norm)

    Resize()函数: 

    用来调整数组大小。

    1. #resize
    2. print(img)
    3. trans_resize = transforms.Resize((512,512))
    4. img_resize = trans_resize(img)
    5. img_resize = tensor_trans(img_resize)
    6. writer.add_image("resize",img_resize,0)
    7. print(img_resize)

     

    Compose()函数:

    简单来说就是将各种操作就行联合起来进行操作,注意操作顺序。

    1. #compose
    2. trans_resize_2 = transforms.Resize(512)
    3. trans_compose = transforms.Compose([trans_resize_2,tensor_trans])
    4. img_resize_2 = trans_compose(img)
    5. writer.add_image("resize",img_resize_2,1)

     RandomCrop()函数:

    随机裁剪函数,看效果,这里只展示了一步。

    1. #randomcrop
    2. trans_random = transforms.RandomCrop(128)
    3. trans_compose_2 = transforms.Compose([trans_random,tensor_trans])
    4. for i in range(10):
    5. img_crop = trans_compose_2(img)
    6. writer.add_image("Randomcrop",img_crop,i)
    7. writer.close()


    tensorboard配合transforms就是pytorch学习中的两大利器 

  • 相关阅读:
    Qt第六十六章:展示数据的标签
    [CISCN2019 华北赛区 Day1 Web5]CyberPunk
    【JavaSE】抽象类和接口
    【01】ES6:ECMAScript 介绍
    Nat. Med. | 基于遗传学原发部位未知癌症的分类和治疗反应预测
    支持向量机(理解、推导、matlab例子)
    MuLogin浏览器如何在一台设备上安全登录和管理多个LinkedIn账户?
    c++屏蔽qq或者wechat的好友对局域网环境下的指定关键字
    Docker
    1、MongoDb综述
  • 原文地址:https://blog.csdn.net/qq_47982709/article/details/132612127