コード例 #1
0
    def __init__(self):
        super(s2vNet2, self).__init__()

        self.conv1 = MultiS2V(node_input_channels, output_channels,
                              node_features)
        self.conv2 = MultiS2V(output_channels, output_channels, node_features)
        # self.lin1 = Linear(6,6)
        # self.lin2 = Linear(6,6)
        self.lin1 = MList(
            [Lin(output_channels[i], output_channels[i]) for i in range(3)])
        self.lin2 = MList(
            [Lin(output_channels[i], output_channels[i]) for i in range(3)])
コード例 #2
0
    def __init__(self,node_input_channels,output_channels,node_feature_channels=(6,6,4),iteration_num=1):
        super(self.__class__,self).__init__()

        ##### TODO
        self.category = 3
        ##### need more general module

        assert(node_input_channels.shape == (self.category,))
        # assert(edge_channels.shape == (self.category,self.category))
        assert(output_channels.shape == (self.category,))
        # assert(edge_channels.shape == (self.category,self.category))
        
        self.lin1 = MList([Lin(node_input_channels[i],node_feature_channels[i]) for i in range(self.category)])
        self.lin2 = MList([MList([Lin(node_feature_channels[i],node_feature_channels[j]) for j in range(self.category)]) for i in range(self.category)])
        self.lin3 = MList([Lin(node_feature_channels[i],node_feature_channels[i]) for i in range(self.category)])
        # self.lin4 = MList([MList([Lin(edge_channels[i][j],node_feature_channels[j]) for j in range(self.category)]) for i in range(self.category)])
        self.lin5 = MList([Lin(2*node_feature_channels[i],output_channels[i]) for i in range(self.category)])
        self.lin6 = MList([MList([Lin(node_feature_channels[i],node_feature_channels[j]) for j in range(self.category)]) for i in range(self.category)])
        self.lin7 = MList([Lin(node_feature_channels[i],node_feature_channels[i]) for i in range(self.category)])

        self.node_input_channels = node_input_channels
        self.node_feature_channels = node_feature_channels
        # self.edge_channels = edge_channels
        self.output_channels = output_channels
        self.iteration_num = iteration_num
コード例 #3
0
    def __init__(self, MODEL, c_node_in, c_node_out, c_hidden = 8):
        super(self.__class__,self).__init__()

        self.category = len(c_node_in)
        assert(c_node_in.shape == (self.category,))
        # assert(c_edge.shape == (self.category,self.category))
        assert(c_node_out.shape == (self.category,))
        # assert(c_edge.shape == (self.category,self.category))

        self.c_node_in = c_node_in
        # self.c_edge = c_edge
        self.c_node_out = c_node_out
        self.c_hidden = c_hidden

        self.model = MList([MList([MODEL((c_node_in[i],c_node_in[j]),c_hidden) for j in range(self.category)]) for i in range(self.category)])

        self.lin = MList([Linear(self.category*c_hidden,c_node_out[i]) for i in range(self.category)])
コード例 #4
0
 def __init__(self, MODEL, channels, c_edge):
     super(self.__class__,self).__init__()
     self.layer_num = channels.shape[0]-1
     self.channels = channels
     self.c_edge = c_edge
     self.models = MList([HeterogeneousGraph(MODEL,channels[i],channels[i+1],c_edge) for i in range(self.layer_num)])