dmlc--dgl
9a0511c8e9
* upd * damn it * fuck * fuck pylint * fudge * remove some comments about MXNet * upd * upd * damn it * damn it * fuck * fuck * upd * upd * pylint bastard * upd * upd * upd * upd * upd * upd * upd * upd * upd
86 行
3.0 KiB
Python
86 行
3.0 KiB
Python
"""Parser for arguments
|
|
|
|
Put all arguments in one file and group similar arguments
|
|
"""
|
|
import argparse
|
|
|
|
|
|
class Parser():
|
|
|
|
def __init__(self, description):
|
|
'''
|
|
arguments parser
|
|
'''
|
|
self.parser = argparse.ArgumentParser(description=description)
|
|
self.args = None
|
|
self._parse()
|
|
|
|
def _parse(self):
|
|
# dataset
|
|
self.parser.add_argument(
|
|
'--dataset', type=str, default="MUTAG",
|
|
help='name of dataset (default: MUTAG)')
|
|
self.parser.add_argument(
|
|
'--batch_size', type=int, default=32,
|
|
help='batch size for training and validation (default: 32)')
|
|
self.parser.add_argument(
|
|
'--fold_idx', type=int, default=0,
|
|
help='the index(<10) of fold in 10-fold validation.')
|
|
self.parser.add_argument(
|
|
'--filename', type=str, default="",
|
|
help='output file')
|
|
|
|
# device
|
|
self.parser.add_argument(
|
|
'--disable-cuda', action='store_true',
|
|
help='Disable CUDA')
|
|
self.parser.add_argument(
|
|
'--device', type=int, default=0,
|
|
help='which gpu device to use (default: 0)')
|
|
|
|
# net
|
|
self.parser.add_argument(
|
|
'--net', type=str, default="gin",
|
|
help='gnn net (default: gin)')
|
|
self.parser.add_argument(
|
|
'--num_layers', type=int, default=5,
|
|
help='number of layers (default: 5)')
|
|
self.parser.add_argument(
|
|
'--num_mlp_layers', type=int, default=2,
|
|
help='number of MLP layers(default: 2). 1 means linear model.')
|
|
self.parser.add_argument(
|
|
'--hidden_dim', type=int, default=64,
|
|
help='number of hidden units (default: 64)')
|
|
|
|
# graph
|
|
self.parser.add_argument(
|
|
'--graph_pooling_type', type=str,
|
|
default="sum", choices=["sum", "mean", "max"],
|
|
help='type of graph pooling: sum, mean or max')
|
|
self.parser.add_argument(
|
|
'--neighbor_pooling_type', type=str,
|
|
default="sum", choices=["sum", "mean", "max"],
|
|
help='type of neighboring pooling: sum, mean or max')
|
|
self.parser.add_argument(
|
|
'--learn_eps', action="store_true",
|
|
help='learn the epsilon weighting')
|
|
self.parser.add_argument(
|
|
'--degree_as_tag', action="store_true",
|
|
help='take the degree of nodes as input feature')
|
|
|
|
# learning
|
|
self.parser.add_argument(
|
|
'--seed', type=int, default=0,
|
|
help='random seed (default: 0)')
|
|
self.parser.add_argument(
|
|
'--epochs', type=int, default=350,
|
|
help='number of epochs to train (default: 350)')
|
|
self.parser.add_argument(
|
|
'--lr', type=float, default=0.01,
|
|
help='learning rate (default: 0.01)')
|
|
self.parser.add_argument(
|
|
'--final_dropout', type=float, default=0.5,
|
|
help='final layer dropout (default: 0.5)')
|
|
|
|
# done
|
|
self.args = self.parser.parse_args() |