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)