From 3a90cb529f893fbf89625a915a53a7a71b97a575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Kulh=C3=A1nek?= Date: Tue, 30 Jan 2024 20:06:17 +0100 Subject: [PATCH] Fix #2843 - safer typing (#2848) --- nerfstudio/fields/nerfacto_field.py | 4 +++- nerfstudio/fields/nerfw_field.py | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/nerfstudio/fields/nerfacto_field.py b/nerfstudio/fields/nerfacto_field.py index 543955d74..52a4de4b3 100644 --- a/nerfstudio/fields/nerfacto_field.py +++ b/nerfstudio/fields/nerfacto_field.py @@ -112,6 +112,8 @@ class NerfactoField(Field): self.appearance_embedding_dim = appearance_embedding_dim if self.appearance_embedding_dim > 0: self.embedding_appearance = Embedding(self.num_images, self.appearance_embedding_dim) + else: + self.embedding_appearance = None self.use_average_appearance_embedding = use_average_appearance_embedding self.use_transient_embedding = use_transient_embedding self.use_semantics = use_semantics @@ -241,7 +243,7 @@ class NerfactoField(Field): # appearance embedded_appearance = None - if self.appearance_embedding_dim > 0: + if self.embedding_appearance is not None: if self.training: embedded_appearance = self.embedding_appearance(camera_indices) else: diff --git a/nerfstudio/fields/nerfw_field.py b/nerfstudio/fields/nerfw_field.py index 9b47de881..1a5a16cd5 100644 --- a/nerfstudio/fields/nerfw_field.py +++ b/nerfstudio/fields/nerfw_field.py @@ -77,6 +77,8 @@ class VanillaNerfWField(Field): if self.appearance_embedding_dim > 0: self.embedding_appearance = Embedding(self.num_images, self.appearance_embedding_dim) + else: + self.embedding_appearance = None self.embedding_transient = Embedding(self.num_images, self.transient_embedding_dim) self.mlp_base = MLP( @@ -97,7 +99,7 @@ class VanillaNerfWField(Field): self.mlp_head = MLP( in_dim=self.mlp_base.get_out_dim() + self.direction_encoding.get_out_dim() - + (self.embedding_appearance.get_out_dim() if self.appearance_embedding_dim > 0 else 0), + + (self.embedding_appearance.get_out_dim() if self.embedding_appearance is not None else 0), num_layers=head_mlp_num_layers, layer_width=head_mlp_layer_width, out_activation=nn.ReLU(), @@ -136,7 +138,7 @@ class VanillaNerfWField(Field): raise AttributeError("Camera indices are not provided.") camera_indices = ray_samples.camera_indices.squeeze().to(ray_samples.frustums.origins.device) mlp_in = [density_embedding, encoded_dir] - if self.appearance_embedding_dim > 0: + if self.embedding_appearance is not None: embedded_appearance = self.embedding_appearance(camera_indices) mlp_in.append(embedded_appearance) mlp_head_out = self.mlp_head(torch.cat(mlp_in, dim=-1))