mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-12 10:55:57 +08:00
change normals grad calculation (#1108)
* change normals grad calculation * changing normal calc
This commit is contained in:
1 parent
1a70665e76
commit
008cc8f144
1 file changed
+9
-4
@@ -74,10 +74,15 @@ class Field(nn.Module):
|
||||
self._sample_locations.shape[:-1] == self._density_before_activation.shape[:-1]
|
||||
), "Sample locations and density must have the same shape besides the last dimension."
|
||||
|
||||
self._density_before_activation.backward(
|
||||
gradient=torch.ones_like(self._density_before_activation), inputs=self._sample_locations, retain_graph=True
|
||||
)
|
||||
normals = -torch.nn.functional.normalize(self._sample_locations.grad, dim=-1)
|
||||
normals = torch.autograd.grad(
|
||||
self._density_before_activation,
|
||||
self._sample_locations,
|
||||
grad_outputs=torch.ones_like(self._density_before_activation),
|
||||
retain_graph=True,
|
||||
)[0]
|
||||
|
||||
normals = -torch.nn.functional.normalize(normals, dim=-1)
|
||||
|
||||
return normals
|
||||
|
||||
@abstractmethod
|
||||
|
||||
Reference in new issue
Block a user