torchvision 笔记:transforms.Normalize()
生活随笔
收集整理的這篇文章主要介紹了
torchvision 笔记:transforms.Normalize()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
????????一般和transforms.ToTensor()搭配使用
????????作用就是先將輸入歸一化到(0,1)【transforms.ToTensor()】,再使用公式"(x-mean)/std",將每個元素分布到(-1,1)
? ?很多CV的代碼中,是這樣使用這一條語句的:
torchvision.transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])這一組參數是從ImageNet數據集中獲得的
在?torchvision 筆記:ToTensor()_UQI-LIUWJ的博客-CSDN博客的代碼基礎上我們進行修改
ToTensor 中的代碼:
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]]]) '''?Normalize的代碼
z=transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) a=z(a) a ''' tensor([[[1.9235, 1.9235, 1.9235, ..., 1.8893, 1.8893, 1.8893],[1.9235, 1.9235, 1.9235, ..., 1.8893, 1.8893, 1.8893],[1.9235, 1.9235, 1.9235, ..., 1.8893, 1.8893, 1.8893],...,[1.3242, 1.3242, 1.3242, ..., 1.3413, 1.3413, 1.3413],[1.3242, 1.3242, 1.3242, ..., 1.3413, 1.3413, 1.3413],[1.3242, 1.3242, 1.3242, ..., 1.3413, 1.3413, 1.3413]],[[2.0959, 2.0959, 2.0959, ..., 2.0784, 2.0784, 2.0784],[2.0959, 2.0959, 2.0959, ..., 2.0784, 2.0784, 2.0784],[2.0959, 2.0959, 2.0959, ..., 2.0784, 2.0784, 2.0784],...,[1.5182, 1.5182, 1.5182, ..., 1.5007, 1.5007, 1.5007],[1.5182, 1.5182, 1.5182, ..., 1.5007, 1.5007, 1.5007],[1.5182, 1.5182, 1.5182, ..., 1.5007, 1.5007, 1.5007]],[[2.3088, 2.3088, 2.3088, ..., 2.3263, 2.3263, 2.3263],[2.3088, 2.3088, 2.3088, ..., 2.3263, 2.3263, 2.3263],[2.3088, 2.3088, 2.3088, ..., 2.3263, 2.3263, 2.3263],...,[1.7163, 1.7163, 1.7163, ..., 1.7511, 1.7511, 1.7511],[1.7163, 1.7163, 1.7163, ..., 1.7511, 1.7511, 1.7511],[1.7163, 1.7163, 1.7163, ..., 1.7511, 1.7511, 1.7511]]]) '''將tensor反變換回圖片,則有
?
總結
以上是生活随笔為你收集整理的torchvision 笔记:transforms.Normalize()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: torchvision 笔记:ToTen
- 下一篇: 将tensor张量转换成图片格式并保存