Hi,
The default values for the step in the gradcheck function are for double precision numbers.
If you cast all your tensors and modules to double, the check will work.
If you want to work with single precision, you will need to increase eps to 1e-3 or 1e-4.