-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Running pytorch3d with theseus optimization #1636
Comments
I'm afraid lots of pytorch3d ops are not written to be compatible with vmap. In #1533 you can see an example of how you might wrap a function to combine the vmap dimension with the batch dimension and therefore make it work. Can you do something similar for this case? |
My input R shape is torch.Size([1, 3, 3]). I Think I dont have a batch dimension. I think there are some inplace operations happening here. That maybe the issue. |
This might be quite hard to solve. What is the |
My code is just a slightly changed version of this example
Here you can see the defenition of functions. Sorry I am new to vmap and couldn't understand what is happening in the error message. |
What is the whole function you are passing to theseus? |
🐛 Bugs / Unexpected behaviors
I am trying to integrate theseus optimization library and pytorch3d for my application. When I am passing the variables from Theseus to pytorch3d for rendering it throws the following error.
*RuntimeError: vmap: inplace arithmetic(self, extra_args) is not possible because there exists a Tensor
other
in extra_args that has more elements thanself
. This happened due toother
being vmapped over butself
not being vmapped over in a vmap. Please try to use out-of-place operators instead of inplace arithmetic. If said operator is being called inside the PyTorch framework, please file a bug report instead.I am using a silhouette_renderer to render an obj model.
self.silhouette_renderer(meshes_world=self.mesh, R=R, T=T)
The R and T is coming from Theseus while optimizing.
These are the tensors passed by theseus while optimizing. When I pass normal tensors ie, while not in optimizing mode the renderer works perfectly.
The text was updated successfully, but these errors were encountered: