in source/sagemaker/sagemaker_graph_fraud_detection/dgl_fraud_detection/model/mxnet.py [0:0]
def __init__(self, g, in_size, hidden_size, out_size, n_layers, embedding_size, ctx):
super(HeteroRGCN, self).__init__()
self.g = g
self.ctx = ctx
# Use trainable node embeddings as featureless inputs for all non target node types.
with self.name_scope():
self.embed_dict = {ntype: gluon.nn.Embedding(g.number_of_nodes(ntype), embedding_size)
for ntype in g.ntypes if ntype != 'target'}
for child in self.embed_dict.values():
self.register_child(child)
# create layers
# input layer
self.layers = gluon.nn.Sequential()
self.layers.add(HeteroRGCNLayer(embedding_size, hidden_size, g.etypes))
# hidden layers
for i in range(n_layers - 1):
self.layers.add(HeteroRGCNLayer(hidden_size, hidden_size, g.etypes))
# output layer
# self.layers.add(HeteroRGCNLayer(hidden_size, out_size, g.etypes))
self.layers.add(gluon.nn.Dense(out_size))