# Format for each row: name in config.py; alias; range to search
# No spaces, except between these 3 fields
# Line breaks are used to union different grid search spaces
# Feel free to add '#' to add comments


# dataset: TU, task: graph
dataset.format format ['PyG']
dataset.name dataset ['TU_BZR','TU_COX2','TU_DD','TU_IMDB','TU_ENZYMES','TU_PROTEINS']
dataset.task task ['graph']
dataset.transductive trans [False]
dataset.augment_feature feature [[]]
dataset.augment_label label ['']
# train.batch_size batch [16,32,64]
gnn.layer_type l_t ['generalconv','gaddconv','gmulconv']
gnn.layers_pre_mp l_pre [1,2,3]
gnn.layers_mp l_mp [2,4,6,8]
gnn.layers_post_mp l_post [1,2,3]
gnn.stage_type stage ['stack','skipsum','skipconcat']
gnn.batchnorm bn [True,False]
gnn.act act ['relu','prelu','swish']
gnn.dropout drop [0.0,0.3,0.6]
gnn.agg agg ['add','mean','max']
optim.optimizer optim ['adam','sgd']
optim.base_lr lr [0.1,0.01,0.001]
optim.max_epoch epoch [100,200,400]

# dataset: Single, task: node
dataset.format format ['PyG']
dataset.name dataset ['Cora','CiteSeer','CoauthorCS','CoauthorPhysics','AmazonComputers','AmazonPhoto']
dataset.task task ['node']
dataset.transductive trans [True]
dataset.augment_feature feature [[]]
dataset.augment_label label ['']
# train.batch_size batch [16,32,64]
gnn.layer_type l_t ['generalconv','gaddconv','gmulconv']
gnn.layers_pre_mp l_pre [1,2,3]
gnn.layers_mp l_mp [2,4,6,8]
gnn.layers_post_mp l_post [1,2,3]
gnn.stage_type stage ['stack','skipsum','skipconcat']
gnn.batchnorm bn [True,False]
gnn.act act ['relu','prelu','swish']
gnn.dropout drop [0.0,0.3,0.6]
gnn.agg agg ['add','mean','max']
optim.optimizer optim ['adam','sgd']
optim.base_lr lr [0.1,0.01,0.001]
optim.max_epoch epoch [100,200,400]


# dataset: nx, task: node, label: clustering
dataset.format format ['nx']
dataset.name dataset ['smallworld','scalefree']
dataset.task task ['node']
dataset.transductive trans [True]
dataset.augment_feature feature [['node_const'],['node_onehot'],['node_pagerank']]
dataset.augment_label label ['node_clustering_coefficient']
# train.batch_size batch [16,32,64]
gnn.layer_type l_t ['generalconv','gaddconv','gmulconv']
gnn.layers_pre_mp l_pre [1,2,3]
gnn.layers_mp l_mp [2,4,6,8]
gnn.layers_post_mp l_post [1,2,3]
gnn.stage_type stage ['stack','skipsum','skipconcat']
gnn.batchnorm bn [True,False]
gnn.act act ['relu','prelu','swish']
gnn.dropout drop [0.0,0.3,0.6]
gnn.agg agg ['add','mean','max']
optim.optimizer optim ['adam','sgd']
optim.base_lr lr [0.1,0.01,0.001]
optim.max_epoch epoch [100,200,400]

# dataset: nx, task: node, label: pagerank
dataset.format format ['nx']
dataset.name dataset ['smallworld','scalefree']
dataset.task task ['node']
dataset.transductive trans [True]
dataset.augment_feature feature [['node_const'],['node_onehot'],['node_clustering_coefficient']]
dataset.augment_label label ['node_pagerank']
# train.batch_size batch [16,32,64]
gnn.layer_type l_t ['generalconv','gaddconv','gmulconv']
gnn.layers_pre_mp l_pre [1,2,3]
gnn.layers_mp l_mp [2,4,6,8]
gnn.layers_post_mp l_post [1,2,3]
gnn.stage_type stage ['stack','skipsum','skipconcat']
gnn.batchnorm bn [True,False]
gnn.act act ['relu','prelu','swish']
gnn.dropout drop [0.0,0.3,0.6]
gnn.agg agg ['add','mean','max']
optim.optimizer optim ['adam','sgd']
optim.base_lr lr [0.1,0.01,0.001]
optim.max_epoch epoch [100,200,400]

# dataset: nx, task: graph, label: graph_path_len
dataset.format format ['nx']
dataset.name dataset ['smallworld','scalefree']
dataset.task task ['graph']
dataset.transductive trans [True]
dataset.augment_feature feature [['node_const'],['node_onehot'],['node_clustering_coefficient'],['node_pagerank']]
dataset.augment_label label ['graph_path_len']
# train.batch_size batch [16,32,64]
gnn.layer_type l_t ['generalconv','gaddconv','gmulconv']
gnn.layers_pre_mp l_pre [1,2,3]
gnn.layers_mp l_mp [2,4,6,8]
gnn.layers_post_mp l_post [1,2,3]
gnn.stage_type stage ['stack','skipsum','skipconcat']
gnn.batchnorm bn [True,False]
gnn.act act ['relu','prelu','swish']
gnn.dropout drop [0.0,0.3,0.6]
gnn.agg agg ['add','mean','max']
optim.optimizer optim ['adam','sgd']
optim.base_lr lr [0.1,0.01,0.001]
optim.max_epoch epoch [100,200,400]