Docker提交天池比赛流程

Posted 鲁棒最小二乘支持向量机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker提交天池比赛流程相关的知识,希望对你有一定的参考价值。

一、安装docker

天池大赛入门与docker实践课程: https://tianchi.aliyun.com/course/351
Ubuntu20.04安装docker: https://blog.csdn.net/qq_42078934/article/details/125283154

二、编写容器相应的提交文件

docker提交天池比赛代码必须创建四个文件:

  • Dockerfile:用于打包main.py和运行环境为镜像
  • main.py 完成本次任务所需要的main代码
  • run.sh 容器启动要执行的脚本
  • requirements.txt 所需要安装的依赖包名字,如果包比较少,可以直接写在Dockerfile中


Dockerfile文件示例:

# Base Images
## 从天池基础镜像构建(from的base img 根据自己的需要更换,建议使用天池open list镜像链接:https://tianchi.aliyun.com/forum/postDetail?postId=67720)
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

##安装依赖包,pip包请在requirements.txt添加
RUN pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple && \\
    pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

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

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

## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]

requirements.txt文件示例:

glob
tqdm

run.sh文件示例:

#!/bin/bash
python main.py

main.py文件示例:

import glob

print("hello tianchi.")
files = glob.glob('/tcdata/*')
print(files)

三、打包镜像并提交

登录阿里云Docker

sudo docker login --username=hailei_cloud registry.cn-shanghai.aliyuncs.com
  • username:登录的用户名为阿里云账号全名
  • [sudo] whl 的密码:密码是Ubuntu的密码
  • Password:是开通服务时设置的密码,可以在访问凭证页面修改此密码

选定一个基础镜像

为简化构建镜像的难度,天池已准备了常用的Python基础镜像,可直接拉取使用
更多的基础镜像链接: https://tianchi.aliyun.com/forum/postDetail?spm=5176.12586973.0.0.29242ea8eBqHh9&postId=67720

sudo docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/pytorch:1.7-cuda11.0-py3

构建镜像

  • registry.cn-shanghai.aliyuncs.com:自己创建仓库的公网地址
  • 3d-space:命名空间
  • test:仓库名称
  • :1.0:镜像版本号
  • . :不可以省略
sudo docker build -t registry.cn-shanghai.aliyuncs.com/3d-space/test:1.0 .

推到远程仓库

  • 版本号一定不能忘记写
sudo docker push registry.cn-shanghai.aliyuncs.com/3d-space/test:1.0

本地测试

  • 构建完可以先完成本地测试验证,正常后再推送
sudo docker run registry.cn-shanghai.aliyuncs.com/3d-space/test:1.0 sh run.sh


希望本文对大家有帮助,上文若有不妥之处,欢迎指正

分享决定高度,学习拉开差距

以上是关于Docker提交天池比赛流程的主要内容,如果未能解决你的问题,请参考以下文章

天池比赛经验分享

如何一小时杀入天池OCR比赛前排?

阿里云启动天池电力AI大赛是怎么回事?

如何在第一次天池比赛中进入Top 5%?开发工程师初试数据挖掘大赛(下)附学习资料

kaggle比赛流程

阿里天池竞赛记录