图神经网络基础–图预测任务实践
引言
接下来我们将使用第8节中介绍的基于GIN的图表示学习神经网络,和在上半节中我们自己定义的数据集来实现分子图的量子性质预测任务。
通过试验寻找最佳超参数
此任务实践涉及的所有代码皆可见于codes\gin_regression
文件夹。
通过运行以下的命令即可运行一次试验:
#!/bin/sh
python main.py --task_name GINGraphPooling\ # 为当前试验取名
--device 0\
--num_layers 5\ # 使用GINConv层数
--graph_pooling sum\ # 图读出方法
--emb_dim 256\ # 节点嵌入维度
--drop_ratio 0.\
--save_test\ # 是否对测试集做预测并保留预测结果
--batch_size 512\
--epochs 100\
--weight_decay 0.00001\
--early_stop 10\ # 当有`early_stop`个epoches验证集结果没有提升,则停止训练
--num_workers 4\
--dataset_root dataset # 存放数据集的根目录
试验运行开始后,程序会在saves
目录下创建一个task_name
参数指定名称的文件夹用于记录试验过程,当saves
目录下已经有一个同名的文件夹时,程序会在task_name
参数末尾增加一个后缀作为文件夹名称。试验运行过程中,所有的print
输出都会写入到试验文件夹下的output
文件,tensorboard.SummaryWriter
记录的信息也存储在试验文件夹下的文件中。
修改上方的命令再执行,即可试验不同的超参数,所有试验的过程与结果信息都存储于saves
文件夹下。启动TensorBoard
会话,选择saves
文件夹,即可查看所有试验的过程与结果信息。
结语
在此图预测任务实践中:
- 我们将前面所学的基于GIN的图表示学习神经网络和超大规模数据集类的创建方法付诸于实际应用;
- 我们构建了一种很方便的设置不同参数进行试验的方法,不同试验的过程与结果信息通过简单的操作即可进行比较分析。