Моя модель PyTorch содержит два CNN, выходы которых затем объединяются и проходят через ряд полностью связанных слоев.Входами двух CNN являются матрицы: проблема в том, что для первого CNN матрицы имеют форму 128x100, а для второго - 128x1000.Сейчас я пытаюсь создать класс Dataset
для генерации загрузчиков.На данный момент я написал следующее:
class Data(Dataset):
def __init__(self, dataP, targetP, dataC, targetC, transform=None):
self.dataP = [torch.from_numpy(X).int() for X in dataP]
self.targetP = [torch.from_numpy(y).float() for y in targetP]
self.dataC = [torch.from_numpy(X).int() for X in dataC]
self.targetC = [torch.from_numpy(y).float() for y in targetC]
self.transform = transform
def __getitem__(self, index):
Xp = self.dataP[index]
yp = self.targetP[index]
Xc = self.dataC[index]
yc = self.targetC[index]
if self.transform:
Xp = self.transform(Xp)
Xc = self.transform(Xc)
return Xp, yp, Xc, yc
def __len__(self):
return len(self.dataP)
Хотя кажется, что код работает без проблем, я уверен, что что-то не так, поскольку в методе __len__
я возвращаю длину одноговходов.Можно ли позаботиться о разном размере входов?