torchvision.datasets.ImageFolder 數據加載

1、torchvision已經餘弦實現了常用的Dataset,包括CIFAR-10,以及ImageNet、COCO、MNIST、LSUN等數據集,可通過諸如torchvision.datasets.CIFAR10來調用。
2、ImageFolder假設所有的文件按文件夾保存,每個文件下存儲同一類別的圖片,文件夾名爲類名,構造函數如下:

ImageFolder(root,transform=None,target_transform=None,loader=default_loader)

主要有四個參數:
root:在指定路徑下尋找圖片
transform:對PIL Image進行的轉換操作
target_transform:對label的轉換
loader:給定路徑後如何讀取圖片,默認讀取爲RGB格式的PIL Image對象
label是按照文件夾名順序排列後存成字典,即{類名:類序號},類序號從0開始。

from torchvision import transforms as T
import matplotlib.pyplot as plt
from torchvision.datasets import ImageFolder
 
 
dataset = ImageFolder('data/dogcat_2/')
 
# cat文件夾的圖片對應label 0,dog對應1
print(dataset.class_to_idx)
 
# 所有圖片的路徑和對應的label
print(dataset.imgs)
 
# 沒有任何的transform,所以返回的還是PIL Image對象
#print(dataset[0][1])# 第一維是第幾張圖,第二維爲1返回label
#print(dataset[0][0]) # 爲0返回圖片數據
plt.imshow(dataset[0][0])
plt.axis('off')
plt.show()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章