Open luci-e opened 1 year ago
prbvolpath
was modified in the unbiased-volume-opt
branch to work with volumes with a majorant supergrid, but differentiation seems to have been broken in the process. Note that in all (heterogeneous) volume experiments of the RCV paper, we use a majorant supergrid, and use the DRT estimator (volpathsimple
) for gradient computation.
I'll try to fix the issue with prbvolpath
, but in the meantime you should be able to use volpathsimple
for your experiments as a drop-in replacement. It is a good idea to use this one for differentiation anyway, since it gives you unbiased (and much lower variance) gradients.
@bathal1 , was the bug you mentioned introduced in unbiased-volume-opt
or on the master branch?
Thanks! 🙂
Summary
Hi, not sure if this is an issue or WAI. I couldn't make sense of some results I was getting, so I tried to run the notebook from the Volumetric inverse rendering tutorial as a check.
However I'm getting the following figures:
Intermediate results
Final results
Another example
The code for the first 2 pictures is verbatim from the tutorial. The last picture is just that it seems to be optimizing from the wrong side?
Using
cuda_ad_rgb
orllvm_ad_rgb
yield the same results. Using Mitsuba3 from the main branch works ok.Sorry in advance if that's a known issue and I just missed it ^^"
System configuration
System information:
OS: Debian GNU/Linux 11 (bullseye) CPU: Intel(R) Core(TM) i9-10900X CPU @ 3.70GHz GPU: NVIDIA GeForce RTX 3090 Python: 3.10.12 (main, Jul 5 2023, 18:54:27) [GCC 11.2.0] NVidia driver: 525.105.17 CUDA: 12.1.105 LLVM: 11.0.1
Dr.Jit: 0.4.0 Mitsuba: 3.2.0 Is custom build? True Compiled with: Clang 11.0.1 Variants: scalar_rgb scalar_spectral cuda_ad_rgb llvm_ad_rgb