def read_config(): stream = open("config.yml", "r") docs = yaml.safe_load(stream) """ for doc in docs: for k,v in doc.items(): print(k, "->", v) print("\n") """ return objectview(docs)
def __init__(self, input_dim, hidden_dim, output_dim, arg, emb=False): super(ResidualMP, self).__init__() args = objectview(arg) self.convs = nn.ModuleList() self.num_layers = args.num_layers self.dropout = args.dropout self.emb = emb post_hidden = hidden_dim # May want to change input/hidden/output dim? self.convs.append(DeeperGraphSage(input_dim, hidden_dim, hidden_dim=args.message_hidden, dropout=args.dropout, first=True)) for l in range(args.num_layers-1): self.convs.append( DeeperGraphSage(hidden_dim, hidden_dim, hidden_dim=args.message_hidden, dropout=args.dropout)) self.post_mp = nn.Sequential( nn.Linear(hidden_dim, hidden_dim), nn.Dropout(args.dropout), nn.Linear(hidden_dim, output_dim))
def __init__(self, input_dim, hidden_dim, output_dim, arg, emb=False): super(GNNStack, self).__init__() args = objectview(arg) conv_model = self.build_conv_model(args.model_type) self.convs = nn.ModuleList() self.convs.append(conv_model(input_dim, hidden_dim)) assert (args.num_layers >= 1), 'Number of layers is not >=1' for l in range(args.num_layers - 1): self.convs.append(conv_model(args.heads * hidden_dim, hidden_dim)) # post-message-passing self.post_mp = nn.Sequential( nn.Linear(args.heads * hidden_dim, hidden_dim), nn.Dropout(args.dropout), nn.Linear(hidden_dim, output_dim)) self.dropout = args.dropout self.num_layers = args.num_layers self.emb = emb
def __init__(self, input_dim, hidden_dim, output_dim, arg, emb=False): super(ResNetPostMP, self).__init__() args = objectview(arg) conv_model = GraphSage self.post_hidden = args.post_hidden post_hidden = self.post_hidden self.convs = nn.ModuleList() self.affine = nn.Linear(input_dim, hidden_dim) for l in range(args.num_layers): self.convs.append(conv_model(hidden_dim, hidden_dim)) self.bns = torch.nn.ModuleList([torch.nn.BatchNorm1d(hidden_dim) for _ in range(args.num_layers)]) # self.post_mp = nn.Sequential( # nn.Linear(hidden_dim, hidden_dim), # nn.Dropout(args.dropout), # nn.Linear(hidden_dim, output_dim)) # post-message-passing # TODO: Make module list self.post_mp = nn.Sequential( ResNetBlock( nn.Sequential( nn.Linear(post_hidden, post_hidden), nn.ReLU(), nn.BatchNorm1d(post_hidden), )), nn.Dropout(args.dropout), nn.Linear(post_hidden, output_dim) ) self.dropout = args.dropout self.num_layers = args.num_layers self.emb = emb
def read_config(): stream = open("config.yml", "r") docs = yaml.safe_load(stream) return objectview(docs)