最近在做一个项目,用双通道神经网络,每个通道输入不同数据训练,具有相同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,img2, target def __len__(self): return len(self.data1) # 我的例子中len(self.data1) = len(self.data2)
以上这篇Pytorch 定义MyDatasets实现多通道分别输入不同数据方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。