Conv2d(): argument 'input' (position 1) must be Tensor, not tuple

I am working on trying to implement a paper in which they provide the pytorch model. I am trying to call it first by creating a body, body = create_body(arch, False, -2) to get up to the last linear layer at the end of the model. Then I try create_head(num_features_model(body)*2,256,[512],0.5,False), and when num_features_model(body) is called, I get an error on the models’ forward pass:
TypeError: conv2d(): argument 'input' (position 1) must be Tensor, not tuple

The initial call to the forward pass (and where it fails) looks like this:

def forward(self, x):
     x = self.ReLU(self.conv2d1(x))

where conv2d1 is nn.Conv2d(2048, 128, 3, 1, 1)

If anyone has advice on where this could be having the issue I would greatly appreciate the help!



@muellerzr Have you found a solution? Thx