云服务器内容精选

  • 步骤2:使用PyCharm进行本地开发调试 下载代码至本地。 本案例中,以图像分类模型resnet50模型为例,路径为“./models/official/cv/resnet/” # 在本地电脑Terminal下载代码至本地 git clone https://gitee.com/mindspore/models.git -b v1.5.0 图3 下载代码至本地 配置本地PC开发环境。 修改“models/official/cv/resnet/requirements.txt”文件,改为: numpy==1.17.5 scipy==1.5.4 easydict==1.9 执行pip命令安装: # 在PyCharm的Terminal安装mindspore pip install mindspore==1.7.0 --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple # 在PyCharm的Terminal安装resnet依赖 pip install -r .\official\cv\resnet\requirements.txt --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple 图4 安装resnet依赖 准备数据集。 本样例使用的数据集为类别数为五类的花卉识别数据集,下载数据集并解压数据到工程目录。新建dataset文件夹,将解压后数据集保存在dataset文件夹下。 图5 准备数据集 配置PyCharm解释器和入参。 单击右上角“Current File”,选择“Edit Configuration”,打开“Run/Debug Configuration”对话框。在对话框中单击“+”,选择“Python”。 图6 前往PyCharm解释器 “Script path”选择train.py文件,“Parameters”命令如下所示,并选择Python解释器,然后单击“OK”: --net_name=resnet50 --dataset=imagenet2012 --data_path=../../../dataset/flower_photos/ --class_num=5 --config_path=./config/resnet50_imagenet2012_config.yaml --epoch_size=1 --device_target="CPU" 图7 配置PyCharm解释器 根据README说明文档,配置Parameter参数device_target="CPU"表示CPU环境运行,device_target="Ascend"表示在Ascend环境运行。 本地代码开发调测。 一般本地CPU算力较低并且内存较小,可能出现内存溢出的报错,因此可以把“models/official/cv/resnet/config/resnet50_imagenet2012_config.yaml”的“batch_size”由“256”改为“32”,使得训练作业可以快速运行。 图8 修改batch_size AI开发过程中的数据集开发及模型开发是和硬件规格无关的,而且这一部分的开发耗时是最长的,因此可以先在本地PC的CPU环境进行数据集和模型开发调试。 本例中,因为样例代码已经支持在CPU上进行训练,因此用户能够在CPU上完成整个训练流程。如果代码只支持在GPU或者Ascend上训练,那么可能会报错,需要使用Notebook进行云端调试。 设置断点后单击“调试”,可实现代码逐步调试,查看中间变量值。 图9 “调试”按钮 图10 通过设置断点实现代码调试 可单击“运行”按钮,通过日志观察是否能正常训练。 图11 “运行”按钮 图12 训练日志
  • 准备工作 本地已安装2019.2-2023.2之间(包含2019.2和2023.2)版本的PyCharm专业版工具,推荐Windows版本,社区版或专业版均可,请单击PyCharm工具下载地址获取工具并在本地完成安装。 使用PyCharm ToolKit远程连接Notebook开发环境,仅限PyCharm专业版。 使用PyCharm ToolKit提交训练作业,社区版和专业版都支持。 已 注册华为账号 并开通华为云,且在使用ModelArts前检查账号状态,账号不能处于欠费或冻结状态。 已创建当前使用账号的访问密钥,并获得对应的AK和SK。如果未创建,请参见创建访问密钥(AK和SK)。 当前账号已完成访问授权的配置。如未完成,请参考使用委托授权。
  • 响应消息 表5 响应参数 参数 参数类型 描述 id String 环境ID。 name String 环境名称。 alias String 环境别名。 description String 环境描述。 project_id String 项目ID。 enterprise_project_id String 企业项目ID。 charge_mode String 收费模式。 deploy_mode String 环境类型。 virtualmachine:虚拟机。 container:Kubernetes。 mixed :虚拟机和Kubernetes。 vpc_id String 虚拟私有云ID。 base_resources Array of objects 基础资源,请参考表6,返回为空。 optional_resources Array of objects 可选资源,请参考表6,返回为空。 creator String 创建人。 create_time Integer 创建时间。 update_time Integer 修改时间。 表6 resources 参数 参数类型 描述 id String 资源ID。 name String 资源名称。 type String 基础资源:cce、ecs、as。 可选资源:rds、dcs、elb、cse等其他类型。
  • 响应示例 { "id": "00078e9d-a61c-476e-ac63-a10c9cb2638e", "name": "development-env", "alias": null, "description": "", "project_id": "e7d2e9c589e5445e808a8ff0d1235aca", "enterprise_project_id": "0", "charge_mode": "provided", "deploy_mode": "container", "vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ], "optional_resources": [ { "id": "default", "type": "cse" } ], "creator": "ss-test", "create_time": 1610418873730, "update_time": 1610418873730 }
  • 请求示例 创建一个名称为development-env的“虚拟机”类型的环境,环境所在VPC的id为29d55020-ae0e-4a18-871c-93e6976ee7bd。 { "name": "development-env", "description": "", "charge_mode": "provided", "deploy_mode": "container", "vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ], "optional_resources": [ { "id": "default", "type": "cse" } ] }
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json”。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种。如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 环境名称。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,英文字母不区分大小写,长度为2~64个字符。 alias 否 String 环境别名。 最大长度为64个字符。 deploy_mode 是 String 指定环境类型。 virtualmachine:虚拟机。 container:Kubernetes。 mixed :虚拟机和Kubernetes。 description 否 String 环境描述。 最大长度为128个字符。 enterprise_project_id 否 String 企业项目ID。 charge_mode 否 String 收费模式,支持provided、on_demanded、monthly。默认provided,表示使用用户提供的已有资源,无需收费。on_demanded表示按需收费,monthly表示包月收费。 vpc_id 是 String 虚拟私有云ID。 base_resources 是 Array of objects 基础资源,请参考表4。 optional_resources 否 Array of objects 可选资源,请参考表4。 表4 resources 参数 是否必选 参数类型 描述 id 是 String 资源ID。 type 是 String 基础资源:cce、ecs、as。 可选资源:rds、dcs、elb、cse等其他类型。 name 否 String 资源名称。
  • 更多操作 表2 相关操作 操作 说明 修改环境信息 单击环境信息管理3.0列表操作列的“修改”,在弹出的窗口中重新选择环境,单击“确定”,修改环境信息。 删除环境信息 单击环境信息管理3.0列表操作列的“删除”,在弹出的提示框中单击“确定”,删除环境信息。 同步 单击环境信息管理3.0列表操作列的“同步”,在弹出的提示框中单击“确定”,将部署服务下服务环境管理中的环境信息同步至微服务平台。 撤销同步 单击环境信息管理3.0列表操作列的“撤销同步”,在弹出的提示框中单击“确定”,撤销同步的环境信息。
  • 录入企业项目 进入AppStage运维中心。 将鼠标悬停在右上角的账号,选择下拉列表中的“服务环境配置”,选择左侧导航栏的“服务关联”。 在项目配置区域,单击“新增”。 新增项目配置,具体参数如表1所示。 表1 项目配置参数 名称 说明 部门 选择已录入的部门。 产品 选择已录入的产品。 服务 选择已录入的服务。 华为公有云账号名 选择用户的华为账号名。 类型 关联项目:关联已有的公有云EPS。 关联且新增项目:在公有云EPS创建一个新项目,同时进行关联。 企业项目名称 关联项目时,选择已有的公有云EPS。 关联且新增时,填写创建的企业项目名称。 单击“确定”。
  • 请求示例 https://{endpoint}/v2/applications/8ddf0566c1784da29faac80516fa8425/environments/54e5b8b0d10148cc96142ac9d6c1c1f6/permissions { "permission_name" : "can_deploy", "permission_value" : true, "role_id" : "e72b8cebe2c6499db2b23276b3820736" }
  • 响应示例 状态码: 200 OK { "status" : "success", "result" : { "region" : "region", "id" : null, "name" : null, "role_id" : "0", "devuc_role_id_list" : null, "environment_id" : "be3e9690d6f64b23b54e79cd02c4b156", "can_view" : true, "can_edit" : true, "can_delete" : true, "can_deploy" : true, "can_manage" : true, "create_time" : null, "update_time" : null, "role_type" : "environment-creator" } }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 status String 请求成功失败状态 result DevUcEnvironmentPermission object 更新后的环境权限信息 表5 DevUcEnvironmentPermission 参数 参数类型 描述 id Integer 权限id role_id String 角色id devuc_role_id_list Array of strings 角色id列表 role_type String 角色类型, environment-creator: 环境创建者; project: 项目管理员;template-customized-inst:系统角色; template-project-customized、project-customized:自定义角色 name String 角色名称 region String 局点信息 environment_id String 环境id can_view Boolean 是否有查看权限 can_edit Boolean 是否有编辑权限 can_delete Boolean 是否有删除权限 can_deploy Boolean 是否有部署权限 can_manage Boolean 是否有权限管理权限 create_time String 创建时间 update_time String 修改时间
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式) X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 表3 请求Body参数 参数 是否必选 参数类型 描述 role_id 否 String 角色id permission_name 否 String 权限名称,can_view:查看权限;can_edit:编辑权限;can_delete:删除权限;can_deploy:部署权限;can_manage:权限管理权限 permission_value 否 Boolean true 有权限,false 无权限
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式) X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 表3 请求Body参数 参数 是否必选 参数类型 描述 name 否 String 环境名称 description 否 String 环境描述信息
  • 场景描述 本文旨在指导如何在Snt9b裸金属服务器上,进行磁盘合并挂载、安装docker等环境配置。在配置前请注意如下事项: 首次装机时需要配置存储、固件、驱动、网络访问等基础内容,这部分配置尽量稳定减少变化。 裸机上的开发形式建议开发者启动独立的Docker容器作为个人开发环境。Snt9b的裸机包含8卡算力资源,一般来说多人可以共用这个裸机完成开发与调测工作。多人使用为了避免冲突,建议各自在自己的docker容器中进行独立开发,并提前规划好每个人使用的具体卡号,避免相互影响。 ModelArts提供了标准化基础容器镜像,在容器镜像中已经预置了基础MindSpore或PyTorch框架和开发调测工具链,推荐用户直接使用该镜像,用户也可以使用自己的业务镜像或昇腾AscendHub提供的镜像。如果镜像中预置的软件版本不是您期望的版本,可以自行安装替换。 开发形式推荐通过容器中暴露的SSH端口以远程开发的模式(VSCode SSH Remote、 Xshell)连接到容器中进行开发,可以在容器中挂载宿主机的个人存储目录,用于存放代码和数据。 当前指导中很多操作步骤在最新发放的Snt9b裸机环境中已经预置,无需用户再手动配置,用户在操作中如发现某个步骤已有预置配置可直接跳过该步骤。
  • 请求示例 如下以创建名为“notebook-instance”,配置ID为“Python3-gpu”的实例为例。 请求示例 { "name": "notebook-instance", "description": "", "profile_id": "Multi-Engine 1.0 (python3)-gpu", "flavor": "modelarts.bm.gpu.v100NV32", "spec": { "storage": { "location": { "volume_size": 5 }, "type": "evs" }, "auto_stop": { "enable": true, "duration": 3600 } }, "workspace": { "id": "0" } }