Exemplo n.º 1
0
    def __init__(self, mlp_layers, N, f_dict):
        super(RecurrentGraphEmbeddingRDS, self).__init__(f_dict)
        self.N = N
        model_fn = gn.mlp_fn(mlp_layers)
        self.component = 'RDS'

        self.gnn1 = gn.DeepSetPlus(
            gn.DS_NodeModel(self.fx, self.fu, model_fn, self.fx),
            gn.DS_GlobalModel(self.fx, self.fu, model_fn, self.fu))
        self.gnn2 = gn.DeepSetPlus(
            gn.DS_NodeModel(self.fx, 2 * self.fu, model_fn, self.fx),
            gn.DS_GlobalModel(self.fx, 2 * self.fu, model_fn, self.fu))
        self.mlp = model_fn(self.fu, self.fout)
Exemplo n.º 2
0
    def __init__(self, mlp_layers, N, f_dict):
        super(RecurrentGraphEmbeddingRDSv2, self).__init__(f_dict)
        model_fn = gn.mlp_fn(mlp_layers)
        self.N = N
        self.component = 'RDS'

        self.proj = torch.nn.Linear(self.fx, self.h)
        self.gnn1 = gn.DeepSetPlus(
            gn.DS_NodeModel(self.h, self.h, model_fn, self.h),
            gn.DS_GlobalModel(self.h, self.h, model_fn, self.h))
        self.gnn2 = gn.DeepSetPlus(
            gn.DS_NodeModel(self.h, 2 * self.h, model_fn, self.h),
            gn.DS_GlobalModel(self.h, 2 * self.h, model_fn, self.h))
        self.mlp = model_fn(self.h, self.fout)
Exemplo n.º 3
0
    def __init__(self, mlp_layers, N, f_dict):
        super(AlternatingDoubleRDS, self).__init__(f_dict)
        model_fn = gn.mlp_fn(mlp_layers)
        self.N = N
        self.component = 'RDS'
        # f_e, f_x, f_u, f_out = self.get_features(f_dict)

        self.gnn1 = gn.DeepSetPlus(
            gn.DS_NodeModel(self.fx, 2 * self.fu, model_fn, self.fx),
            gn.DS_GlobalModel(self.fx, 2 * self.fu, model_fn, self.fu))
        self.gnn2 = gn.DeepSetPlus(
            gn.DS_NodeModel(self.fx, 2 * self.fu, model_fn, self.fx),
            gn.DS_GlobalModel(self.fx, 2 * self.fu, model_fn, self.fu))

        self.mlp = model_fn(2 * self.fu, self.fout)
Exemplo n.º 4
0
    def __init__(self, mlp_layers, N, f_dict):
        super(DeepSetPlus_A, self).__init__(f_dict)
        self.N = N  # we allow multiple rounds
        mlp_fn = gn.mlp_fn(mlp_layers)

        self.deepset = gn.DeepSetPlus(
            gn.DS_NodeModel(self.fx, self.fu, mlp_fn, self.fx),
            gn.DS_GlobalModel_A(self.fx, self.fu, self.h, mlp_fn, self.fu))
        self.mlp = mlp_fn(self.fu, self.fout)