コード例 #1
0
ファイル: node_cls_tasker.py プロジェクト: NCTU-MLLab/temp
    def __init__(self, args, dataset):
        self.data = dataset

        self.args = args

        self.num_classes = 3

        self.adj_matrix = tu.get_static_sp_adj(edges=self.data.edges,
                                               weighted=False)

        if args.use_2_hot_node_feats:
            max_deg_out, max_deg_in = tu.get_max_degs_static(
                self.data.num_nodes, self.adj_matrix)
            self.feats_per_node = max_deg_out + max_deg_in
            #print ('feats_per_node',self.feats_per_node ,max_deg_out, max_deg_in)
            self.nodes_feats = tu.get_2_hot_deg_feats(self.adj_matrix,
                                                      max_deg_out, max_deg_in,
                                                      dataset.num_nodes)

            #print('XXXX self.nodes_feats',self.nodes_feats)
            self.nodes_feats = u.sparse_prepare_tensor(
                self.nodes_feats,
                torch_size=[self.data.num_nodes, self.feats_per_node],
                ignore_batch_dim=False)

        else:
            self.feats_per_node = dataset.feats_per_node
            self.nodes_feats = self.data.node_feats

        self.adj_matrix = tu.normalize_adj(adj=self.adj_matrix,
                                           num_nodes=self.data.num_nodes)
        self.is_static = True
			def get_node_feats(adj):
				return tu.get_2_hot_deg_feats(adj,
											  max_deg_out,
											  max_deg_in,
											  dataset.num_nodes)