_GradEnablingScaler differs from NoScalingScaler by one line: requires_gradients = True
From review on #313: _GradEnablingScaler [latent_optimization.py:81] duplicates NoScalingScaler except for one line, requires_gradients = True. Marcus asked to drop it and use NoScalingScaler instead (comment).
That doesn't work as-is. The sampler reads requires_gradients off the step scaler to decide whether to run the denoiser under autograd [edm.py:400]. NoScalingScaler doesn't set it, so denoised comes back detached and IT-opt has no gradient path to the s/z latents.
_GradEnablingScaler differs from NoScalingScaler by one line: requires_gradients = True
From review on #313: _GradEnablingScaler [latent_optimization.py:81] duplicates NoScalingScaler except for one line, requires_gradients = True. Marcus asked to drop it and use NoScalingScaler instead (comment).
That doesn't work as-is. The sampler reads requires_gradients off the step scaler to decide whether to run the denoiser under autograd [edm.py:400]. NoScalingScaler doesn't set it, so denoised comes back detached and IT-opt has no gradient path to the s/z latents.