If you don’t store gradients, computation is faster, and computation doesn’t save information required for backprop, which saves memory. If you evaluate, it makes a lot of sense to use no_grad, since you will be able to work with larger batch sizes and thus evaluate faster.