Enable debug with TF2 and eager execution
TF2 with eager execution  and tf.gradients not supported anymore.
In order to run the code with eager execution and not collapse instead of tf.gradients should be tf.GradientTape. 

[how-to-compute-gradient-of-output-wrt-input-in-tensorflow-2-0](https://stackoverflow.com/questions/59145221/how-to-compute-gradient-of-output-wrt-input-in-tensorflow-2-0)
Hello!

Thanks for you PR. The reason we used `tf.gradients` is because it handles `None` gradients while `tape.gradients` don't, so for now unless we can find a better way to handle the `None` values for gradients, we will keep it like this.

Also the training is forced to be done in graph compilation with `tf.function` so the eager mode is anyway disactivated.<|||||>Thanks for detailed answer.
Another reason I did the change is to deal with following error that I getting after upgrading to the laters version of transformers library.
`ValueError: distributed_training_steps() should not modify its Python input arguments. Check if it modifies any lists or dicts passed as arguments. Modifying a copy is allowed.`

This error disappears after my change.
tensorflow==2.3.1
transformers==3.3.1<|||||>Ok, can you open an issue with the details on how to reproduce the error please.<|||||>I am closing this pull request as I found workaround regarding my issue issue with **parameter modification** .
