| 632 | """ |
| 633 | |
| 634 | def __init__(self, edge_type, fanout, num_layers, dim, |
| 635 | aggregator='mean', concat=False, shared_aggregators=None, |
| 636 | feature_idx=-1, feature_dim=0, max_id=-1, |
| 637 | use_feature=True, use_id=False, |
| 638 | sparse_feature_idx=-1, sparse_feature_max_id=-1, |
| 639 | embedding_dim=16, use_hash_embedding=False, |
| 640 | shared_node_encoder=None, use_residual=False, |
| 641 | store_learning_rate=0.001, store_init_maxval=0.05, **kwargs): |
| 642 | metapath = [edge_type] * num_layers |
| 643 | fanouts = [fanout] * num_layers |
| 644 | super(ScalableSageEncoder, self).__init__( |
| 645 | metapath, fanouts, dim, aggregator, concat, shared_aggregators, |
| 646 | feature_idx, feature_dim, max_id, use_feature, use_id, |
| 647 | sparse_feature_idx, sparse_feature_max_id, |
| 648 | embedding_dim, use_hash_embedding, |
| 649 | shared_node_encoder, use_residual, |
| 650 | **kwargs) |
| 651 | self.edge_type = edge_type |
| 652 | self.fanout = fanout |
| 653 | self.max_id = max_id |
| 654 | self.store_learning_rate = store_learning_rate |
| 655 | self.store_init_maxval = store_init_maxval |
| 656 | |
| 657 | def build(self, input_shape): |
| 658 | self.stores = [ |