Pytorch - torchvision
- 簡介
- model
- datasets
- transforms
- 代碼實作
簡介
torchvision是Pytorch的計算機視覺工具庫,是Pytorch專門用于處理影像的庫,
model
torchvision.models中包含了許多已經訓練好的模型,可以通過models直接呼叫,
模型
- AlexNet
- VGG
- ResNet
- SqueezeNet
- DenseNet
- …
datasets
torchvision.datasets中,包含了許多已經被處理過的圖片資料集,可以通過datasets直接呼叫,
資料集
- MNIST:手寫數字資料集
- COCO:用于影像標注和目標檢測
- LSUN Classification
- ImageFolder
- Imagenet-12
- CIFAR10 and CIFAR100
- STL10
- …
transforms
transforms模塊提供了一般的影像預處理方法, 例如
- 資料中心化
- 資料標準化
- 縮放
- 裁剪
- 旋轉
- 翻轉
- 填充
- 噪聲添加
- 灰度變換
- 線性變換
- 仿射變換
- 亮度
- 飽滿度及對比度變換
- …
這些方法可以用于對影像的資料增強,又稱為資料增廣,資料擴增,是對訓練集進行變換,使訓練集更加豐富,從而使模型具有泛化能力,
具體方法與函式:
| 裁剪 | 作用 |
|---|---|
| CenterCrop | 從影像中心裁剪影像 |
| RandomCrop | 從圖片中隨即裁剪出給定尺寸的圖片(可填充) |
| ResizedCrop | 隨即大小,長寬比剪裁圖片 |
| FiveCrop | 在圖片的四個角和中心各截取一幅尺寸為size的圖片 |
| TenCrop | 在FiveCrop的基礎上進行水平和垂直翻轉,默認為水平翻轉 |
| 翻轉 | 作用 |
|---|---|
| RandomHorziontalFlip | 依概率水平翻轉圖片 |
| RandomVerticalFlip | 依概率垂直翻轉圖片 |
| RandomRotation | 隨機旋轉圖片 |
| 影像處理 | 作用 |
|---|---|
| Pad | 對圖片邊緣進行填充 |
| Resize | 修改影像解析度 |
| ColorJitter | 調整亮度,對比度,飽和度和色相 |
| Grayscale | 轉換為灰度 |
| RandomGrayscale | 依概率轉換為灰度圖片 |
| RandomAffine | 對影像進行仿射變換(二維的線性變換),即旋轉、平移、縮放、錯切和翻轉 |
| RandomErasing | 對影像進行隨機遮擋 |
| Normalize | 逐channel的對影像進行標準化, output = (input - mean) / std |
| Lanbda | 用戶自定義Lambda方法 |
| Totensor | 轉化為張量 |
| LinearTransformation | 對矩陣做線性變換,可以用于白化處理 |
| ToPILImage | 將ndarray或者張良轉化為PIL Image型別資料 |
| transforms操作 | 作用 |
|---|---|
| RandomChoice | 從一系列transforms中選擇一個 |
| RandomApply | 依概率執行一組transforms操作 |
| RandomOrder | 對一組transforms操作打亂順序 |
代碼實作
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/41717.html
標籤:其他
上一篇:作業系統簡述題
