MCPcopy Create free account
hub / github.com/Sin3DM/Sin3DM / DecoderMLP

Class DecoderMLP

src/encoding/blocks.py:45–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43
44
45class DecoderMLP(nn.Module):
46 def __init__(self, in_channels, out_channels, hidden_channels, num_hidden_layers, posenc=0) -> None:
47 super().__init__()
48 self.posenc = posenc
49 if posenc > 0:
50 self.PE = SinusoidalEncoder(in_channels, 0, posenc, use_identity=True)
51 in_channels = self.PE.latent_dim
52 layer_list = [nn.Linear(in_channels, hidden_channels), nn.ReLU()]
53 for _ in range(num_hidden_layers):
54 layer_list.append(nn.Linear(hidden_channels, hidden_channels))
55 layer_list.append(nn.ReLU())
56 layer_list.append(nn.Linear(hidden_channels, out_channels))
57 self.layers = nn.Sequential(*layer_list)
58
59 def forward(self, x):
60 if self.posenc > 0:
61 x = self.PE(x)
62 return self.layers(x)
63
64
65class DecoderMLPSkipConcat(nn.Module):

Callers 1

__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected