def build_default_args_for_unsupervised_node_classification(dataset): args = { "hidden_size": 128, "num_shuffle": 5, "cpu": True, "enhance": None, "save_dir": ".", "seed": [0, 1, 2], "walk_length": 80, "walk_num": 40, "window_size": 5, "worker": 10, "iteration": 10, "task": "unsupervised_node_classification", "model": "deepwalk", "dataset": dataset, } args = get_extra_args(args) return build_args_from_dict(args)
def build_default_args_for_heterogeneous_node_classification(dataset): cpu = not torch.cuda.is_available() args = { "hidden_size": 128, "patience": 100, "max_epoch": 500, "cpu": cpu, "device_id": [0], "lr": 0.005, "weight_decay": 0.001, "seed": [0, 1, 2], "num_layers": 2, "num_channels": 2, "task": "heterogeneous_node_classification", "model": "gtn", "dataset": dataset, } args = get_extra_args(args) return build_args_from_dict(args)
def build_default_args_for_node_classification(dataset): cpu = not torch.cuda.is_available() args = { "lr": 0.01, "weight_decay": 5e-4, "max_epoch": 500, "patience": 100, "cpu": cpu, "device_id": [0], "seed": [0, 1, 2], "dropout": 0.5, "hidden_size": 64, "num_layers": 2, "filter_size": 5, "task": "node_classification", "model": "chebyshev", "dataset": dataset } return build_args_from_dict(args)
def build_default_args(): cpu = not torch.cuda.is_available() args = { "lr": 0.01, "weight_decay": 5e-4, "max_epoch": 500, "patience": 100, "cpu": cpu, "device_id": [0], "seed": [0, 1, 2], "dropout": 0.5, "hidden_size": 128, "num_layers": 2, "sample_size": [10, 10], "task": "node_classification", "model": "graphsage", "dataset": "cora" } return build_args_from_dict(args)
def get_unsupervised_nn_args(): default_dict = { "hidden_size": 16, "num_layers": 2, "lr": 0.01, "dropout": 0.0, "patience": 1, "max_epoch": 1, "cpu": not torch.cuda.is_available(), "weight_decay": 5e-4, "num_shuffle": 2, "save_dir": ",", "enhance": None, "device_id": [ 0, ], "task": "unsupervised_node_classification", } return build_args_from_dict(default_dict)
def build_default_args_for_multiplex_node_classification(dataset): cpu = not torch.cuda.is_available() args = { "hidden_size": 128, "cpu": cpu, "enhance": None, "save_dir": ".", "seed": [0, 1, 2], "lr": 0.025, "walk_length": 80, "walk_num": 40, "batch_size": 1000, "hop": 2, "negative": 5, "epochs": 1, "task": "multiplex_node_classification", "model": "hin2vec", "dataset": dataset, } return build_args_from_dict(args)
def build_default_args_for_unsupervised_node_classification(dataset): args = { "hidden_size": 128, "num_shuffle": 5, "cpu": True, "enhance": None, "save_dir": ".", "seed": [0, 1, 2], "walk_length": 80, "walk_num": 20, "negative": 5, "batch_size": 1000, "alpha": 0.025, "order": 3, "task": "unsupervised_node_classification", "model": "line", "dataset": dataset, } args = get_extra_args(args) return build_args_from_dict(args)
def build_default_args_for_node_classification(dataset): cpu = not torch.cuda.is_available() args = { "lr": 0.01, "weight_decay": 5e-4, "max_epoch": 500, "patience": 100, "cpu": cpu, "device_id": [0], "seed": [0, 1, 2], "dropout": 0.5, "hidden_size": 64, "propagation_type": 'appnp', #can also be 'ppnp' "alpha": 0.1, "num_iterations": 10, "task": "node_classification", "model": "ppnp", "dataset": dataset } return build_args_from_dict(args)
def build_default_args_for_multiplex_node_classification(dataset): args = { "hidden_size": 128, "cpu": True, "enhance": None, "save_dir": ".", "seed": [0, 1, 2], "walk_length": 80, "walk_num": 40, "window_size": 5, "worker": 10, "iteration": 10, "schema": "No", "task": "multiplex_node_classification", "model": "metapath2vec", "dataset": dataset } return build_args_from_dict(args)
def get_kg_default_args(): default_dict = { "max_epoch": 2, "num_bases": 5, "num_layers": 2, "hidden_size": 40, "penalty": 0.001, "sampling_rate": 0.001, "dropout": 0.3, "evaluate_interval": 2, "patience": 20, "lr": 0.001, "weight_decay": 0, "negative_ratio": 3, "cpu": True, "checkpoint": False, "save_dir": ".", "device_id": [0], } return build_args_from_dict(default_dict)
def get_default_args(): cuda_available = torch.cuda.is_available() default_dict = { "task": "unsupervised_graph_classification", "gamma": 0.5, "device_id": [0 if cuda_available else "cpu"], "num_shuffle": 1, "save_dir": ".", "dropout": 0.5, "patience": 1, "epoch": 2, "cpu": not cuda_available, "lr": 0.001, "weight_decay": 5e-4, "checkpoint": False, "activation": "relu", "residual": False, "norm": None, } return build_args_from_dict(default_dict)
def build_default_args_for_node_classification(dataset, missing_rate=0, num_layers=40): cpu = not torch.cuda.is_available() args = { "lr": 0.005, "weight_decay": 5e-4, "max_epoch": 1000, "patience": 1000, "cpu": cpu, "device_id": [0], "seed": [0, 1, 2, 3, 4], "missing_rate": missing_rate, "norm_mode": "PN", "norm_scale": 10, "dropout": 0.6, "num_layers": num_layers, "task": "node_classification", "model": "sgcpn", "dataset": dataset, } return build_args_from_dict(args)
def get_default_args(): cuda_available = torch.cuda.is_available() default_dict = { 'task': 'graph_classification', 'hidden_size': 64, 'dropout': 0.5, 'patience': 1, 'max_epoch': 2, 'cpu': not cuda_available, 'lr': 0.001, 'kfold': False, 'seed': [0], 'weight_decay': 5e-4, 'gamma': 0.5, 'train_ratio': 0.7, 'test_ratio': 0.1, 'device_id': [0 if cuda_available else 'cpu'], 'degree_feature': False } return build_args_from_dict(default_dict)
def build_default_args_for_unsupervised_node_classification(dataset): args = { "hidden_size": 128, "num_shuffle": 5, "cpu": True, "enhance": None, "save_dir": ".", "seed": [0, 1, 2], "lr": 0.001, "max_epoch": 500, "hidden_size1": 1000, "hidden_size2": 128, "noise": 0.2, "alpha": 0.1, "step": 10, "task": "unsupervised_node_classification", "model": "dngr", "dataset": dataset, } return build_args_from_dict(args)
def get_default_args(): default_dict = { "hidden_size": 16, "dropout": 0.5, "patience": 2, "device_id": [0], "max_epoch": 3, "sampler": "none", "num_layers": 2, "cpu": True, "lr": 0.01, "weight_decay": 5e-4, "missing_rate": -1, "task": "node_classification", "dataset": "cora", "checkpoint": False, "sampler": "none", "auxiliary_task": "none", } return build_args_from_dict(default_dict)
def build_default_args_for_node_classification(dataset): cpu = not torch.cuda.is_available() args = { "lr": 0.01, "weight_decay": 5e-4, "max_epoch": 200, "patience": 100, "cpu": cpu, "device_id": [0], "seed": [0, 1, 2], "dropout": 0.5, "hidden_size": 16, "eps": 0.01, "update_freq": 128, "alpha": None, "gamma": 100, "task": "node_classification", "model": "ssp", "dataset": dataset } return build_args_from_dict(args)
def build_default_args_for_node_classification(dataset): cpu = not torch.cuda.is_available() args = { "lr": 0.005, "weight_decay": 5e-4, "max_epoch": 1000, "patience": 100, "cpu": cpu, "device_id": [0], "seed": [ 72, ], "dropout": 0.6, "hidden_size": 8, "alpha": 0.2, "nheads": 8, "task": "node_classification", "model": "gat", "dataset": dataset, } return build_args_from_dict(args)
def get_default_args(): cuda_available = torch.cuda.is_available() default_dict = { "task": "graph_classification", "hidden_size": 32, "dropout": 0.5, "patience": 1, "max_epoch": 2, "cpu": not cuda_available, "lr": 0.001, "kfold": False, "seed": [0], "weight_decay": 5e-4, "gamma": 0.5, "train_ratio": 0.7, "test_ratio": 0.1, "device_id": [0 if cuda_available else "cpu"], "sampler": "none", "degree_feature": False, } return build_args_from_dict(default_dict)
def get_gnn_link_prediction_args(): args = { "hidden_size": 32, "dataset": "cora", "model": "gcn", "task": "link_prediction", "lr": 0.005, "weight_decay": 5e-4, "max_epoch": 60, "patience": 2, "num_layers": 2, "evaluate_interval": 1, "cpu": True, "device_id": [0], "dropout": 0.5, "checkpoint": False, "save_dir": ".", "activation": "relu", "residual": False, "norm": None, } return build_args_from_dict(args)
def get_strategies_for_pretrain_args(): cuda_available = torch.cuda.is_available() args = { "dataset": "test_bio", "model": "stpgnn", "task": "pretrain", "batch_size": 32, "num_layers": 2, "JK": "last", "hidden_size": 32, "num_workers": 2, "finetune": False, "dropout": 0.5, "lr": 0.001, "cpu": not cuda_available, "device_id": [0], "weight_decay": 5e-4, "max_epoch": 3, "patience": 2, "output_model_file": "./saved" } return build_args_from_dict(args)
def build_default_args_for_node_classification(dataset): cpu = not torch.cuda.is_available() args = { "lr": 0.001, "weight_decay": 0, "max_epoch": 1000, "max_epochs": 1000, "patience": 20, "cpu": cpu, "device_id": [0], "seed": [0], "num_shuffle": 5, "dropout": 0.0, "hidden_size": 512, "num_layers": 2, "sampler": "none", "task": "unsupervised_node_classification", "model": "dgi", "dataset": dataset, "save_dir": "./saved", "enhance": None, } return build_args_from_dict(args)
def build_default_args_for_multiplex_link_prediction(dataset): cpu = not torch.cuda.is_available() args = { "hidden_size": 200, "cpu": cpu, "eval_type": "all", "seed": [0, 1, 2], "walk_length": 10, "walk_num": 10, "window_size": 5, "worker": 10, "epoch": 20, "batch_size": 256, "edge_dim": 10, "att_dim": 20, "negative_samples": 5, "neighbor_samples": 10, "schema": None, "task": "multiplex_link_prediction", "model": "gatne", "dataset": dataset, } return build_args_from_dict(args)
def build_default_args_for_node_classification(dataset): cpu = not torch.cuda.is_available() args = { "lr": 0.01, "weight_decay": 5e-4, "max_epoch": 1000, "max_epochs": 1000, "patience": 100, "cpu": cpu, "device_id": [0], "seed": [42], "dropout": 0.5, "hidden_size": 256, "num_layers": 32, "lmbda": 0.5, "wd1": 0.001, "wd2": 5e-4, "alpha": 0.1, "task": "node_classification", "model": "gcnii", "dataset": dataset, } return build_args_from_dict(args)
def build_default_args_for_unsupervised_node_classification(dataset): args = { "hidden_size": 128, "num_shuffle": 5, "cpu": True, "enhance": None, "save_dir": ".", "seed": [0, 1, 2], "lr": 0.001, "max_epoch": 500, "hidden_size1": 1000, "hidden_size2": 128, "droput": 0.5, "alpha": 0.1, "beta": 5, "nu1": 1e-4, "nu2": 1e-3, "task": "unsupervised_node_classification", "model": "sdne", "dataset": dataset, } args = get_extra_args(args) return build_args_from_dict(args)
def get_unsupervised_nn_args(): default_dict = { "hidden_size": 16, "num_layers": 2, "lr": 0.01, "dropout": 0.0, "patience": 1, "max_epoch": 1, "cpu": not torch.cuda.is_available(), "weight_decay": 5e-4, "num_shuffle": 2, "save_dir": "./embedding", "enhance": None, "device_id": [ 0, ], "task": "unsupervised_node_classification", "checkpoint": False, "load_emb_path": None, "sampling": False, "sample_size": 20, "training_percents": [0.1], } return build_args_from_dict(default_dict)
def build_default_args_for_graph_classification(dataset): cpu = not torch.cuda.is_available() args = { "hidden_size": 128, "dropout": 0.0, "pooling": 0.5, "batch_size": 64, "train_ratio": 0.8, "test_ratio": 0.1, "lr": 0.001, "weight_decay": 0.001, "patience": 100, "max_epoch": 500, "sample_neighbor": True, "sparse_attention": True, "structure_learning": True, "cpu": cpu, "device_id": [0], "seed": [777], "task": "graph_classification", "model": "hgpsl", "dataset": dataset, } return build_args_from_dict(args)
def build_default_args_for_node_classification(dataset): cpu = not torch.cuda.is_available() args = { "lr": 0.01, "weight_decay": 0.0005, "max_epoch": 1000, "patience": 100, "cpu": cpu, "device_id": [0], "seed": [1], "n_dropout": 0.90, "adj_dropout": 0.05, "hidden_size": 128, "aug_adj": False, "improved": False, "n_pool": 4, "pool_rate": [0.7, 0.5, 0.5, 0.4], "activation": "relu", "task": "node_classification", "model": "unet", "dataset": dataset, "missing_rate": -1, } return build_args_from_dict(args)
def default_parameter(): args = { "seed": [0, 1, 2], } return build_args_from_dict(args)
def test_cora(): args = build_args_from_dict({'dataset': 'cora'}) assert args.dataset == 'cora' cora = build_dataset(args) assert cora.data.num_nodes == 2708 assert cora.data.num_edges == 10556
def get_diff_args(args1, args2): d1 = copy.deepcopy(args1.__dict__) d2 = args2.__dict__ for k in d2.keys(): d1.pop(k, None) return build_args_from_dict(d1)