I ran into this problem as well - find_unused_parameters=True may cause a parameter to be marked twice. The problem is that in my case find_unused_parameters=True is actually needed.
@Yanli_Zhao Sorry about my ignorance here - I am wondering why activation checkpoint is related to autograd engine hooks? Thanks!