Solved by DuaneNielsen in post #4 
              
              
                Looks like you are using FloatTensor’s.  I believe gradcheck is designed only to work with DoubleTensors 
Try adding .double() to the model and the Variable, and you should find it works OK.