數據處理工具箱概述
Pytorch涉及數據處理(數據裝載,數據預處理,數據增強等)主要工具包及相互關係如圖所示:
圖的左邊是torch.utils.data工具包,主要包括以下4個類:
- Dataset:是一個抽象類,其他數據集要繼承這個類,並且重寫其中兩個方法(getitem, len)。
- DataLoader:定義一個新的迭代器,實現批量(batch)讀取,打亂數據(shuffle)並提供並行加速等功能。
- random_split: 把數據集隨機拆分爲給定長度的非重疊的新數據集
- Sampler:多種採樣函數
圖中間的torchvision是Pytorch可視化處理工具,包括四個類:
- datasets: 提供常用的數據集加載,設計上繼承自torch.utils.data.Dataset
- models:提供深度學習中各種經典的網絡結構以及訓練好的模型(如果選擇pretrained=True)
- transforms:常用的數據預處理操作,主要包括對Tensor及PIL Image對象的操作
- utils: 含兩個函數,一個是make_grid, 它能將多張圖片拼接在一個網格中;另一個是save_img,它能將tensor保存成圖片