《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                                                 |
+-----------------------------------------------------------------------------+


相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
15天前
|
机器学习/深度学习 数据采集 人工智能
AI与机器学习:从理论到实践
【10月更文挑战第2天】本文将深入探讨AI和机器学习的基本概念,以及它们如何从理论转化为实际的应用。我们将通过Python代码示例,展示如何使用机器学习库scikit-learn进行数据预处理、模型训练和预测。无论你是AI领域的初学者,还是有一定基础的开发者,这篇文章都将为你提供有价值的信息和知识。
|
13天前
|
SQL 人工智能 自然语言处理
【AI 技术分享】大模型与数据检索的探索实践
本文基于2024年9月27日与阿里云合办的线下沙龙分享整理而成,探讨如何通过大语言模型(LLM)让数据访问更简单。随着企业数据量增长,传统数据访问方式已难以满足需求。LLM结合自然语言检索,使非技术用户能直接用自然语言与数据交互,降低数据访问门槛。文章介绍了NL2SQL技术,通过LLM理解自然语言问题并生成SQL查询,实现高效数据获取。同时,探讨了AskTable架构及其在实际应用中的挑战与解决方案。
101 5
【AI 技术分享】大模型与数据检索的探索实践
|
7天前
|
存储 运维 云计算
探索Docker容器化:从入门到实践
在这个快速发展的云计算时代,Docker容器化技术正在改变应用的开发、部署和管理方式。本文旨在为初学者提供一个关于Docker的全面入门指南,并通过实践案例展示Docker在实际开发中的应用。我们将一起了解Docker的核心概念、基本操作、网络和存储,以及如何构建和部署一个简单的Web应用。无论你是开发者还是运维人员,本文都会帮助你快速掌握Docker的核心技能。
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI在软件测试中的创新应用与实践###
本文旨在探讨人工智能(AI)技术如何革新软件测试领域,提升测试效率、质量与覆盖范围。通过深入分析AI驱动的自动化测试工具、智能化缺陷预测模型及持续集成/持续部署(CI/CD)流程优化等关键方面,本研究揭示了AI技术在解决传统软件测试痛点中的潜力与价值。文章首先概述了软件测试的重要性和当前面临的挑战,随后详细介绍了AI技术在测试用例生成、执行、结果分析及维护中的应用实例,并展望了未来AI与软件测试深度融合的趋势,强调了技术伦理与质量控制的重要性。本文为软件开发与测试团队提供了关于如何有效利用AI技术提升测试效能的实践指南。 ###
|
5天前
|
人工智能
阅读了《文档智能 & RAG让AI大模型更懂业务》的解决方案后对解决方案的实践原理的理解
阅读《文档智能 & RAG让AI大模型更懂业务》后,我对文档智能处理与RAG技术结合的实践原理有了清晰理解。部署过程中,文档帮助详尽,但建议增加常见错误处理指南。体验LLM知识库后,模型在处理业务文档时效率和准确性显著提升,但在知识库自动化管理和文档适应能力方面仍有改进空间。解决方案适用于多种业务场景,但在特定场景下的集成和定制化方面仍需提升。
|
6天前
|
人工智能 开发框架 搜索推荐
AI 骁龙 PC 开发者 技术 沙龙
AI 骁龙 PC 开发者 技术 沙龙
15 1
|
8天前
|
运维 JavaScript 虚拟化
探索容器化技术:Docker的实践与应用
【10月更文挑战第9天】探索容器化技术:Docker的实践与应用
33 3
|
8天前
|
机器学习/深度学习 人工智能 自动驾驶
探索AI未来:从理论到实践
【10月更文挑战第9天】探索AI未来:从理论到实践
21 2
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的无限可能:从理论到实践
【10月更文挑战第9天】在这篇文章中,我们将深入探讨人工智能(AI)的世界,从基本概念到实际应用,再到未来发展趋势。我们将通过实例和代码示例,揭示AI如何改变我们的生活和工作方式。无论你是AI领域的新手,还是有经验的开发者,这篇文章都将为你提供有价值的信息和启示。让我们一起探索AI的无限可能吧!
|
12天前
|
数据采集 存储 人工智能
AI时代数据湖实践
本文分享了如何利用阿里云的存储解决方案构建一个具备高效处理、高时效性的AI数据湖,通过高吞吐训练和高效推理帮助企业快速实现数据价值,以及用户在使用中的最佳实践。