this error comes when
for i, (data, target) in enumerate(train_loader):
        data, target = data.to('cuda'), target.to('cuda')
        optimizer.zero_grad()
        set_trace()
        output = model(data)

after model(data)
after using set_trace() in Top()
ipdb> n
> <ipython-input-4-c93b1c3acece>(82)forward()
     80   def forward(self, x):
     81     set_trace()
---> 82     a = self.childone(self.encoder(x))
     83     b = self.childtwo(self.encoder(x))
     84     # print('top', a.shape, b.shape)

ipdb> x.shape
torch.Size([100, 3, 32, 32])
ipdb> n
RuntimeError: The expanded size of the tensor (3) must match the existing size (16) at non-singleton dimension 0.  Target sizes: [3, 15, 15].  Tensor sizes: [16, 15, 15]
> <ipython-input-4-c93b1c3acece>(82)forward()
     80   def forward(self, x):
     81     set_trace()
---> 82     a = self.childone(self.encoder(x))
     83     b = self.childtwo(self.encoder(x))
     84     # print('top', a.shape, b.shape)

when I use
torchsummary.summary(model, (3, 32, 32), batch_size=100)

then it prints out the model, but I get error during training