机器学习之阿里云天池大赛—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 得分情况

目录
相关文章
|
1月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1443 9
|
1月前
|
机器学习/深度学习 数据采集 算法
量子机器学习入门:三种数据编码方法对比与应用
在量子机器学习中,数据编码方式决定了量子模型如何理解和处理信息。本文详解角度编码、振幅编码与基础编码三种方法,分析其原理、实现及适用场景,帮助读者选择最适合的编码策略,提升量子模型性能。
158 8
|
5月前
|
PyTorch 调度 算法框架/工具
阿里云PAI-DLC任务Pytorch launch_agent Socket Timeout问题源码分析
DLC任务Pytorch launch_agent Socket Timeout问题源码分析与解决方案
268 18
阿里云PAI-DLC任务Pytorch launch_agent Socket Timeout问题源码分析
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
阿里云人工智能平台 PAI 开源 EasyDistill 框架助力大语言模型轻松瘦身
本文介绍了阿里云人工智能平台 PAI 推出的开源工具包 EasyDistill。随着大语言模型的复杂性和规模增长,它们面临计算需求和训练成本的障碍。知识蒸馏旨在不显著降低性能的前提下,将大模型转化为更小、更高效的版本以降低训练和推理成本。EasyDistill 框架简化了知识蒸馏过程,其具备多种功能模块,包括数据合成、基础和进阶蒸馏训练。通过数据合成,丰富训练集的多样性;基础和进阶蒸馏训练则涵盖黑盒和白盒知识转移策略、强化学习及偏好优化,从而提升小模型的性能。
|
5月前
|
缓存 并行计算 测试技术
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
1229 12
|
9月前
|
Java Linux C语言
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
781 90
|
8月前
|
API 开发工具 Python
阿里云PAI部署DeepSeek及调用
本文介绍如何在阿里云PAI EAS上部署DeepSeek模型,涵盖7B模型的部署、SDK和API调用。7B模型只需一张A10显卡,部署时间约10分钟。文章详细展示了模型信息查看、在线调试及通过OpenAI SDK和Python Requests进行调用的步骤,并附有测试结果和参考文档链接。
3513 11
阿里云PAI部署DeepSeek及调用
|
8月前
|
机器学习/深度学习 人工智能 开发者
DeepSeek安装部署指南,基于阿里云PAI零代码,小白也能轻松搞定!
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括:开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程简单快捷,极大降低了使用门槛。
1873 43
|
7月前
|
存储 人工智能 云栖大会
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
|
6月前
|
人工智能 自然语言处理 运维
Qwen3 全尺寸模型支持通过阿里云PAI-ModelGallery 一键部署
Qwen3 是 Qwen 系列最新一代的大语言模型,提供了一系列密集(Dense)和混合专家(MOE)模型。目前,PAI 已经支持 Qwen3 全系列模型一键部署,用户可以通过 PAI-Model Gallery 快速开箱!