| 52 | class GraphAutoEncoder(BaseGraphAutoEncoder): |
| 53 | |
| 54 | def __init__(self, node_encoder, dims, fanouts, metapath, |
| 55 | feature_idx, feature_dim, |
| 56 | node_type, edge_type, max_id, num_negs=5): |
| 57 | super(GraphAutoEncoder, self).__init__(node_type, edge_type, |
| 58 | max_id, num_negs) |
| 59 | if node_encoder == 'gcn': |
| 60 | self.gnn = GNN('gcn', 'full', dims, None, metapath, |
| 61 | feature_idx, feature_dim) |
| 62 | else: |
| 63 | self.gnn = GNN('sage', 'sage', dims, fanouts, metapath, |
| 64 | feature_idx, feature_dim) |
| 65 | |
| 66 | self.dim = dims[-1] |
| 67 | |
| 68 | def embed(self, n_id): |
| 69 | batch_size = tf.shape(n_id)[0] |