华为ModelArts自定义镜像(PyTorch镜像)
一、重要说明
自定义镜像是基于基础镜像制作的,其中根据基础镜像类型的不同,可提供“基础镜像为非ModelArts提供”、“基础镜像为ModelArts提供”两种方案,都可以指导用户在ModelArts上完成自定义镜像的制作。
二、准备工作
2.1 修改 docker 配置
在 /etc/docker/daemon.json
文件中添加如下部分
{"insecure-registries": ["swr.cn-central-231.xckpjs.com"]
}
# 重新加载daemon.json配置
systemctl daemon-reload# 重启docker服务
systemctl restart docker
2.2 修改 hosts 配置
在 /etc/hosts
文件中添加如下部分:
222.89.165.196 swr.cn-central-231.xckpjs.com
三、关键步骤(基础镜像为非ModelArts提供)
3.1 常用指令
# 重新加载daemon.json配置
systemctl daemon-reload# 重启docker服务
systemctl restart docker# 查看docker服务状态
systemctl status docker# 查看 daemon.json
cat /etc/docker/daemon.json
3.2 下载AscendHub镜像
AscendHub官网
3.2.1 筛选合适的镜像
以 pytorch-modelzoo 为例。
3.2.2 下载镜像
获取登录访问权限,并复制到节点执行
[root@localhost YOYOFile]# docker login -u xxx -p xxx ascendhub.huawei.com
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded
下载镜像
[root@localhost YOYOFile]# docker pull ascendhub.huawei.com/public-ascendhub/pytorch-modelzoo:22.0.RC1
22.0.RC1: Pulling from public-ascendhub/pytorch-modelzoo
e196da37f904: Pull complete
55883d7d51cb: Pull complete
c12f2cbfed42: Pull complete
9c8e7bc70917: Pull complete
cc89c9dc31bd: Pull complete
d4d05a44b5dd: Pull complete
c8946786517a: Pull complete
168e9b57e364: Pull complete
0306b568f1d6: Pull complete
24f37cf22a2c: Pull complete
d0c18ce516f9: Pull complete
2016b4899336: Pull complete
9168f2ae2f05: Pull complete
1bcd4049fce6: Pull complete
e8241e04253f: Pull complete
b0294ab5fb7a: Pull complete
Digest: sha256:6b4be6a3705d7b9ba4d7bdd36e20fa9734c40b6fefbba94d588a9d7c6e764e00
Status: Downloaded newer image for ascendhub.huawei.com/public-ascendhub/pytorch-modelzoo:22.0.RC1
ascendhub.huawei.com/public-ascendhub/pytorch-modelzoo:22.0.RC1
3.3 编写Dockefiile文件
参考:Dockerfile文件(基础镜像为非ModelArts提供)
- 基础镜像为非ModelArts提供时,Dockerfile文件中需要添加用户和用户组,ma-group的gid必须是100 ,ma-user用户uid必须是1000。
- 添加
FROM ascendhub.huawei.com/public-ascendhub/pytorch-modelzoo:22.0.RC1
。内容参考样例如下:
FROM ascendhub.huawei.com/public-ascendhub/pytorch-modelzoo:22.0.RC1
USER root
RUN default_user=$(getent passwd 1000 | awk -F ':' '{print $1}') || echo "uid: 1000 does not exist" && \default_group=$(getent group 100 | awk -F ':' '{print $1}') || echo "gid: 100 does not exist" && \if [ ! -z ${default_user} ] && [ ${default_user} != "ma-user" ]; then \userdel -r ${default_user}; \fi && \if [ ! -z ${default_group} ] && [ ${default_group} != "ma-group" ]; then \groupdel -f ${default_group}; \fi && \groupadd -g 100 ma-group && useradd -d /home/ma-user -m -u 1000 -g 100 -s /bin/bash ma-user && \chmod -R 750 /home/ma-user
3.4 build镜像
docker build -t xxxx:v1 .
[root@localhost YOYOFile]# docker build -t pytorch-modelzoo:v1.1 .
Sending build context to Docker daemon 2.56kB
Step 1/3 : FROM ascendhub.huawei.com/public-ascendhub/pytorch-modelzoo:22.0.RC1---> fcc1832163ac
Step 2/3 : USER root---> Running in f03d59699644
Removing intermediate container f03d59699644---> 1acc2e976ce4
Step 3/3 : RUN default_user=$(getent passwd 1000 | awk -F ':' '{print $1}') || echo "uid: 1000 does not exist" && default_group=$(getent group 100 | awk -F ':' '{print $1}') || echo "gid: 100 does not exist" && if [ ! -z ${default_user} ] && [ ${default_user} != "ma-user" ]; then userdel -r ${default_user}; fi && if [ ! -z ${default_group} ] && [ ${default_group} != "ma-group" ]; then groupdel -f ${default_group}; fi && groupadd -g 100 ma-group && useradd -d /home/ma-user -m -u 1000 -g 100 -s /bin/bash ma-user && chmod -R 750 /home/ma-user---> Running in a8620216382f
userdel: group HwHiAiUser not removed because it has other members.
userdel: HwHiAiUser mail spool (/var/mail/HwHiAiUser) not found
Removing intermediate container a8620216382f---> 27df0bed4cc7
Successfully built 27df0bed4cc7
Successfully tagged pytorch-modelzoo:v1.1
3.5 登录swr镜像产库
3.6 客户端上传
点击客户端上传按钮,根据要求修改镜像的标签tag,push镜像到swr仓库。
3.7 注册镜像
鹏城需要,河南算力中心不需要此步骤。有两种方式来注册镜像。
3.7.1 方式一
使用 ma-cli register-image [OPTIONS] SWR_PATH
命令来注册镜像。
ma-cli register-image swr.cn-south-222.ai.pcl.cn/cloud-test/mindspore_1_6:v1 -a AARCH64 -rs ASCEND
参数解释:
-a 指定该镜像支持ARM架构;
-rs 指定镜像支持ASCEND芯片。
3.7.2 方式二
在console上注册镜像。
登录modelarts;
进入【镜像管理】,点击【注册镜像】;
**镜像源 **即为刚才推送到SWR中的镜像,将完整的SWR地址拷贝到这里即可。
3.8 创建算法
使用自定义镜像创建算法
3.9 创建训练作业
四、关键步骤(基础镜像为ModelArts提供)
与“基础镜像为非ModelArts提供相比”,除了下载镜像、编写Dockfile文件的步骤不同之外,其他步骤保持一致。
4.1 下载镜像
镜像查询,请参考:训练基础镜像详情(Ascend-Powered-Engine)。
训练基础镜像支持的Region为:cn-north-4
docker pull swr.cn-north-4.myhuaweicloud.com/aip/pytorch_1_5_ascend:pytorch_1.5.0-cann_5.0.4-py_3.7-euler_2.8.3-aarch64-d910-roma-20220318164813-b3feb87
4.2 编写Dockfile文件
Dockerfile文件信息
五、FAQ
Q:登录指令失败
[root@localhost YOYOFile]# docker login -u cn-central-231@AM7WFUQ2EEMGFJF8T31A -p xxx swr.cn-central-231.xckpjs.com
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://swr.cn-central-231.xckpjs.com/v2/: dial tcp: lookup swr.cn-central-231.xckpjs.com on 8.8.8.8:53: no such host
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get "https://swr.cn-central-231.xckpjs.com/v2/": dial tcp: lookup swr.cn-central-231.xckpjs.com: no such host
错误原因:
没有配置hosts解决办法:
参考上文【准备工作】
1. 修改 docker 配置
2. 修改 hosts 配置
华为ModelArts自定义镜像(PyTorch镜像)相关推荐
- ubuntu安装pytorch镜像修改及下载
ubuntu安装pytorch镜像修改及下载 下载pytorch下载太慢,搞了很长时间,终于改好镜像能快速下载了,记录以下. 1.在/home/用户名/ 下找到/.condarc 文件,可能需要你右击 ...
- Docker自定义部署Redis镜像
一. DOCKER介绍 Docker简介 (1)Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从Apache2.0协议开源. (2)Docker 可以让开发者打包他们的应用以及依赖包到 ...
- 利用 Docker 配置 Pytorch 镜像流程
目录 假设你已经安装好了Ubuntu 1 安装 Docker 2 安装 Pytorch 镜像 假设你已经安装好了Ubuntu 1 安装 Docker 打开终端,先更新下apt sudo apt-get ...
- 使用 “Cubic” 制作自定义 “ubuntu” 系统镜像
目录 一.前言 二.正文 ISO镜像定制 UUI镜像定制 定制系统测试 三.镜像下载 一.前言 使用ubuntu系统进行开发的时候,我们需要安装很多开发工具,比如sublime text.vscode ...
- 华为交换机:交换机端口镜像技术
交换机端口镜像技术 参考资料:https://blog.csdn.net/qq_38265137/article/details/80404306 在某些场景中,我们可能需要监控交换机特定端口的入站或 ...
- torch各个版本镜像_Anaconda安装Pytorch镜像详细教程
在win10基础上已经安装好了Anaconda,继续安装Pytorch.因为采用原本的下载方法实在太慢,还容易出现问题,现采取Pytorch清华镜像下载方法,亲测有效快速!!! 1.已经安装好Anac ...
- 华为公共云有uos系统服务器,华为云服务器上 公共镜像
华为云服务器上 公共镜像 内容精选 换一换 由于公有云"敏捷弹性.安全可靠.简单易用.节省成本"等特点,越来越多的企业将自己的IT应用和负载迁移到公有云,如何方便快捷地将已有的服务 ...
- 制作最小linux镜像,Docker镜像的无中生有:使用scratch制作自定义最小镜像
针对如何制作尽量小的镜像问题,笔者在这里介绍一种用"空镜像"制作自定义最小镜像的方案. 1. 从石头缝里蹦出来的基础镜像? 这里请大家思考一个问题:docker hub上的那些基础 ...
- docker:自定义ubuntu/制作镜像引用/ubuntu换源更新
一.需求 1. 制作一个图像辨识的api,用到相同设置的ubuntu镜像,但是每次制作都要更新ubuntu和下载tesseract浪费半个到一个小时下载,所以制作一个自定义ubuntu几次镜像大大提高 ...
最新文章
- 《数学之美》第20章 不要把鸡蛋都放到一个篮子里--谈谈最大熵模型
- python中shutil模块的用法_python中的os,shutil模块的定义以及用法
- 目标检测常用数据集格式
- workerman mysql_workerman/mysql
- EJB3.0学习笔记---MDBbean--区分P2P模式和Pub/Sub模式的示例
- 计算机网络校园网建设设计摘要,计算机网络专业毕业论文校园网建设设计.doc...
- abb的knx的数据库下载方法_ABB智能家居KNX方案.doc
- 【K8S】Submariner实现跨集群通信
- 【业务安全05】业务逻辑漏洞之篡改交易数据——基于大米CMS-V5.4电子商城
- SAP中的贷项凭证、借项凭证
- 脉冲神经网络SNN的简介
- 91手机助手电脑版官方版
- 如何在PDF文档中添加手写签名?
- 阿里云服务器挖矿程序解决流程
- 求n的阶乘,求1~n的阶乘和(循环)
- 人在四合院:我变成了何雨柱(二)
- idea Translation翻译插件详细讲解
- 清华学生告诉你什么是清华!
- python jpype 调用java之坑
- 解决方案:炼丹师养成计划 Pytorch+DeepLearning遇见的各种报错与踩坑避坑记录(一)
热门文章
- Android开发之自定义SurfaceView绘制动效音波图 | 动效音阶图 | Android自定义View
- 王慧文的AI大模型创业成功率几何?
- solidity的投票示例代码
- 银行项目外包专题系列之一:经常遇到的外包/驻场/实施/To B/POC这些概念
- 认真开始学习C语言的2天总结(师承上官可编程----老陈)
- 蓝色天空HTML网页模板
- oracle自连接和自然连接,一个θ连接,equijoin和自然连接之间的区别
- C语言编程练习:用pow()函数实现求x的y次方的值
- videoJs实现手机视频播放功能
- 【嵌入式】教你如何在Linux设备上截图