def create_masked_gcn_model(data_name, nhid=16, dropout=0.5, lr=0.02, weight_decay=5e-4): dataset = get_planetoid_dataset(data_name, True) model = MaskedGCN(dataset, nhid, dropout) optimizer = Adam(model.parameters(), lr=lr, weight_decay=weight_decay) return dataset, model, optimizer
def create_gat_model(data_name, nhid=8, first_heads=8, output_heads=1, dropout=0.6, lr=0.005, weight_decay=5e-4): dataset = get_planetoid_dataset(data_name, True) model = GAT(dataset, nhid, first_heads, output_heads, dropout) optimizer = Adam(model.parameters(), lr=lr, weight_decay=weight_decay) return dataset, model, optimizer
super(Net, self).__init__() self.conv1 = ARMAConv(dataset.num_features, args.hidden, args.num_stacks, args.num_layers, args.shared_weights, dropout=args.skip_dropout) self.conv2 = ARMAConv(args.hidden, dataset.num_classes, args.num_stacks, args.num_layers, args.shared_weights, dropout=args.skip_dropout) def reset_parameters(self): self.conv1.reset_parameters() self.conv2.reset_parameters() def forward(self, data): x, edge_index = data.x, data.edge_index x = F.relu(self.conv1(x, edge_index)) x = F.dropout(x, p=args.dropout, training=self.training) x = self.conv2(x, edge_index) return F.log_softmax(x, dim=1) dataset = get_planetoid_dataset(args.dataset, args.normalize_features) permute_masks = random_planetoid_splits if args.random_splits else None run(dataset, Net(dataset), args.runs, args.epochs, args.lr, args.weight_decay, args.early_stopping, permute_masks)
def create_sgc_model(data_name, lr=0.2, weight_decay=3e-5): dataset = get_planetoid_dataset(data_name, True) model = SGC(dataset, 2) optimizer = Adam(model.parameters(), lr=lr, weight_decay=weight_decay) return dataset, model, optimizer
x = self.conv2_ssl(x, added_index) # LAYER 2 return F.log_softmax(x, dim=1), z,r.size(-1) # ego-Facebook com-Amazon ego-gplus ego-twitter # name = "ego-Facebook" # path = osp.join(osp.dirname(osp.realpath(__file__)), '..', 'data', name) # dataset = SNAPDataset(path, name) # # pdb.set_trace() # run(dataset, DoubleNet(dataset, dataset[0].num_feature, int(dataset[0].num_class)), args.runs, args.epochs, args.lr, args.weight_decay, # args.early_stopping) motif_size =3 max_value = 1000 gen_interval= n_epochs_gen = 3 dis_interval= n_epochs_dis = 3 batch_size_gen = 64 batch_size_dis = 64 # "CiteSeer", "PubMed" names = ["CiteSeer"] for name in names: dataset = get_planetoid_dataset(name, args.normalize_features) dataset = dataset.shuffle() # pdb.set_trace() run(dataset, DoubleNet(dataset, dataset.num_features, dataset.num_classes), args.runs, args.epochs, args.lr, args.weight_decay, args.early_stopping)
# layers = [4] hidden = 16 alphas = [1, 2, 3, 4, 5] run_num = 100 epoch_num = 300 datasets = ['Cora', 'CiteSeer', 'PubMed'] nets = [ GCNHIGH, GCNDiff, GCN, ] results = [] for dataset_name, Net in product(datasets, nets): print("{}\n ========".format(dataset_name)) dataset = get_planetoid_dataset(dataset_name, True) permute_masks = random_planetoid_splits if random_splits else None if (Net == GCNDiff): print("GCN Diffusion") data = dataset[0] gdc = T.GDC(self_loop_weight=1, normalization_in='sym', normalization_out='col', diffusion_kwargs=dict(method='ppr', alpha=0.05), sparsification_kwargs=dict(method='topk', k=128, dim=0), exact=True) data = gdc(data) run_(dataset, data, Net(data, dataset, hidden), run_num, epoch_num, 0.01, 0.0005, 10, permute_masks) elif (Net == GCNHIGH): print("GCN Highway")
def __init__(self, dataset): super(Net, self).__init__() self.crd = CRD(dataset.num_features, args.hidden, args.dropout) self.cls = CLS(args.hidden, dataset.num_classes) def reset_parameters(self): self.crd.reset_parameters() self.cls.reset_parameters() def forward(self, data): x, edge_index = data.x, data.edge_index x = self.crd(x, edge_index, data.train_mask) x = self.cls(x, edge_index, data.train_mask) return x dataset = get_planetoid_dataset(name=args.dataset, normalize_features=args.normalize_features, split=args.split) kwargs = { 'dataset': dataset, 'model': Net(dataset), 'str_optimizer': args.optimizer, 'str_preconditioner': args.preconditioner, 'runs': args.runs, 'epochs': args.epochs, 'lr': args.lr, 'weight_decay': args.weight_decay, 'early_stopping': args.early_stopping, 'logger': args.logger, 'momentum': args.momentum, 'eps': args.eps, 'update_freq': args.update_freq,
def create_gfnn_model(data_name, nhid=32, lr=0.2, weight_decay=5e-4): dataset = get_planetoid_dataset(data_name, True) model = GFNN(dataset, nhid, 2) optimizer = Adam(model.parameters(), lr=lr, weight_decay=weight_decay) return dataset, model, optimizer