1. 程式人生 > 其它 >002__Transforms的使用-史上最簡單(附程式碼)

002__Transforms的使用-史上最簡單(附程式碼)

一.transforms是什麼? 二.包含的方法 三.如何使用(附案例程式碼)

一.transforms是什麼?

對於視覺方向的影象處理方面,PyTorch提供了很好的預處理介面,對於影象的轉換處理,使用 torchvision.tranforms 模組使得這些操作非常高效.

  • 由於transforms中包含幾十種方法,我每學到一個就會記錄一個.

二.transform中包含的方法

  1. transforms.ToTensor()

    • 功能:將PIL Image或者 ndarray 轉換為tensor,並且歸一化至[0-1]

    • 作用: 由於在pytorch中使用的資料都需要轉換為tensor型別,我們此時就可以使用該函式將影象轉換為張量.


三.使用方法

  1. transforms.ToTensor

下面我們針對影象處理舉個例子.並將其在tensorboard工具中進行視覺化影象

  • 第一步:

    匯入三個包,1.transforms模組 2.SummaryWriter(在tensorboard一節已介紹) 3.python中自帶的讀取圖片的模組

    from torchvision import transforms
    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 = transforms.ToTensor()
    tensor_img = tensor_trans(img)
    # 寫入日誌
    writer = SummaryWriter('LOGS/007log')
    writer.add_image('test', tensor_img)
    # 關閉工作流
    writer.close()
    
    
  • 第三步:

    在tensorboard工具下檢視圖片