pytorch入門到放棄3 Dataset

2021-10-25 04:02:52 字數 976 閱讀 5589

pytorch為資料的讀取和預處理提供了很多任務具。

其中,torch.utils.data.dataset是代表這一資料的抽象類,我們可以定義自己的資料class來繼承和重寫這個抽象類,只需要定義__len__和__getitem__兩個函式就行,其中__getitem__包含了資料的讀取和處理:

from torch.utils.data import dataset, dataloader

import pandas as pd

class mydataset(dataset):

def __init__(self, csv_file, txt_file, root_dir):

self.csv_data = pd.read_csv(csv_file)

with open(txt_file, 'r') as f:

self.txt_data = f.readlines()

self.root_dir = root_dir

def __len__(self):

return len(self.csv_data)

def __getitem__(self, item):

data = (self.csv_data[item], self.txt_data[item])

return data

通過上面的方式,可以定義我們需要的類,然後通過torch.utils.data.dataloader取得每乙個資料,如下:

dataiter = dataloader(mydataset, batch_size=32,shuffle=true, num_workers=8)
創作不易,如果您覺的有用,可以來點贊助,一百兩百不嫌多,一毛兩毛不嫌少。

python從入門到放棄 3 模組

python中,乙個.py檔案就稱之為乙個模組 module 模組中包含了python物件定義和python語句.為了避免模組名衝突,python又引入了按目錄來組織模組的方法,稱之為包 package 每乙個包目錄下面都會有乙個 init py 的檔案,這個檔案是必須存在的,否則,python就把...

Linux放棄到入門

流星,因為短暫而美麗,劃過黑寂的夜空,釋放出那一閃而逝的光芒,雖然微弱,但卻沒有人能無視它的存在。人生如同流星,充滿了精彩與傳奇,如同一支美麗的傳說,究竟能否想流星那樣短暫,別人決定不了,上天也決定不了,只有自己來掌握,如果願意,流星也可以變成永恆。送給所有正在努力實現理想的朋友們 時間如梭,大學畢...

Linux放棄到入門

流星,因為短暫而美麗,劃過黑寂的夜空,釋放出那一閃而逝的光芒,雖然微弱,但卻沒有人能無視它的存在。人生如同流星,充滿了精彩與傳奇,如同一支美麗的傳說,究竟能否想流星那樣短暫,別人決定不了,上天也決定不了,只有自己來掌握,如果願意,流星也可以變成永恆。送給所有正在努力實現理想的朋友們 時間如梭,大學畢...