《AI开发者的docker实践》之实践篇

简介: 本篇是docker实践篇。

1.创建镜像仓库账号

这里以申请阿里云容器镜像服务(免费),并创建仓库为例,其他仓库如dockerhub、谷歌、亚马逊、腾讯等详见对应产品说明书。

打开阿里云容器服务地址为(https://cr.console.aliyun.com

注册开通后产品页面如下

第一步切换标签页到命名空间,创建地址唯一的命名空间

根据大赛要求选择对应的地域,其他的按照自己需求选择或填写

下一步,选择本地仓库,不建议其他选项,完成创建。

点击管理,可查看详情。

详情页如下,有基本的操作命令,仓库地址一般使用公网地址即可。

按照页面的指令在本地完成登陆:

exportDOCKER_REGISTRY= your_registry_url<docker registry url>
(注意这里your_registry_url最后字段结尾,不能多不能少E.g registry.cn-shanghai.aliyuncs.com/xxxx/xxxx)
docker login $DOCKER_REGISTRY \
--username your_username \
--password your_password


2.实践docker 练习赛(天池)

2.1 练习赛链接&资料

gpu版本练习赛链接 【推荐】

cpu版本练习赛链接

从0开始大赛docker提交视频演示

2.2 GPU版docker练习赛实践

这里以GPU版docker 练习赛中的练习一为例来构建镜像并提交:

首先我们写一个main.py,实现读取/tcdata下的数据,计算a*b 生成result.npy文件

#main.pyimportosimportnumpyasnpimporttorchdevice=torch.device("cuda")
data_dir='/tcdata'a=np.load(os.path(data_dir,a.npy))
b=np.load(os.path(data_dir,b.npy))
a=torch.from_numpy(a).to(device)
b=torch.from_numpy(b).to(device)
c=torch.matmul(a,b).cpu()
print(c)
np.save("result.npy", c)

编写入口文件run.sh

#bin/bash#打印GPU信息nvidia-smi
#执行math.pypython3 math.py

然后编写Dockerfile 用于打包main.py和运行环境为镜像

# Base Images
## 从天池基础镜像构建(from的base img 根据自己的需要更换,建议使用天池open list镜像链接:https://tianchi.aliyun.com/forum/postDetail?postId=67720)
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/pytorch:1.1.0-cuda10.0-py3
##安装python依赖包
RUN pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
## 把当前文件夹里的文件构建到镜像的根目录下,并设置为默认工作目录
ADD . /
WORKDIR /
## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]


命令行执行,构建镜像:

tips: 镜像命名根据自己申请的仓库registry来,可以省去tag步骤直接上传,保持本地镜像清洁。

$ docker build -t registry.cn-shanghai.aliyuncs.com/xxxx/test:0.1 .

上传镜像仓库

$ docker push registry.cn-shanghai.aliyuncs.com/xxxx/test:0.1

天池页面提交

image.png

天池实验室

首页

天池大赛

其他

技术圈

AI学习

数据集

首页>天池大赛>2019广东工业智造创新大赛[赛场二]

状态

奖金

参赛队伍

赛季2

举办方

进行中

2019-10-25

¥1000000

广东省人民度府2-0ac0m4

2019广东工业智造创新大赛[赛场二

832

请填写镜像相关信息

赛制

推荐使用阿里云私有镜像服务,公开镇像地址可不必填享用户名及密码,

复赛

赛题与数据

镜像路径

registry.cnshenzhen.aliyuncs.com/estoriachites

用户名

12345678@qq.com

排行榜

密码

论坛

镜像路径:

配置路径

提交

验证

关闭

学习资科

代码规范

jobnotexist

容器镇像!

提交结果

我的成绩

我的团队

正在运行的状态running,其他状态对应展开也可以看到详情,如错误状态展开可看到大致reason.

image.png

复赛

提示

您的结果将被实时返回,您队伍的当天剩余提交次数为5次.

镜像路径:

提交

已配置路径:registry.cn-hangzhou.aliyuncs.co

配置路径

running

startedat:datetie.datti(2z

运行结束或者运行失败都会有邮件通知到提交人留在天池的邮箱里,收到提示即可回到大赛页面查看成绩及日志

3.docker 在本地使用gpu

docker在新的版本中均已支持直接调用gpu,通过--gpu 指定使用哪个gpu, --gpu all 则是使用所有gpu

前提:请确保已按照前文环境篇linux末尾安装了Nvidia对docker的软件支持。

docker run --gpu all registry.cn-shanghai.aliyuncs.com/xxxx/test:0.1


调试:

docker run -it--gpu all registry.cn-shanghai.aliyuncs.com/xxxx/test:0.1 /bin/bash
#  nvidia-smi Thu Jan  719:04:55 2021+-----------------------------------------------------------------------------+| NVIDIA-SMI 418.87.01    Driver Version: 418.87.01    CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla P100-PCIE...  On   | 00000000:00:08.0 Off |                    0 |
| N/A   29C    P0    24W / 250W |      0MiB / 16280MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+|   1  Tesla P100-PCIE...  On   | 00000000:00:09.0 Off |                    0 |
| N/A   31C    P0    26W / 250W |      0MiB / 16280MiB |      0%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+


相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
9天前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
12天前
|
消息中间件 人工智能 Kafka
AI 时代的数据通道:云消息队列 Kafka 的演进与实践
云消息队列 Kafka 版通过在架构创新、性能优化与生态融合等方面的突破性进展,为企业构建实时数据驱动的应用提供了坚实支撑,持续赋能客户业务创新。
135 21
|
6天前
|
人工智能 新制造
TsingtaoAI受邀参加宁波AI海曙科创训练营并分享技术落地实践
10月12日至15日,由宁波市海曙区组织部主办的AI海曙科创训练营在宁波成功举办。作为受邀企业代表,TsingtaoAI团队深入参与了多项活动,与政府领导、行业专家及科创企业代表围绕AI技术在制造业、成果转化等领域的实际应用展开交流,用真实案例诠释了“技术扎根产业”的价值逻辑。
26 2
|
15天前
|
人工智能 搜索推荐 算法
用AI提示词搞定基金定投:技术人的理财工具实践
本文将AI提示词工程应用于基金定投,为技术人打造一套系统化、可执行的理财方案。通过结构化指令,AI可生成个性化定投策略,覆盖目标设定、资产配置、风险控制与动态调整,帮助用户降低决策门槛,规避情绪干扰,实现科学理财。
185 13
|
16天前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
13天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
本文介绍RAG(检索增强生成)技术,结合Spring AI与本地及云知识库实现学术分析AI应用,利用阿里云Qwen-Plus模型提升回答准确性与可信度。
397 90
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
|
5天前
|
人工智能 运维 关系型数据库
云栖大会|AI时代的数据库变革升级与实践:Data+AI驱动企业智能新范式
2025云栖大会“AI时代的数据库变革”专场,阿里云瑶池联合B站、小鹏、NVIDIA等分享Data+AI融合实践,发布PolarDB湖库一体化、ApsaraDB Agent等创新成果,全面展现数据库在多模态、智能体、具身智能等场景的技术演进与落地。
|
人工智能 自然语言处理 前端开发
产品经理也能“开发”需求?淘宝信息流从需求到上线的AI端到端实践
淘宝推荐信息流业务,常年被“需求多、技术栈杂、协作慢”困扰,需求上线周期动辄一周。WaterFlow——一套 AI 驱动的端到端开发新实践,让部分需求两天内上线,甚至产品经理也能“自产自销”需求。短短数月,已落地 30+ 需求、自动生成 5.4 万行代码,大幅提升研发效率。接下来,我们将揭秘它是如何落地并改变协作模式的。
产品经理也能“开发”需求?淘宝信息流从需求到上线的AI端到端实践
|
9天前
|
人工智能 监控 Java
Spring AI Alibaba实践|后台定时Agent
基于Spring AI Alibaba框架,可构建自主运行的AI Agent,突破传统Chat模式限制,支持定时任务、事件响应与人工协同,实现数据采集、分析到决策的自动化闭环,提升企业智能化效率。
Spring AI Alibaba实践|后台定时Agent