Ah, that seems logical…
However it still not seems to work:
 print(a.unsqueeze(-1).size(), b.size())
    print(torch.stack([a.unsqueeze(-1), b], dim=1))

Leads to:
torch.Size([5, 1]) torch.Size([5, 3])

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-42-976b8e293ff3> in <module>()
      1 #x = Variable(torch.from_numpy(X[selection]), requires_grad=0)
      2 model.cpu()
----> 3 model(x[:5].cpu())

~/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    323         for hook in self._forward_pre_hooks.values():
    324             hook(self, input)
--> 325         result = self.forward(*input, **kwargs)
    326         for hook in self._forward_hooks.values():
    327             hook_result = hook(self, input, result)

<ipython-input-41-27a480fa83be> in forward(self, x)
     51 
     52         print(a.unsqueeze(-1).size(), b.size())
---> 53         print(torch.stack([a, b], dim=1))
     54 
     55         #return x

~/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/functional.py in stack(sequence, dim, out)
     62     inputs = [t.unsqueeze(dim) for t in sequence]
     63     if out is None:
---> 64         return torch.cat(inputs, dim)
     65     else:
     66         return torch.cat(inputs, dim, out=out)

RuntimeError: inconsistent tensor sizes at /opt/conda/conda-bld/pytorch_1512387374934/work/torch/lib/TH/generic/THTensorMath.c:2864