目的
根据Datawhale大佬们提供的baseline训练模型,并通过docker的方式提交到天池比赛,获得自己的分数。通过这次目标导向的学习促进自己对知识的探索和学习
赛题要求
赛事信息:天池->全球人工智能技术创新大赛【热身赛二】
Datawhale提供的baseline(特别感谢~):地址添加链接描述
跑通Baseline
准备环节
win8下载Docker
安装问题
1.quickstart的快捷方式打不开-问题由于安装过git
解决:映射到安装的git/bin目录就好
2.docker 一直更新 boot2docker.iso
解决:后面baidu找了一份网盘,放在docker相应的目录
数据文件及bert配置
下载中文预训练BERT模型bert-base-chinese,地址:https://huggingface.co/bert-base-chinese/tree/main
只需下载config.json、vocab.txt和pytorch_model.bin,把这三个文件放进tianchi-multi-task-nlp/bert_pretrain_model文件夹下。
下载比赛数据集,把三个数据集分别放进tianchi-multi-task-nlp/tianchi_datasets/数据集名字/下面:
OCEMOTION/total.csv:http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531841/OCEMOTION_train1128.csv
OCEMOTION/test.csv: http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531841/b/ocemotion_test_B.csv
TNEWS/total.csv: http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531841/TNEWS_train1128.csv
TNEWS/test.csv: http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531841/b/tnews_test_B.csv
OCNLI/total.csv: http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531841/OCNLI_train1128.csv
OCNLI/test.csv: http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531841/b/ocnli_test_B.csv
文件目录样例:分别建立文件夹并重命名数据集即可~
tianchi-multi-task-nlp/tianchi_datasets/OCNLI/total.csv
tianchi-multi-task-nlp/tianchi_datasets/OCNLI/test.csv
模型训练过程
分开训练集和验证集,默认验证集是各3000条数据,参数可以自己修改。
运行generate_data.py文件
运行train.py文件来训练模型。
生成结果,运行inference.py文件
打包预测结果
zip -r ./result.zip ./*.json
会遇到‘zip‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件的报错。这是由于windows系统下并没有zip命令(Linux)。不过我们可以下载GnuWin32中exe文件,默认安装即可。注意,要记住安装路径,方便我们添加环境变量。
右键此电脑->属性->高级系统设置->环境变量,在系统变量中的Path添加GnuWin32\bin路径。
重启电脑,即可使用zip命令。
Docker提交
在windows powershell中进入(cd)到submission文件夹内,进行如下操作:
1.登录
docker login --username=用户名 registry.cn-shenzhen.aliyuncs.com
2.构建镜像
docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .
注意:registry.~~~用自己仓库地址替换(到自创仓库的详情页查询)。地址后面的1.0为自己指定的版本号,用于区分每次build的镜像。最后的.是构建镜像的路径,不可以省掉。
3.推送镜像到仓库
docker image
docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0
docker push registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0
比赛提交
注意复制路径后需要添加版本号
还是站在同伴们的尸体上避免了一些坑,比如result.zip放到submission内,即与run.sh同目录。不然提交之后会无结果。
最终提交结果如下:
后面再看看怎么搞个好点的GPU跑,然后就是读Code, 优化baseline了。