pytorch載入資料

2021-10-01 17:14:53 字數 1718 閱讀 5174

參考:pytorch深度學習快速入門教程(絕對通俗易懂!)【小土堆】

可看到說明,dataset是乙個抽象類,我們重寫dataset時要繼承這個類,所有的子類都應該重寫__getitem__()方法,這個方法作用是獲取資料及對應的labe。同時我們可以選擇性地去重寫__len__方法,其作用是獲取資料集長度。

這裡我使用的是貓狗二分類的資料集,如圖:

: self.root_dir = root_dir ##根目錄

self.label_dir = label_dir ##標籤,也就是檔名

self.path = os.path.join(self.root_dir,self.label_dir)

##拼成乙個完整的目錄

self.img_path = os.listdir(self.path)

##獲得的乙個list

def__getitem__

(self, idx)

: img_name = self.img_path[idx]

##得到單個的名字

img_item_path = os.path.join(self.root_dir,self.label_dir,img_name)

##得到單個的路徑

img = image.

open

(img_item_path)

##資料

label = self.label_dir ##標籤

return img, label

def__len__

(self)

:return

len(self.img_path)

root_dir=

"d:/貓狗大戰/data/train"

cat_label_dir =

"cat"

dog_label_dir =

"dog"

cat_dataset = mydataset(root_dir,cat_label_dir)

dog_dataset = mydataset(root_dir,dog_label_dir)

img, label = cat_dataset[1]

img.show(

)print

(label)

img, label = dog_dataset[1]

img.show(

)print

(label)

輸出結果:

catdog

寫給自己,另外,可以參考這篇部落格:

fastai也可以關注以下

pytorch十 資料載入

在pytorch中,資料載入可通過自定義的資料集物件實現。資料及物件被抽象為dataset類,實現自定義的資料集需要繼承dataset,並實現兩個python魔法方法。這裡我們以kaggle經典挑戰比賽 dogs vs cat 的資料為例,詳細講解如何處理資料。這是乙個分類問題,判斷一張是狗還是貓,...

Pytorch資料載入 (一)

在pytorch中,資料載入可以通過自定義的資料集物件實現。資料集物件被抽象為dataset類,實現自定義的資料集需要繼承datase類,並且實現python的兩個魔法方法。a.getitem 返回一條資料或者樣本。如obj index 等價於obj.getitem index 如果定義乙個 cla...

Pytorch的資料載入

pytorch將資料集的處理過程標準化,提供了dataset基本的資料 類,並在torchvision中提供了眾多資料變換函式,資料載入的具體過程 主要分為3步 1 繼承dataset類 對於資料集的處理,pytorch提供了torch.utils.data.dataset這個抽象 類,在使用時只需...