目录

  • Docker环境配置
  • 1.租用极客云服务器
  • 2.Windows安装docker
  • 3.创建阿里云镜像仓库
  • Baseline训练
  • 提交结果


Docker环境配置

1.租用极客云服务器

极客云 根据首页信息租用云主机后进入图形界面,打开命令行

sudo apt install docker.io

验证安装

docker info

出现问题

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

百度gg了好久解决不了换成了矩池云还是不行,所以干脆先跳过这一步,先训练模型。
看同时期的同学的博客发现不用再训练环境中安装docker,docker只用包含结果就好了。在云服务器浪费好多钱T T。
反思:动手前一定要理解做这件事的原因和其中的原理。在这里十分感谢这位提前发表博客的同学。

2.Windows安装docker

win10中docker的安装与使用(docker for windows)

3.创建阿里云镜像仓库

打开阿里云容器镜像服务->命名空间(创建)->镜像仓库(创建)
获取公网地址

Baseline训练

环境:python3.7 pytorch1.7.0
根据教程的步骤一步步进行就可以开始训练了。夸奖一下极客云的JupyterLab,不管是上传文件还是命令行都十分方便好用。

到此就开始训练了。因为打卡的ddl在今晚凌晨,但是模型还在缓慢地训练中,中间出现过GPU过载的bug所以调小了batchsize。

玩客云刷docker面板 玩客云跑docker_深度学习


因为是体验比赛过程,所以训练一个epoch就结束,将训练完成的模型保存为saved_best.pt文件。

创建submission文件夹,运行inference.py文件获得三个数据集的预测结果

打包结果

zip -r ./result.zip ./*.json

提交结果

在submission文件夹中手动创建Dockerfile文件和run.sh文件。
其中Dockfile文件内容如下:

# Base Images
## 从天池基础镜像构建
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

## 把当前文件夹里的文件构建到镜像的根目录下
ADD . /

## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /

## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]
打开cmd命令行,进入

run.sh文件可以为空。
打开cmd命令行进入submission文件夹,执行以下命令,在镜像仓库中生成image,命令中要改成自己镜像空间的公网地址。

# 用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
sudo docker login --username=xxx@mail.com registry.cn-hangzhou.aliyuncs.com
# 使用本地Dockefile进行构建,使用创建仓库的【公网地址】
# 如 docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .
docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .

其中1.0是版本好,可自己设置

docker images

可以查看image列表,记下当前镜像的image的ID:2a7d4*******

C:\Users\Jing>docker images
REPOSITORY                                                TAG       IMAGE ID       CREATED         SIZE
registry.cn-hangzhou.aliyuncs.com/*******/tianchi_nlp   1.0       2a7d4******   21 hours ago    929MB
hello-world

运行

# ed0c4b0e545f 为镜像id,上面构建过程最后一行
sudo docker tag ed0c4b0e545f 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

进入比赛提交页面,填写镜像路径+版本号,以及用户名和密码则可以完成提交。(密码填错了会出现错误一直waitingQAQ)

玩客云刷docker面板 玩客云跑docker_深度学习_02