Hi,
.eval() is not setting requires_grad to False !
What eval does is to run your layers in evaluation mode. In particular, dropout will not drop anymore and batchnorm will use saved statistics instead of the ones computed on the fly.
If you want to disable the autograd, you should wrap you function in a with torch.no_grad(): block.