You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It used to be possible to call dr.enable_grad on any differentiable scene parameter, call params.update(), render and compute gradients of the respective parameters.
This is currently no longer possible, the offending commit seems to be af5aaa6. I haven't looked into the details yet, but it might be related to the enabling of packet instructions for textures and the associated padding. Something in that logic prevents gradients from being accumulated at the original value in the scene parameters object.
The following reproducer now prints False, but prior to af5aaa6 prints True:
However, it's still confusing that directly enabling gradients on the SceneParameters object does not work for textures, but keeps working for all other parameters.
The text was updated successfully, but these errors were encountered:
It used to be possible to call
dr.enable_grad
on any differentiable scene parameter, callparams.update()
, render and compute gradients of the respective parameters.This is currently no longer possible, the offending commit seems to be af5aaa6. I haven't looked into the details yet, but it might be related to the enabling of packet instructions for textures and the associated padding. Something in that logic prevents gradients from being accumulated at the original value in the scene parameters object.
The following reproducer now prints
False
, but prior to af5aaa6 printsTrue
:It's possible to work around this problem by creating a new tensor and re-assigning it:
However, it's still confusing that directly enabling gradients on the SceneParameters object does not work for textures, but keeps working for all other parameters.
The text was updated successfully, but these errors were encountered: