Hi @conner
To feed an rnn model with batch_first, would need to feed tensors of size batch * sequence * dimension, even if the dimension is one.
You could do this on the dataloader level (where you don’t have the batch dimension, so the output tensor is sequence * dimension) with a transform like
transform = torchvision.transforms.Compose(
             [torchvision.transforms.ToTensor(),
              torchvision.transforms.Lambda(lambda x: x.view(-1,1))
             ])

Then you can use that in the dataset instantiation and use that in the usual  DataLoader.
If you want permuted sequential MNIST, you could take
pixel_permutation = torch.randperm(28*28)
transform = torchvision.transforms.Compose(
             [torchvision.transforms.ToTensor(),
              torchvision.transforms.Lambda(lambda x: x.view(-1,1)[pixel_permutation])
             ])

(It is desired that the permutation is fixed.)
If you are looking at implementing this

  
    
    
    Tunable Efficient Unitary Neural Networks (EUNN) 
  
  
    Hi, I wonder if there’s been a PyTorch implementation of, 
Tunable Efficient Unitary Neural Networks (EUNN) 
It’s something that definitely seems to be a solid piece of work ! 
@smth this seems like something FAIR must have in house already? You, Yann LeCun and Martin Arjovsky have been working on this for a quite a while if I remember correctly?
  


you’d instantly have a fan-club if you post a link to your implementation. 
Best regards
Thomas