断点续训
分为两种,一种我定义为在线断点续训,即不保存模型到本地,停止运行后继续训练,一种是离线断点续训,即保存模型到本地,下次启动项目后接着训练。
这次比赛我尝试了好几种模型,目前好像只有 SGC 模型支持 在线断点续训,其他都会报错,具体做法如下:
把 exe.run(startup_program) 注释,再次运行,就是断点续训。
【PaddlePaddle】模型的保存与使用
https://blog.youkuaiyun.com/qq_41427568/article/details/87735085
技巧2, 把 epoch 加到 5000,在训练的时候,发现 Valid Acc 没有什么变化,或者不升反降的时候,重新在上面改一下 学习率,还有 weight_decay 也跟着改一下,
就可以让 Valid Acc 继续上升了。
未完继续~
新手上路,也欢迎大神们留言补充,纠正!谢谢~
技巧3,魔改模型
小斯哥 童鞋 在 《比赛baseline讲解》最后 魔改了 一个 ResGCN 出来,据他自己说后劲很足,代码如下:
# 16:00 开始看 https://aistudio.baidu.com/aistudio/education/lessonvideo/874892
class Res_GAT(object):
"""Implement of Res_GAT"""
def __init__(self, config, num_class):
self.num_class = num_class
self.num_layers = config.get("num_layers", 1)
self.num_heads = config.get("num_heads", 8)
self.hidden_size = config.get("hidden_size", 8)
self.feat_dropout = config.get("feat_drop", 0.6)
self.attn_dropout = config.get("attn_drop", 0.6)
self.edge_dropout = config.get("edge_dropout", 0.0)
def forward(self, graph_wrapper, feature, phase):
if phase == "train":
edge_dropout = self.edge_dropout
else:
edge_dropout = 0
feature = L.fc(feature,size=self.hidden_size*self.num_heads,name="init_feature") # 既可以用elu,也可以用relu **魔改部分**
for i in range(self.num_layers):
ngw = pgl.sample.edge_drop(graph_wrapper, edge_dropout)
res_feature = feature # 把上一层的 保存起来 **魔改部分**
feature = conv.gat(ngw,
feature,
self.hidden_size,
activation=None, # **魔改部分**
name="gat_layer_%s" % i,
num_heads=self.num_heads,
feat_drop=self.feat_dropout,
attn_drop=self.attn_dropout)
feature = feature + res_feature # 结束的时候把残差加回去 **魔改部分**
# feature = L.elu(feature) # 结束的时候把残差加回去 **魔改部分**
feature = L.relu(feature) # 既可以用elu,也可以用relu **魔改部分**
feature = L.layer_norm(feature,name = "ln_%s"% i) # 结束的时候把残差加回去 **魔改部分**
ngw = pgl.sample.edge_drop(graph_wrapper, edge_dropout)
feature = conv.gat(ngw,
feature,
self.num_class,
num_heads=1,
activation=None,
feat_drop=self.feat_dropout,
attn_drop=self.attn_dropout,
name="output")
return feature
大家注意把 learning_rate 改为 0.001, 改小一点,因为层数比以前高了,可能容易爆炸或者振荡。
最后,膜拜一下现在榜单上的这些的大神,有幸路过的大神,麻烦把你们 涨点的 经验告知一下~再次代表群里1900多位童鞋感谢你!
大佬的文章出现了,欢迎围观!
https://lan-qing.github.io/blog/201130/today.html