MCPcopy Create free account
hub / github.com/DSL-Lab/StreamSplat / __init__

Method __init__

model/model_utils.py:372–394  ·  view source on GitHub ↗
(self, opt: Options, transformer_dim: int, mlp_dim=None, bias=True)

Source from the content-addressed store, hash-verified

370
371class GSDynamicDecoder(nn.Module):
372 def __init__(self, opt: Options, transformer_dim: int, mlp_dim=None, bias=True):
373 super(GSDynamicDecoder, self).__init__()
374 self.opt = opt
375 self.embed_dim = transformer_dim
376 self.mlp_dim = mlp_dim if mlp_dim is not None else transformer_dim
377 self.key_dims = {"xyz_dynamic": 3 * (opt.forder), "opacity_dynamic": 2}
378 self.gs_layer = nn.ModuleDict()
379 self.prior = Truncated_Gaussian_Model(n_sample=1, nr_mix=1)
380 self.pm = opt.pm_dynamic
381 self.register_buffer("dynamic_scalar", torch.tensor([0.5, 0.1, 0.5]))
382
383 for key in ["xyz_dynamic", "opacity_dynamic"]:
384 if key == "xyz_dynamic":
385 layer = MLP(self.mlp_dim*2, self.key_dims[key], n_neurons=self.mlp_dim, n_hidden_layers=2, activation="silu", output_activation=None, bias=bias)
386 if self.pm:
387 pred_scale = nn.Linear(self.mlp_dim*2, self.key_dims[key], bias=False)
388 torch.nn.init.xavier_normal_(pred_scale.weight, 0.01)
389 self.gs_layer[f'{key}_scale'] = pred_scale
390 elif key == "opacity_dynamic":
391 layer = MLP(self.mlp_dim*2, self.key_dims[key], n_neurons=self.mlp_dim, n_hidden_layers=2, activation="silu", output_activation=None, bias=bias)
392 else:
393 raise NotImplementedError
394 self.gs_layer[key] = layer
395
396 @autocast('cuda', enabled=False)
397 def forward(self, feats, timestamp=None):

Callers

nothing calls this directly

Calls 3

MLPClass · 0.90
__init__Method · 0.45

Tested by

no test coverage detected