## 任务- 比赛全流程体验
1>. 学习如何使用Docker提交代码及比赛上分。
2>. 记录比赛中遇到的问题,并在学习笔记中插入初始分数截图。
1.docker 学习
docker 理解:与虚拟机相比,更加高效的一种容器载体。相当于是一个样板房,里面的装修和家具齐全(参数和依赖环境配置),人(软件)可以利用现成的资源(硬件)生活。
镜像(image),容器(container),仓库(repository)概念的理解:
镜像:将代码和环境打包一起的产物。
容器:运行的镜像为容器,运行环境或者实例。实质为进程。代码运行结束容器消失。
registry (仓库的集合):相当于存储运行环境和代码的网盘,可以在介质上运行自己的代码或分享代码。也有类似git的版本管理。
制定dockerfile:Dockerfile 是一个用来构建镜像的文本文件
FROM:定制的镜像都是基于 FROM 的镜像
RUN <命令行命令>: 等同于,在终端操作的 shell 命令
CMD
类似于 RUN 指令,用于运行程序,但二者运行的时间点不同:
CMD 在docker run 时运行
RUN 是在 docker build时运行
根据这个先在本地创建一个镜像,然后在镜像里面准备好其他的 依赖环境,运行代码,数据文件夹等,然后调试成功上传镜像至个人仓库,最终在比赛页面提交,由官方给与数据跑出结果。
2. 实际操作
2.1 配置阿里云镜像
https://cr.console.aliyun.com/cn-beijing/instances/repositories
2.2配置VScode+Alibaba Cloud Toolkit
Alibaba Cloud Toolkit VS 拓展里面可以一键安装,参考资料里面有详细的记录。
2.3上传镜像
3.需要注意的坑
3.1 上传镜像时候出现的错误
出现"requested access to the resource is denied"的错误
往往是由于登录信息的问题,使用不同身份(root or 一般)存储的docker身份信息文件不同,root登录也要在push使用sudo
3.2 baseline测试数据规格的差异
由于提交官方测试和baseline测试数据不同,所以需要对代码进行修改:
test_predicts_dict[file_name] = model.predict(val).reshape(-1,)
test_predicts_dict[file_name] = model.predict([val]).reshape(-1,)
val加上方括号
4.最终的提交结果
Ref:
1.docker新人场
https://tianchi.aliyun.com/competition/entrance/231759/introduction
2.时间序列群以及小组同学的经验分享