1. 程式人生 > 程式設計 >Pytorch 定義MyDatasets實現多通道分別輸入不同資料方式

Pytorch 定義MyDatasets實現多通道分別輸入不同資料方式

最近在做一個專案,用雙通道神經網路,每個通道輸入不同資料訓練,具有相同label。開始沒想到如何實現,網上很多例子都是單通道,即便找到雙通道的例子,兩個通道的輸入也相同。

最後,終於想到了一個辦法。多輸入和單輸入其實是一樣的,只需要重新改寫torch.utils.data.Datasets. 需要改寫class Dataset裡面的init、len和getitem

一個例子:

 class MyDataset(data.Dataset):
  def __init__(self,data1,data2,labels):
    self.data1= data1
    self.data2= data2
    self.labels = labels # 我的例子中label是一樣的,如果你的不同,再增加一個即可

  def __getitem__(self,index):  
    img1,img2,target = self.data1[index],self.data2[index],self.labels[index]
    return img1,target

  def __len__(self):
    return len(self.data1) # 我的例子中len(self.data1) = len(self.data2)

以上這篇Pytorch 定義MyDatasets實現多通道分別輸入不同資料方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。