Thanks for the reply. I see your point. Upon further investigation I have printed out the labels after squeezing the input:
torch.Size([3, 6144])
torch.Size([3, 6144])
torch.Size([3, 6144])
torch.Size([3, 6144])
torch.Size([3, 6144])
torch.Size([3, 6144])
torch.Size([3, 6144])
torch.Size([3, 6144])
torch.Size([3, 6144])
torch.Size([3, 6144])
torch.Size([3, 6144])
torch.Size([6144])

And before squeezing:
torch.Size([3, 1, 6144, 1, 1])
torch.Size([3, 1, 6144, 1, 1])
torch.Size([3, 1, 6144, 1, 1])
torch.Size([3, 1, 6144, 1, 1])
torch.Size([3, 1, 6144, 1, 1])
torch.Size([3, 1, 6144, 1, 1])
torch.Size([3, 1, 6144, 1, 1])
torch.Size([3, 1, 6144, 1, 1])
torch.Size([3, 1, 6144, 1, 1])
torch.Size([3, 1, 6144, 1, 1])
torch.Size([3, 1, 6144, 1, 1])
torch.Size([1, 1, 6144, 1, 1])


I think the issue may lie in squeezing without specifying the dimensions as all ‘1s’ disappear.  If this is the case, I do have a question (might be a bit basic): Why does it work for training an autoencoder when I have torch.Size([6144])?