Hi all, I’m modifying the tutorial at http://pytorch.org/tutorials/beginner/transfer_learning_tutorial.html 41 to use a model I’m defining myself with nn.Sequential like so:
model = nn.Sequential(
## Encoder Network
nn.Conv2d(3, 64, kernel_size=4),
nn.ReLU(True),
nn.Conv2d(64, 128, kernel_size=4),
nn.ReLU(True),
nn.MaxPool2d(kernel_size=2, stride=2, padding=0),
.
.
.
nn.ConvTranspose2d(1, 1, 5),
nn.ReLU(True),
nn.Upsample(scale_factor=2, mode='bilinear'),
#
nn.AdaptiveMaxPool2d(1, 5),
nn.Linear(1, 1, 5)
)

and in the training function:
    # Iterate over data.
        for data in dataloaders[phase]:
            # get the inputs
            inputs, labels = data

            # wrap them in Variable
            if use_gpu:
                inputs = Variable(inputs.cuda())
                labels = Variable(labels.cuda())
            else:
                inputs, labels = Variable(inputs), Variable(labels)

            # zero the parameter gradients
            optimizer.zero_grad()

            # forward
            print(inputs)
            outputs = model(inputs)
            _, preds = torch.max(outputs.data, 1)
            loss = criterion(outputs, labels)

But “outputs=model(inputs)” returns a tuple. How can I get the right output from the model?
The Traceback is:
Traceback (most recent call last):
  File "smallEDNetwork.py", line 198, in <module>
num_epochs=25)
  File "smallEDNetwork.py", line 123, in train_model
outputs = model(inputs)
  File "/home/nic/.conda/envs/my_root/lib/python3.6/site-packages/torch/nn/modules/module.py", line 325, in __call__
result = self.forward(*input, **kwargs)
  File "/home/nic/.conda/envs/my_root/lib/python3.6/site-packages/torch/nn/modules/container.py", line 67, in forward
input = module(input)
  File "/home/nic/.conda/envs/my_root/lib/python3.6/site-packages/torch/nn/modules/module.py", line 325, in __call__
result = self.forward(*input, **kwargs)
  File "/home/nic/.conda/envs/my_root/lib/python3.6/site-packages/torch/nn/modules/linear.py", line 55, in forward
return F.linear(input, self.weight, self.bias)
  File "/home/nic/.conda/envs/my_root/lib/python3.6/site-packages/torch/nn/functional.py", line 833, in linear
if input.dim() == 2 and bias is not None:
AttributeError: 'tuple' object has no attribute 'dim'