<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
torchvision.transforms.RandomVerticalFlip
函數和torchvision.transforms.RandomHorizontalFlip
函數是兩個可以實現資料增強的函數,可以將輸入的影象進行隨機垂直翻轉和隨機水平翻轉,從而增加資料集的多樣性。
具體來說,torchvision.transforms.RandomVerticalFlip
函數可以將輸入影象在垂直方向上進行隨機翻轉,而torchvision.transforms.RandomHorizontalFlip
函數可以將輸入影象在水平方向上進行隨機翻轉。這兩個函數都可以通過設定引數來控制翻轉的概率。
下面是這兩個函數的使用方法:
import torch import torchvision.transforms as transforms # 定義隨機垂直翻轉和隨機水平翻轉的概率 vflip_probability = 0.5 # 隨機垂直翻轉的概率 hflip_probability = 0.5 # 隨機水平翻轉的概率 # 定義影象變換 transform = transforms.Compose([ transforms.RandomVerticalFlip(p=vflip_probability), transforms.RandomHorizontalFlip(p=hflip_probability) ])
在上述程式碼中,我們首先通過transforms.Compose
函數定義了一個影象變換的序列,其中包含了隨機垂直翻轉和隨機水平翻轉兩個操作。
torchvision.transforms.RandomResizedCrop
函數可以進行隨機裁剪和縮放,從而增加資料集的多樣性。在實際使用中,這個函數有許多可調引數,下面是一個更加完整的介紹:
transforms.RandomResizedCrop( size, # 輸出影象的大小 scale=(0.08, 1.0), # 縮放範圍,將輸入影象按照該範圍內的隨機比例縮放 ratio=(3.0/4.0, 4.0/3.0), # 長寬比範圍,將輸入影象按照該範圍內的隨機比例進行裁剪 interpolation=2 # 縮放時使用的插值方法,可選1、2、3、4中的一個,預設為PIL.Image.BILINEAR )
下面是各個引數的詳細介紹:
size
:輸出影象的大小,可以是一個整數,表示輸出影象的邊長,或者是一個二元組,表示輸出影象的寬和高。例如,如果設定size=224,則輸出影象的大小為 224 × 224 224times224 224×224;如果設定size=(256,192),則輸出影象的大小為 256 × 192 256times192 256×192。scale
:縮放範圍,將輸入影象按照該範圍內的隨機比例縮放。該引數是一個二元組,表示縮放比例的範圍,例如(0.08,1.0)表示將輸入影象縮放到原來的 0.08 0.08 0.08到 1.0 1.0 1.0倍之間的隨機比例。預設值為(0.08, 1.0)。ratio
:長寬比範圍,將輸入影象按照該範圍內的隨機比例進行裁剪。該引數是一個二元組,表示長寬比的範圍,例如(3.0/4.0,4.0/3.0)表示將輸入影象按照寬高比在 3 / 4 3/4 3/4到 4 / 3 4/3 4/3之間的隨機比例進行裁剪。預設值為(3.0/4.0, 4.0/3.0)。interpolation
:縮放時使用的插值方法,可選1、2、3、4中的一個,分別表示PIL.Image.NEAREST、PIL.Image.BILINEAR、PIL.Image.BICUBIC和PIL.Image.LANCZOS。預設值為PIL.Image.BILINEAR。在PyTorch中,torchvision.transforms.RandomColorJitter
函數可以用於對影象進行隨機顏色抖動,增加資料集的多樣性。這個函數可以隨機地改變影象的亮度、對比度、飽和度和色相,並且還可以隨機地進行灰度化操作。下面是該函數的引數:
transforms.RandomColorJitter( brightness=0.1, # 亮度調整的強度,預設值為0.1 contrast=0.1, # 對比度調整的強度,預設值為0.1 saturation=0.1, # 飽和度調整的強度,預設值為0.1 hue=0.1, # 色相調整的強度,預設值為0.1 p=0.5, # 執行顏色抖動的概率,預設值為0.5 )
下面是各個引數的詳細介紹:
brightness
:亮度調整的強度。預設值為0.1。如果設定為0,則不進行亮度調整。contrast
:對比度調整的強度。預設值為0.1。如果設定為0,則不進行對比度調整。saturation
:飽和度調整的強度。預設值為0.1。如果設定為0,則不進行飽和度調整。hue
:色相調整的強度。預設值為0.1。如果設定為0,則不進行色相調整。p
:執行顏色抖動的概率。預設值為0.5。如果設定為1,則每個影象都會執行顏色抖動。在PyTorch的torchvision
庫中,ToTensor
函數是一種將PIL Image或numpy.ndarray格式的影象轉換為PyTorch Tensor格式的函數。它可以將影象中的畫素值轉換為0到1之間的標準化數值,並調整影象的通道順序,使其符合PyTorch模型的輸入要求。
ToTensor
函數的使用方法如下:
from torchvision.transforms import ToTensor transform = ToTensor()
一般來說,在使用Compose
組合在一起的一組transform中,ToTensor
函數應該放在最後一個位置,以便將影象轉換為PyTorch Tensor格式的影象,並確保其他所有的transform都在Tensor轉換之前完成。
在PyTorch的torchvision.transforms
庫中,Normalize
函數是一種對影象進行標準化處理的函數。它可以將影象中的畫素值進行歸一化處理,使得影象的畫素值均值為0,標準差為1,從而增強模型的收斂速度和泛化效能。
Normalize
函數的使用方法如下:
from torchvision.transforms import Normalize transform = Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
在上述程式碼中,我們首先匯入了Normalize
函數,並建立了一個名為transform的Normalize物件。其中,mean
和std
引數分別代表影象各通道畫素值的平均值和標準差。在這裡,我們以ImageNet資料集的影象均值和標準差為例進行了設定。
需要注意的是,Normalize
函數應該在影象轉換為PyTorch Tensor格式之後應用,即在ToTensor之後。這是因為Normalize
需要對每個通道的畫素值進行標準化,而ToTensor函數將影象中的畫素值轉換為PyTorch Tensor格式後,每個通道的畫素值將儲存在不同的維度上,因此才需要在ToTensor
之後進行標準化處理。
在PyTorch的torchvision
庫中,Compose
函數是一種將多個資料增強操作組合在一起的函數。它可以將多個資料增強操作按照一定的順序組合在一起,並將它們作為一個整體應用於資料集中的每個樣本。Compose
函數可以幫助我們方便地實現複雜的資料增強操作,同時也可以使我們的程式碼更加簡潔和易讀。
Compose
函數的使用方法如下:
from torchvision.transforms import Compose from torchvision.transforms import RandomCrop, RandomHorizontalFlip, ToTensor transform = Compose([ RandomCrop(32), RandomHorizontalFlip(), ToTensor() ])
在上述程式碼中,我們首先匯入了Compose
函數和其他一些資料增強操作,然後建立了一個名為transform的Compose
物件。該Compose物件由三個資料增強操作組成:隨機裁剪(RandomCrop),隨機水平翻轉(RandomHorizontalFlip)和轉換為Tensor格式(ToTensor)。
到此這篇關於Pytorch中的影象增廣和預處理方法(transforms類)的文章就介紹到這了,更多相關Pytorch影象增廣和預處理內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45