in source/sagemaker/sagemaker_graph_fraud_detection/dgl_fraud_detection/model/pytorch.py [0:0]
def __init__(self, g, in_size, hidden_size, out_size, n_layers, embedding_size):
super(HeteroRGCN, self).__init__()
# Use trainable node embeddings as featureless inputs.
embed_dict = {ntype: nn.Parameter(torch.Tensor(g.number_of_nodes(ntype), in_size))
for ntype in g.ntypes if ntype != 'user'}
for key, embed in embed_dict.items():
nn.init.xavier_uniform_(embed)
self.embed = nn.ParameterDict(embed_dict)
# create layers
self.layers = nn.Sequential()
self.layers.add_module(HeteroRGCNLayer(embedding_size, hidden_size, g.etypes))
# hidden layers
for i in range(n_layers - 1):
self.layers.add_module = HeteroRGCNLayer(hidden_size, hidden_size, g.etypes)
# output layer
self.layers.add(nn.Dense(hidden_size, out_size))