Instead of squeeze, which tries to remove a dimension with size=1, you could index the images in the batch in a loop:
for batch_idx, (inputs, labels) in enumerate(train_loader):   
    print(inputs.shape)     #torch.Size([2, 3, 224, 224])
    for idx in range(inputs.size(0)):
        input = inputs[idx]
        input = input.permute(1, 2, 0)
        plt.figure()
        plt.imshow(input.numpy())
        plt.show()