云服务器内容精选
-
创建开发环境并使用 镜像注册成功后,即可在ModelArts控制台的Notebook页面,创建开发环境时选择该 自定义镜像 。 图7 创建开发环境 打开开发环境,即可看到Dockerfile中创建的conda环境pytorch_1_8。 图8 打开开发环境 单击图中的pytorch_1_8,即可创建一个ipynb文件,导入torch,可以看到安装的pytorch 1.8已经能够使用。 图9 创建一个ipynb文件 再打开一个Terminal,查看ffmpeg和gcc的版本,是Dockerfile中安装的版本。 图10 查看ffmpeg和gcc的版本
-
制作自定义镜像 这一节描述如何编写一个Dockerfile,并据此构建出一个新镜像在Notebook创建实例并使用。关于Dockerfile的具体编写方法,请参考官网。 查询基础镜像(第三方镜像可跳过此步骤) ModelArts提供的公共镜像,请参考Notebook专属预置镜像列表,根据预置镜像的引擎类型在对应的章节查看镜像URL。 连接 容器镜像服务 。 登录容器 镜像服务 控制台。选择左侧导航栏的“总览”,单击页面右上角的“登录指令”,在弹出的页面中单击复制登录指令。 图4 获取登录指令 此处生成的登录指令有效期为24小时,如果需要长期有效的登录指令,请参见获取长期有效登录指令。获取了长期有效的登录指令后,在有效期内的临时登录指令仍然可以使用。 登录指令末尾的 域名 为镜像仓库地址,请记录该地址,后面会使用到。 在安装容器引擎的机器中执行上一步复制的登录指令。登录成功会显示“Login Succeeded”。 拉取基础镜像或第三方镜像(此处以基础镜像举例,第三方镜像直接替换镜像地址)。 拉取ModelArts提供的公共镜像(请参考预置镜像)。 docker pull swr.cn-north-4.myhuaweicloud.com/atelier/notebook2.0-pytorch-1.4-kernel-cp37:3.3.3-release-v1-20220114 编写Dockerfile。 vim一个Dockerfile,如果使用的基础镜像是ModelArts提供的公共镜像,Dockerfile的具体内容可参考Dockerfile文件(基础镜像为ModelArts提供)。 如果使用的基础镜像是第三方镜像(非ModelArts提供的公共镜像),Dockerfile文件中需要添加uid为1000的用户ma-user和gid为100的用户组ma-group,具体可参考Dockerfile文件(基础镜像为非ModelArts提供)。 本例的Dockerfile将基于PyTorch基础镜像安装pytorch 1.8, ffmpeg 3和gcc 8,构建一个面向AI任务的镜像。 构建镜像 使用docker build命令从Dockerfile构建出一个新镜像。命令参数解释如下: “-t” 指定了新的镜像地址,包括{局点信息}/{组织名称}/{镜像名称}:{版本名称},请根据实际填写。建议使用完整的swr地址,因为后续的调试和注册需要使用。 “-f ”指定了Dockerfile的文件名,根据实际填写。 最后的“ . ”指定了构建的上下文是当前目录,根据实际填写。 docker build -t swr.cn-north-4.myhuaweicloud.com/sdk-test/pytorch_1_8:v1 -f Dockerfile . 图5 构建成功
-
准备Docker机器并配置环境信息 准备一台具有Docker功能的机器,如果没有,建议申请一台弹性云服务器并购买弹性公网IP,并在准备好的机器上安装必要的软件。 ModelArts提供了ubuntu系统的脚本,方便安装docker。 本地Linux机器的操作等同E CS 服务器上的操作,请参考本案例。 登录ECS控制台,购买弹性云服务器,镜像选择“公共镜像”,推荐使用ubuntu18.04的镜像;系统盘设置为100GiB。具体操作请参考购买并登录弹性云服务器。 图2 选择镜像和磁盘 购买弹性公网IP并绑定到弹性云服务器。具体操作请参考配置网络。 配置VM环境。 在docker机器中,使用如下命令下载安装脚本。 wget https://cnnorth4-modelarts-sdk.obs.cn-north-4.myhuaweicloud.com/modelarts/custom-image-build/install_on_ubuntu1804.sh 当前仅支持ubuntu系统的脚本。 在docker机器中并执行如下命令,即可完成环境配置。 bash install_on_ubuntu1804.sh 图3 配置成功 source /etc/profile 安装脚本依次执行了如下任务: 安装docker。 如果挂载了GPU,则会安装nvidia-docker2,用以将GPU挂载到docker容器中。
-
使用场景和构建流程说明 用户可以使用ModelArts提供的基础镜像或第三方的镜像来编写Dockerfile,在ECS服务器上构建出完全适合自己的镜像。然后将镜像进行注册,用以创建新的开发环境,满足自己的业务需求。 本案例将基于ModelArts提供的PyTorch基础镜像,安装pytorch 1.8、ffmpeg 3和gcc 8,构建一个面向AI开发的新环境。 主要流程如下图所示: 图1 构建与调测镜像流程 本案例适用于华为云-北京四Region。
-
Notebook自定义镜像规范 制作自定义镜像时,Base镜像需满足如下规范: 基于昇腾、Dockerhub官网等官方开源的镜像制作,开源镜像需要满足如下操作系统约束: x86:Ubuntu18.04、Ubuntu20.04 ARM:Euler2.8.3、Euler2.10.7 Ubuntu20.04.6可能有兼容性问题,请优先使用低于该版本的操作系统。 不满足以上镜像规范,所制作的镜像使用可能会出现故障,请用户检查镜像规范,并参考Notebook自定义镜像故障基础排查自行排查,如未解决请联系华为技术工程师协助解决。
-
上传镜像至SWR服务 登录容器镜像服务控制台,选择区域,要和ModelArts区域保持一致,否则无法选择到镜像。 单击右上角“创建组织”,输入组织名称完成组织创建。请自定义组织名称,本示例使用“deep-learning”,下面的命令中涉及到组织名称“deep-learning”也请替换为自定义的值。 单击右上角“登录指令”,获取登录访问指令,本文选择复制临时登录指令。 以root用户登录本地环境,输入复制的SWR临时登录指令。 上传镜像至容器镜像服务镜像仓库。 使用docker tag命令给上传镜像打标签。 #region和domain信息请替换为实际值,组织名称deep-learning也请替换为自定义的值。 sudo docker tag pytorch:2.1.0-cann7.0.0 swr.{region-id}.{domain}/deep-learning/pytorch:2.1.0-cann7.0.0 #此处以华为云cn-north-4为例 sudo docker tagpytorch:2.1.0-cann7.0.0 swr.cn-north-4.myhuaweicloud.com/deep-learning/pytorch:2.1.0-cann7.0.0 使用docker push命令上传镜像。 #region和domain信息请替换为实际值,组织名称deep-learning也请替换为自定义的值。 sudo docker push swr.{region-id}.{domain}/deep-learning/pytorch:2.1.0-cann7.0.0 #此处以华为云cn-north-4为例 sudo docker push swr.cn-north-4.myhuaweicloud.com/deep-learning/pytorch:2.1.0-cann7.0.0 完成镜像上传后,在容器镜像服务控制台的“我的镜像”页面可查看已上传的自定义镜像。 “swr.cn-north-4.myhuaweicloud.com/deep-learning/pytorch:2.1.0-cann7.0.0”即为此自定义镜像的“SWR_URL”。
-
准备工作 准备一套可以连接外部网络,装有Linux系统并安装18.09.7及以上版本docker的虚拟机或物理机用作镜像构建节点,以下称“构建节点”。 可以通过执行docker pull、apt-get update/upgrade和pip install命令判断是否可正常访问外部可用的开源软件仓库,若可以正常访问表示环境已连接外部网络。 上述的虚拟机或物理机需要为arm64架构。 建议构建节点安装的Linux系统版本为Ubuntu 18.04。 本指导使用/opt目录作为构建任务承载目录,请确保该目录下可用存储空间大于30GB。 Docker的安装可以参考官方文档:Install Docker Engine on Ubuntu。MiniConda与tflite安装包为第三方安装包,ModelArts不对其安全相关问题进行负责,如用户有安全方面的需求,可以对该安装包进行加固后发布成同样名称的文件上传到构建节点。
-
场景描述 目标:构建安装如下软件的容器镜像,并在ModelArts平台上使用Ascend规格资源运行训练作业。 ubuntu-18.04 cann-6.3.RC2 (商用版本) python-3.7.13 mindspore-2.1.1 本教程以cann-6.3.RC2.、mindspore-2.1.1为例介绍。 本示例仅用于示意Ascend容器镜像制作流程,且在匹配正确的Ascend驱动/固件版本的专属资源池上运行通过。
-
Step2 准备脚本文件并上传至OBS中 准备本案例所需训练脚本mindspore-verification.py文件和Ascend的启动脚本文件(共5个)。 训练脚本文件具体内容请参见训练mindspore-verification.py文件。 Ascend的启动脚本文件包括以下5个,具体脚本内容请参见Ascend的启动脚本文件。 run_ascend.py common.py rank_table.py manager.py fmk.py mindspore-verification.py和run_ascend.py脚本文件在创建训练作业时的“启动命令”参数中调用,具体请参见启动命令。 run_ascend.py脚本运行时会调用common.py、rank_table.py、manager.py、fmk.py脚本。 上传训练脚本mindspore-verification.py文件至OBS桶的“obs://test-modelarts/ascend/demo-code/”文件夹下。 上传Ascend的启动脚本文件(共5个)至OBS桶的“obs://test-modelarts/ascend/demo-code/run_ascend/”文件夹下。
-
Step5 在ModelArts上创建Notebook并调试 将上传到SWR上的镜像注册到ModelArts的镜像管理中。 登录ModelArts管理控制台,在左侧导航栏中选择“镜像管理 ”,单击“注册镜像”,根据界面提示注册镜像。注册后的镜像可以用于创建Notebook。 在Notebook中使用自定义镜像创建Notebook并调试,调试成功后,保存镜像。 在Notebook中使用自定义镜像创建Notebook操作请参见基于自定义镜像创建Notebook实例。 保存Notebook镜像操作请参见保存Notebook镜像环境。 已有的镜像调试成功后,再使用ModelArts训练模块训练作业。
-
训练mindspore-verification.py文件 mindspore-verification.py文件内容如下: import os import numpy as np from mindspore import Tensor import mindspore.ops as ops import mindspore.context as context print('Ascend Envs') print('------') print('JOB_ID: ', os.environ['JOB_ID']) print('RANK_TABLE_FILE: ', os.environ['RANK_TABLE_FILE']) print('RANK_SIZE: ', os.environ['RANK_SIZE']) print('ASCEND_DEVICE_ID: ', os.environ['ASCEND_DEVICE_ID']) print('DEVICE_ID: ', os.environ['DEVICE_ID']) print('RANK_ID: ', os.environ['RANK_ID']) print('------') context.set_context(device_target="Ascend") x = Tensor(np.ones([1,3,3,4]).astype(np.float32)) y = Tensor(np.ones([1,3,3,4]).astype(np.float32)) print(ops.add(x, y))
-
Step1 创建OBS桶和文件夹 在OBS服务中创建桶和文件夹,用于存放样例数据集以及训练代码。如下示例中,请创建命名为“test-modelarts”的桶,并创建如表1所示的文件夹。 创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。 请确保您使用的OBS与ModelArts在同一区域。 表1 OBS桶文件夹列表 文件夹名称 用途 obs://test-modelarts/ascend/demo-code/ 用于存储Ascend训练脚本文件。 obs://test-modelarts/ascend/demo-code/run_ascend/ 用于存储Ascend训练脚本的启动脚本。 obs://test-modelarts/ascend/log/ 用于存储训练日志文件。
-
ModelArts的预置镜像使用场景 ModelArts给用户提供了一组预置镜像,用户可以直接使用预置镜像创建Notebook实例,在实例中进行依赖安装与配置后,保存为自定义镜像,可直接用于ModelArts训练,而不需要做适配。同时也可以使用预置镜像直接提交训练作业、创建模型等。 ModelArts提供的预置镜像版本是依据用户反馈和版本稳定性决定的。当用户的功能开发基于ModelArts提供的版本能够满足的时候,比如用户开发基于MindSpore1.X,建议用户使用预置镜像,这些镜像经过充分的功能验证,并且已经预置了很多常用的安装包,用户无需花费过多的时间来配置环境即可使用。 ModelArts默认提供了一组预置镜像供开发使用,这些镜像有以下特点: 零配置,即开即用,面向特定的场景,将AI开发过程中常用的依赖环境进行固化,提供合适的软件、操作系统、网络等配置策略,通过在硬件上的充分测试,确保其兼容性和性能最合适。 方便自定义,预置镜像已经在SWR仓库中,通过对预置镜像的扩展完成自定义镜像注册。 安全可信,基于安全加固最佳实践,访问策略、用户权限划分、开发软件 漏洞扫描 、操作系统安全加固等方式,确保镜像使用的安全性。
-
ModelArts的自定义镜像使用场景 当用户对深度学习引擎、开发库有特殊需求场景的时候,预置镜像已经不能满足用户需求。ModelArts提供自定义镜像功能支持用户自定义运行引擎。 ModelArts底层采用容器技术,自定义镜像指的是用户自行制作容器镜像并在ModelArts上运行。自定义镜像功能支持自由文本形式的命令行参数和环境变量,灵活性比较高,便于支持任意计算引擎的作业启动需求。 在制作自定义镜像的时候,可以把ModelArts提供的预置镜像作为基础镜像,通过在Dockerfile中使用预置镜像的SWR地址来拉取预置镜像后进行改造。可在ModelArts预置镜像列表里获取镜像的SWR地址,参考ModelArts支持的预置镜像列表章节。 制作自定义镜像用于创建Notebook 当Notebook预置镜像不能满足需求时,用户可以制作自定义镜像。在镜像中自行安装与配置环境依赖软件及信息,并制作为自定义镜像,用于创建新的Notebook实例。同时也支持用户在Notebook中,基于已有镜像制作新的自定义镜像。 制作自定义镜像用于训练模型 如果您已经在本地完成模型开发或训练脚本的开发,且您使用的AI引擎是ModelArts不支持的框架。您可以制作自定义镜像,并上传至SWR服务。您可以在ModelArts使用此自定义镜像创建训练作业,使用ModelArts提供的资源训练模型。 制作自定义镜像用于推理 如果您使用了ModelArts不支持的AI引擎开发模型,可以通过制作自定义镜像,导入ModelArts创建为模型,并支持进行统一管理和部署为服务。 用户制作的自定义镜像,使用的场景不同,镜像规则也不同,具体如下: 通用规则:SWR镜像类型为“私有”时,才可以共享给他人,适用于开发环境、训练作业、模型。 开发环境:SWR镜像类型为“公开”时,其他用户才可以在ModelArts镜像管理页面注册使用。 训练作业:SWR镜像类型为“公开”时,在使用自定义镜像创建训练作业时,在“镜像”输入框内直接填写“组织名称/镜像名称:版本名称”即可。例如:公开镜像的SWR地址为“swr.cn-north-4.myhuaweicloud.com/test-image/tensorflow2_1_1:1.1.1”,则在创建训练作业的“镜像”输入框里内直接填“test-images/tensorflow2_1_1:1.1.1”。
-
自定义镜像功能关联服务介绍 容器镜像服务 容器镜像服务(Software Repository for Container,SWR)是一种支持镜像全生命周期管理的服务, 提供简单易用、安全可靠的镜像管理功能,帮助您快速部署容器化服务。您可以通过界面、社区CLI和原生API上传、下载和管理容器镜像。 您制作的自定义镜像需要上传至SWR服务。ModelArts开发环境、训练和创建模型使用的自定义镜像需要从SWR服务管理列表获取。 图1 获取镜像列表 对象存储服务 对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。 在使用ModelArts时存在与OBS的数据交互,您需要使用的数据可以存储至OBS。 弹性云服务器 弹性云服务器(Elastic Cloud Server,ECS)是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。弹性云服务器创建成功后,您就可以像使用自己的本地PC或物理服务器一样,使用弹性云服务器。 在制作自定义镜像时,您可以在本地环境或者ECS上完成自定义镜像制作。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格