Maybe I don’t understand something. Let me construct some simple example to talk about something more specific 
import torch
A = torch.autograd.Variable(torch.FloatTensor([[[1, 2, 3], [1, 2, 3]], [[4, 5, 6], [4, 5, 6]], [[7, 8, 9], [7,8, 9]]]))
torch.cat((A,), 1)

Output:
Variable containing:
(0 ,.,.) = 
  1  2  3
  1  2  3

(1 ,.,.) = 
  4  5  6
  4  5  6

(2 ,.,.) = 
  7  8  9
  7  8  9
[torch.FloatTensor of size 3x2x3]

which is not what I want which is like this:
1     2     3     4     5     6     7     8     9
    1     2     3     4     5     6     7     8     9
[torch.FloatTensor of size 2x9]