欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pytorch關(guān)于Dataset?的數(shù)據(jù)處理

 更新時(shí)間:2022年01月25日 12:55:47   作者:游客26024  
這篇文章主要介紹了Pytorch關(guān)于Dataset?的數(shù)據(jù)處理,學(xué)習(xí)如何對(duì)卷積神經(jīng)網(wǎng)絡(luò)編程;首先,需要了解Pytorch對(duì)數(shù)據(jù)的使用,也是在我們模型流程中對(duì)數(shù)據(jù)的預(yù)處理部分,下面我們就一起進(jìn)入文章查看具體處理過程吧

Pytorch系列是了解與使用Pytorch編程來實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)。

學(xué)習(xí)如何對(duì)卷積神經(jīng)網(wǎng)絡(luò)編程;首先,需要了解Pytorch對(duì)數(shù)據(jù)的使用(也是在我們模型流程中對(duì)數(shù)據(jù)的預(yù)處理部分),其中有兩個(gè)包Dataset,DataLoader。DatasetPytorch對(duì)于單個(gè)數(shù)據(jù)的處理類似于給一堆數(shù)據(jù)進(jìn)行編號(hào),(在有標(biāo)簽的圖像處理中)對(duì)其有序地提取圖像與標(biāo)簽,
DataLoader則是一坨一坨的數(shù)據(jù)進(jìn)行批次的處理。

此實(shí)驗(yàn)運(yùn)用的數(shù)據(jù)是北郵鄧偉洪老師的人臉表情包的數(shù)據(jù)集,

當(dāng)然大家也可以自己手動(dòng)做個(gè)二分類數(shù)據(jù)集之類的就將一幅幅的圖片放圖標(biāo)簽命名的文件夾中即可。

將鄧偉洪老師的RAF-DB簡(jiǎn)單來刨析,假設(shè)其只有Image,沒有真正的Annotation等,
則其根路徑(整個(gè)data的大體位置)設(shè)為 root_dir = "D:\data\basic"
(由于以下考慮了Annotation,"Image"放入label)標(biāo)簽路徑(data下的label位置)設(shè)為label_dir="Image\aligned(original)"

可參考下圖理解:

假設(shè)alignedoriginal是標(biāo)簽,但是它是真正的圖片的路徑

 現(xiàn)在開始編程:

因?yàn)槭褂?code>Dataset,即讓新的類(MyData)來繼承Dataset需要改寫 def __getitem__(self,item):def __len__(self):
其中, def __getitem__ (self,item):輸入一系列圖像的path與圖像的index(組合為一張圖像的詳細(xì)地址),輸出圖像與標(biāo)簽,代碼中默認(rèn)item為序列號(hào),但是為了方便將item改寫為idx;
def __len__(self):輸入一系列圖像的路徑,輸出這些圖像的個(gè)數(shù)。
其他的函數(shù)就可以創(chuàng)新加載自己定義的類里。

from torch.utils.data import Dataset #Dataset的包
import os #路徑需要這個(gè)
import cv2 # 需要讀取圖片,最好用opencv-python,當(dāng)然也可以用PIL只是我不順手


class MyData(Dataset): #我定義的這個(gè)類
    def __init__(self, root_dir, label_dir):
     #下面需要使用的變量,在__init__定義好,
        self.root_dir = root_dir # 根路徑 data在電腦或者服務(wù)器大致的位置
        self.label_dir = label_dir # label的位置(這里假設(shè)Image的名字就是label的位置)
        self.path = os.path.join(self.root_dir, self.label_dir)# 將這個(gè)兩個(gè)合在一起就能找到整體圖片的大致路徑
        self.img_path = os.listdir(self.path) #得到整體圖片的路徑(可取其中的一張一張的圖像的名字)

    def __getitem__(self, idx): 
    # 改寫__getitem__(self,item)函數(shù),最后得到圖像,標(biāo)簽
      #獲取具體的一幅圖像的名字
        img_name = self.img_path[idx]
        #獲取一幅圖像的詳細(xì)地址
        img_item_path = os.path.join(self.root_dir, self.label_dir, img_name)
        #用opencv來讀取圖像
        img = cv2.imread(img_item_path)
        #獲取標(biāo)簽(這里簡(jiǎn)單寫了aligned與original)
        label = self.label_dir
        return img, label

    def __len__(self):
    #改寫整體圖像的大小
        return len(self.img_path)


