Not necessarily. The usage of view and reshape does not depend on training / not-training.
I personally use view whenever possible and add a contiguous call to it, if necessary. This will make sure I see, where a copy is done in my code. reshape on the other hand does this automatically, so your code might look cleaner.


No, it should not be a bug regarding the gradient flow. However, as shown with the reshape vs. permute example, the wrong operator might of course cause problems in your training. E.g. if you would like to swap some axes of an image tensor from NCHW to NHWC, you should use permute.