def _build_node_proposal_param_network()

in src/lic/ppl/experimental/inference_compilation/ic_infer.py [0:0]


    def _build_node_proposal_param_network(self, node: RVIdentifier) -> nn.Module:
        in_features = self._MB_EMBEDDING_DIM + self._OBS_EMBEDDING_DIM
        layers = []
        for _ in range(self._NODE_PROPOSAL_NUM_LAYERS):
            # TODO: bottlenecking?
            layers.extend(
                [nn.Linear(in_features=in_features, out_features=in_features), nn.ELU()]
            )
        layers.append(
            nn.Linear(
                in_features=in_features,
                out_features=self._proposal_distribution_for_node(node)[0],
            )
        )
        return nn.Sequential(*layers)