torchvision 笔记:ToTensor()
生活随笔
收集整理的這篇文章主要介紹了
torchvision 笔记:ToTensor()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 ToTensor
將shape為(H, W, C)的numpy.ndarray或img轉為shape為(C, H, W)的tensor
在一定條件下,將每一個數值歸一化到[0,1],歸一化方法比較簡單,直接除以255即可。(一定條件后面會說明)
1.1 Ndarray
只有Ndarray是np.uint8 類型的時候,才會歸一化
1.1.1?np.uint8 類型
看得出來確實歸一化了
import torchvision.transforms as transforms import numpy as npa=np.array([[100,200],[400,500],[700,800]],dtype=np.uint8)a=a.reshape(3,2,1) a.shape #(3, 2, 1)t=transforms.ToTensor() ta=t(a) print(a) ''' [[[100][200]][[144][244]][[188] '''print(ta) ''' tensor([[[0.3922, 0.7843],[0.5647, 0.9569],[0.7373, 0.1255]]]) '''print(ta.shape) #torch.Size([1, 3, 2])1.1.2 非np.uint8 類型
沒有歸一化
import torchvision.transforms as transforms import numpy as npa=np.array([[100,200],[400,500],[700,800]],dtype=np.uint8)a=a.reshape(3,2,1) a.shape,a.dtype ((3, 2, 1), dtype('int32'))t=transforms.ToTensor() ta=t(a) print(a) ''' [[[100][200]][[144][244]][[188] '''print(ta) ''' tensor([[[100, 200],[400, 500],[700, 800]]], dtype=torch.int32) '''print(ta.shape) #torch.Size([1, 3, 2])1.2 圖片
以DeepFasion數據集里面的一張圖片為例:
from PIL import Image from torchvision import transforms, utils a=Image.open(b+'img/00000.jpg') a?
y=transforms.ToTensor() a=y(a) a ''' tensor([[[0.9255, 0.9255, 0.9255, ..., 0.9176, 0.9176, 0.9176],[0.9255, 0.9255, 0.9255, ..., 0.9176, 0.9176, 0.9176],[0.9255, 0.9255, 0.9255, ..., 0.9176, 0.9176, 0.9176],...,[0.7882, 0.7882, 0.7882, ..., 0.7922, 0.7922, 0.7922],[0.7882, 0.7882, 0.7882, ..., 0.7922, 0.7922, 0.7922],[0.7882, 0.7882, 0.7882, ..., 0.7922, 0.7922, 0.7922]],[[0.9255, 0.9255, 0.9255, ..., 0.9216, 0.9216, 0.9216],[0.9255, 0.9255, 0.9255, ..., 0.9216, 0.9216, 0.9216],[0.9255, 0.9255, 0.9255, ..., 0.9216, 0.9216, 0.9216],...,[0.7961, 0.7961, 0.7961, ..., 0.7922, 0.7922, 0.7922],[0.7961, 0.7961, 0.7961, ..., 0.7922, 0.7922, 0.7922],[0.7961, 0.7961, 0.7961, ..., 0.7922, 0.7922, 0.7922]],[[0.9255, 0.9255, 0.9255, ..., 0.9294, 0.9294, 0.9294],[0.9255, 0.9255, 0.9255, ..., 0.9294, 0.9294, 0.9294],[0.9255, 0.9255, 0.9255, ..., 0.9294, 0.9294, 0.9294],...,[0.7922, 0.7922, 0.7922, ..., 0.8000, 0.8000, 0.8000],[0.7922, 0.7922, 0.7922, ..., 0.8000, 0.8000, 0.8000],[0.7922, 0.7922, 0.7922, ..., 0.8000, 0.8000, 0.8000]]]) '''總結
以上是生活随笔為你收集整理的torchvision 笔记:ToTensor()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 错误处理:RuntimeError: I
- 下一篇: torchvision 笔记:trans