Open kyleleey opened 5 months ago
Hi @kyleleey
Sorry, I'm a bit confused by what you mean with "new integrator". Are we only speaking about direct_projective
or do you have your own custom integrator?
Can you try moving the integrator construction outside of the function? Sometimes its lifetime isn't well defined.
Summary
Loss.backward() would raise Segmentation Fault when defining a new integrator to render the scene and compute loss on this image.
System configuration
System information:
OS: Ubuntu 20.04.6 LTS CPU: AMD EPYC 9334 32-Core Processor GPU: NVIDIA L40S Python: 3.11.8 (main, Feb 26 2024, 21:39:34) [GCC 11.2.0] NVidia driver: 550.54.14 LLVM: 12.0.0
Dr.Jit: 0.4.4 Mitsuba: 3.5.0 Is custom build? False Compiled with: GNU 10.2.1 Variants: scalar_rgb scalar_spectral cuda_ad_rgb llvm_ad_rgb
Description
Hi,
I'm using mitsuba3 with Pytorch for object pose estimation, I noticed in the official tutorial that for differentiable simulation, the integrator has to be "direct_projective", but when I compute loss on rendered image with new integrator, the loss.backward() will raise Segmentation Fault without other messages. (If with default "path" integrator the gradient will easily be nan, I assume this is the reason why the "direct_projective" integrator is suggested)
Steps to reproduce
Minimal Reproduce: