取得结果
public 分数
0.9779667449
任务思路
首先,baseline中的代码完全可以复用到task2中,所以我直接在baseline代码中进行了一个copy&edit
操作,然后直接在这个notebook上面修改内容。
但是,仔细阅读baseline代码就会发现,其实这段代码里面藏了好几个坑,如果只是修改使用的模型,肯定是跑不出来好的结果的。
更换模型
baseline中使用的模型是resnet18,其参数量大约在11.2M左右,确实可以达到好的效果,而我在这里将其修改为efficientnet-b2,其参数量大约在9M,经过检验,发现效果同样很好,而且计算量小。
增加训练图片数量
baseline代码中,train_loader和val_loader中都只取了前1000个样本进行训练和验证,显然这是不够的,将这几个.head(1000)
,删除,用所有的数据进行训练,可以得到好的结果。
修改训练轮数
baseline中只训练了2个epoch,我将它改成了3,实际训练中发现早在2个epoch前模型就已经收敛了,这里多训练一个epoch其实是没必要的。不过一般来说,2个epoch是很少的,所以我将它改成了3.
最后
将这些全部修改完后,用kaggle上的save version功能,保存一个版本并且全部运行一遍(防止在网页上跑时间久会出问题),最后将生成的submit.csv提交等待结果得分就行了。