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
Example #3
0
        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
Example #5
0
        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)
Example #6
0
# 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")
Example #7
0
    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,
Example #8
0
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