机器学习之阿里云天池大赛—Docker入门

简介: 本文记录作者参加天池大赛Docker的一个比赛过程。

最近阿里云天池大赛增加了Docker的项目,也有不少项目开始尝试使用Docker跑机器学习模型,本文结合官方手把手教程,重点说明容易踩坑的地方,后续将完成全部赛题要求,关于题目中gpu部分暂时忽略。
1、安装docker
Docker安装部分建议按照大赛教程直接安装即可,建议gpu支持暂时不安装,先实现基础入门,完成赛题第一步的要求,能够得分即可。
2、创建镜像仓库
在阿里云容器服务控制台,创建镜像仓库,一定记住开通容器服务时设置的密码,登录阿里云Docker Registry时需要使用,注意大赛要求镜像区域选择华南1(深圳)。
容器创建完成后可以登录登录阿里云Docker Registry,具体命令可以在镜像仓库管理界面找到。
3、构建镜像并推送
(1)拉取基础镜像
天池准备了常用的python基础镜像,可以直接拉取使用,暂时不用自行构建镜像。

docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

image.png
图1 镜像拉取结果

(2)准备文件
镜像拉取完成之后,需要准备相关的文件,并写入相关的内容。第一步得分的需要的文件包含Dockerfile、main.py、run.sh、result.json,此处result.json文件只是用于代码测试,实际操作过程中需要按照要求在容器运行过程中中创建json文件并写入信息。
image.png
图2 所需文件

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
##安装python依赖包 
#RUN pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple 
## 把当前文件夹里的文件构建到镜像的根目录下,并设置为默认工作目录 
ADD . /
WORKDIR /
## 镜像启动后统一执行 sh run.sh 
CMD ["sh", "run.sh"]

python文件,名称可自定义,只需可run.sh中执行的文件对应即可

#main.py 
import json
#print("Hello Word")
data = json.dumps({'Q1': 'Hello world', 'Q2': 0, 'Q3':[]},indent=4, separators=(','))
f = open('result.json', 'w')
f.write(data)
f.close()
注意:写入result.json文件的内容中必须包含Q2和Q3的内容,可以为空,如果只包含Q1会报错“Bad input file”

run.sh文件

#bin/bash
python3 main.py

(3)构建镜像并推送
前面已经登录阿里云Docker Registry,此处只需构建并推送即可,注意版本!

#构建
sudo docker build -t registry.cn-shenzhen.aliyuncs.com/xiaohu001/dockerlearn01:0.11 .
#推送
sudo docker push  registry.cn-shenzhen.aliyuncs.com/xiaohu001/dockerlearn01:0.11

4、 提交结果
在大赛提交结果界面设置镜像路径及版本,镜像路径要选择“公网地址”,点击“提交”之后等待执行即可。
image.png
图3 得分情况

目录
相关文章
|
11天前
|
IDE 数据中心 Docker
使用PyCharm与Docker容器进行开发:从入门到精通
使用PyCharm与Docker容器进行开发:从入门到精通
|
2月前
|
机器学习/深度学习 PyTorch 算法框架/工具
在阿里云机器学习平台上布置一个PyTorch模型
在阿里云机器学习平台上布置一个PyTorch模型【1月更文挑战第21天】【1月更文挑战第105篇】
118 1
|
1月前
|
运维 虚拟化 开发者
Docker-全面详解(学习总结---从入门到深化)
Docker-全面详解(学习总结---从入门到深化)
30 1
|
1月前
|
Docker 容器
在docker中安装zookeeper,并且阿里云服务器配置
在docker中安装zookeeper,并且阿里云服务器配置
94 1
|
1月前
|
NoSQL Redis Docker
在docker中安装redis,并且阿里云服务器配置
在docker中安装redis,并且阿里云服务器配置
115 1
|
4天前
|
Java Linux Docker
Docker入门到实战
Docker入门到实战、Centos7安装Docker
|
11天前
|
机器学习/深度学习 数据采集 算法
Python中的机器学习入门:从数据预处理到模型评估
Python中的机器学习入门:从数据预处理到模型评估
|
28天前
|
机器学习/深度学习 数据挖掘 程序员
深入理解Python协程:提升并发编程效率基于Python的机器学习入门:从理论到实践
本文旨在探讨Python协程(Coroutine)的内部机制及其在并发编程中的应用。区别于传统的线程和进程,协程提供了一种更轻量级、高效的并发编程模式。通过深入分析协程的工作原理,本文将展示如何利用协程优化程序性能,实现高效的异步任务处理。我们将通过实例探讨协程的创建、事件循环的管理、以及与异步IO的集成,为读者提供一套完整的协程应用方案。此外,本文还将对比协程与其他并发模型(如多线程和多进程)的优劣,帮助读者全面理解协程在现代编程中的重要性。 在本文中,我们将深入探讨机器学习的核心概念,并通过Python实现其基础应用。不同于传统的技术文章摘要,我们希望通过一个故事性的引入,让读者感受到
|
1月前
|
消息中间件 RocketMQ Docker
分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)
分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)
36 0
|
1月前
|
Docker 容器
在docker中安装dubbo-admin,并且阿里云服务器配置
在docker中安装dubbo-admin,并且阿里云服务器配置
99 1

相关产品

  • 云迁移中心