root_dir = "D://data//basic"
img_dir = "Image"
aligned_label_dir = "aligned"
# aligned_label_dir = "Image//aligned"
aligned_label_dir = os.path.join(img_dir, aligned_label_dir)

original_label_dir = "original"
#original_label_dir = "Image//original"
original_label_dir = os.path.join(img_dir, original_label_dir)

#aligned_data = "D://data//basic//Image//aligned"
aligned_data = MyData(root_dir, aligned_label_dir)
#original_data = "D://data//basic//Image//original"
original_data = MyData(root_dir, original_label_dir)
data = aligned_data + original_data
# 15339
print(len(aligned_data))
# 15339
print(len(original_data))
# 30678
print(len(data))
img_1, label_1 = data[15338]
img_2, label_2 = data[15339]
print(label_1) # Image\aligned
print(label_2) # Image\original

 

相關(guān)文章

  • pytorch無法使用GPU問題的解決方法

    pytorch無法使用GPU問題的解決方法

    這篇文章主要介紹了如何解決pytorch 無法使用GPU 的問題,文中通過代碼和圖文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • Python實(shí)現(xiàn)多個(gè)圓和圓中圓的檢測(cè)

    Python實(shí)現(xiàn)多個(gè)圓和圓中圓的檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)多個(gè)圓檢測(cè)和圓中圓的檢測(cè),文中的實(shí)現(xiàn)方法講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-11-11
  • Pandas缺失值填充 df.fillna()的實(shí)現(xiàn)

    Pandas缺失值填充 df.fillna()的實(shí)現(xiàn)

    本文主要介紹了Pandas缺失值填充 df.fillna()的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 解決python3安裝pandas出錯(cuò)的問題

    解決python3安裝pandas出錯(cuò)的問題

    這篇文章主要介紹了解決python3安裝pandas出錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python庫docopt命令行參數(shù)解析工具

    Python庫docopt命令行參數(shù)解析工具

    這篇文章主要介紹了Python庫docopt命令行參數(shù)解析工具,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python決策樹分類算法學(xué)習(xí)

    Python決策樹分類算法學(xué)習(xí)

    這篇文章主要為大家詳細(xì)介紹了Python決策樹分類算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • python實(shí)現(xiàn)自動(dòng)打卡小程序

    python實(shí)現(xiàn)自動(dòng)打卡小程序

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)自動(dòng)打卡小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • Python數(shù)據(jù)的標(biāo)準(zhǔn)輸出與格式化輸出

    Python數(shù)據(jù)的標(biāo)準(zhǔn)輸出與格式化輸出

    這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)的標(biāo)準(zhǔn)輸出與格式化輸出的相關(guān)資料,和大多數(shù)語言一樣,Python也是用print()函數(shù)來進(jìn)行輸出,需要的朋友可以參考下
    2023-08-08
  • Python 使用@property對(duì)屬性進(jìn)行數(shù)據(jù)規(guī)范性校驗(yàn)的實(shí)現(xiàn)

    Python 使用@property對(duì)屬性進(jìn)行數(shù)據(jù)規(guī)范性校驗(yàn)的實(shí)現(xiàn)

    本文主要介紹了Python 使用@property對(duì)屬性進(jìn)行數(shù)據(jù)規(guī)范性校驗(yàn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • python join方法使用詳解

    python join方法使用詳解

    這篇文章主要介紹了python join方法使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論