在使用DSW建模前,您需要创建DSW实例。本文为您介绍如何创建DSW实例、管理实例及实例界面的介绍。
背景信息
DSW支持通过控制台或Python SDK的方式创建实例,二者分别适用于不同的用户:
-
通过控制台创建实例
适用于普通开发者,您可以通过控制台管理实例,例如,在DSW中进行模型开发的开发者。
-
通过Python SDK创建实例
适用于需要对实例整体生命周期进行管理的开发者。例如,您需要将DSW系统中的资源整合到其他系统中,可以通过DSW的OpenAPI SDK实现。
前提条件
-
如果是首次使用DSW,则需要对相关资源进行访问授权,具体操作请参见云产品依赖与授权:DSW。
-
已准备好DSW实例运行所需的通用训练资源或灵骏智算资源。
-
您需要为DLC服务关联角色授权。关联完成后,您即可使用公共资源组。具体操作请参见云产品依赖与授权:DLC。
-
如果您想使用专有资源,您需要准备专有资源组工作集群。具体操作,请参见新建及管理通用计算资源。
-
如果您想使用灵骏智算资源,您需要购买相应的灵骏智算资源。具体操作,请参见灵骏智算资源概述。
-
-
(可选)已创建完成NAS或OSS类型数据集。
当使用公共资源组创建DSW实例时,DSW为您提供的默认云盘存储空间有限,您可以通过挂载数据集来扩展实例存储空间。当使用专有资源组创建DSW实例时,DSW实例则提供非持久化的本地存储,您可以通过挂载数据集来实现持久化存储。具体操作,请参见创建及管理数据集。
-
当使用Python SDK创建DSW实例时,需要进行身份验证配置。您可以使用环境变量、本地文件等方式进行配置。具体操作,请参见身份验证配置。
创建实例
通过控制台创建实例。
-
进入DSW页面。
-
登录PAI控制台。
-
在概览页面选择目标地域。
-
在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
-
在工作空间页面的左侧导航栏选择模型开发与训练 > 交互式建模(DSW),进入DSW页面。
-
-
单击创建实例。
-
在配置实例向导页面,配置以下关键参数。
-
默认为通用训练资源公共资源组,支持选择CPU规格或GPU规格。在配置实例向导页面,您可以查看并选择创建DSW实例支持使用的规格类型。关于各规格类型的指标数据的更多详细介绍,请参见实例规格族。
-
支持使用通用训练资源专有资源组来创建实例。如果没有可选的专有资源组,您可以单击工作空间,为该工作空间关联通用训练资源专有资源组。
-
支持使用灵骏智算资源来创建实例。如果没有可选的灵骏智算资源,您可以单击工作空间,为该工作空间关联灵骏智算资源。
-
当资源组选择公共资源组时:
-
系统盘:为每个按量付费实例赠送免费云盘做为持久化存储。如果该实例停机超过15天未开机,云盘的内容将被清空。
-
GPU规格:免费赠送100 GB。
-
CPU规格:免费赠送30 GB。
-
-
共享数据集:由于默认提供的云盘存储空间有限,您可以单击共享数据集并选择要挂载的数据集来扩展实例存储空间。目前支持挂载OSS、NAS和CPFS类型的数据集。如果没有可选的数据集,您可以单击创建数据集进行创建。关于如何创建数据集,详情请参见创建及管理数据集。
-
-
当资源组选择专有资源组时:
实例自带的系统盘用于临时存储,在停止或删除实例后,存储将被清空。如果需要永久性存储,可以单击共享数据集并选择已创建的数据集进行挂载。如果没有可选的数据集,您可以单击创建数据集进行创建。关于如何创建数据集,详情请参见创建及管理数据集。
-
多个数据集挂载的路径不能重复。
-
如果配置了CPFS类型的数据集,则需要设置网络配置,且选择的专有网络需要与CPFS一致。否则,DSW实例可能会创建失败。
-
当资源组选择专有资源组时,第一个数据集必须选择NAS类型数据集,且会被同时挂载到您指定的路径和DSW默认工作目录/mnt/workspace/下。
-
官方镜像:预置的官方镜像,覆盖Python、TensorFlow和PyTorch的多个版本。
-
用户自定义镜像:支持选择已创建的自定义镜像。关于如何添加自定义镜像,详情请参见查看并添加镜像。
-
镜像URL:输入公共可访问的镜像公网地址,使用该镜像。您也可以直接填入当前region下ACR个人版中镜像的公网地址。
-
启用所有选项:默认为关闭,系统会禁用与CPFS类型的数据集不通的专有网络。
-
隐藏禁用选项:选中复选框,系统会隐藏与CPFS类型的数据集不通的专有网络。
-
建议不配置VPC专有网络,除非有特殊情况需要。
-
如果存储配置选择了CPFS类型的数据集,则需要配置专有网络,且选择的专有网络需要与CPFS一致。
-
公有网关:集群中的DSW实例使用共享的公网带宽,在用户高并发时下载速度会比较慢。
-
专有网关:独享带宽,您可以根据需求选择不同的带宽。选择该方式后,您需要为DSW实例关联的专有网络创建公网NAT网关、绑定EIP并配置SNAT条目。具体配置方法,请参见配置DSW实例通过专有公网网关访问公网。
-
在确认订单配置向导页面,确认所选配置,勾选服务协议,单击创建实例。
参数 |
描述 |
实例名称 |
参考界面提示信息配置DSW实例名称。 |
资源组 |
支持选择: |
存储配置 |
说明 |
选择镜像 |
支持选择以下镜像: |
网络配置 |
仅当资源组选择公共资源组时,支持配置该参数。 支持在VPC内使用DSW。您必须同时配置专有网络、交换机和安全组。 您可以直接选择已经创建的专有网络进行挂载,或者单击专有网络后的创建专有网络进行创建。 当存储配置选择了CPFS类型的数据集时,支持配置以下两个参数: 说明 公网访问网关支持以下两种配置方法: |
通过Python SDK创建实例:
-
安装Python SDK。
# 工作空间SDK安装。 pip install alibabacloud-aiworkspace20210204 -U -q # DSW SDK安装。 pip install alibabacloud_pai_dsw20220101 -U -q # OpenAPI依赖。 pip install alibabacloud_tea_openapi -U -q # 预付费资源组查询SDK安装。 pip install https://sdk-portal-us-prod.oss-accelerate.aliyuncs.com/downloads/u-b8602de7-c468-436c-8a02-2eca4a30d376-python-paistudio.zip -U -q
-
创建一个DSW实例。
创建实例的代码示例如下所示。
from alibabacloud_credentials.client import Client as CredClient from alibabacloud_pai_dsw20220101.client import Client as DSWClient from alibabacloud_aiworkspace20210204.client import Client as AIWorkspaceClient from alibabacloud_aiworkspace20210204.models import (ListWorkspacesRequest, ListImagesRequest, ListDatasetsRequest, ListResourcesRequest) from alibabacloud_pai_dsw20220101.models import (ListInstancesRequest, ListEcsSpecsRequest, CreateInstanceRequest, StopInstanceRequest, CreateInstanceShutdownTimerRequest, CreateInstanceRequestRequestedResource, CreateInstanceSnapshotRequest, ListInstanceSnapshotRequest, GetInstanceMetricsRequest, CreateIdleInstanceCullerRequest) from alibabacloud_tea_openapi.models import Config as AliyunConfig from alibabacloud_tea_openapi.client import TeaException # 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。 # 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码中,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。 # 本示例通过Credentials SDK默认从环境变量中读取AccessKey进行身份验证。 region_id = 'cn-beijing' # Region,可以是cn-hangzhou、cn-shanghai、cn-shenzhen等。 cred = CredClient() # client config。 workspace_client = AIWorkspaceClient( config=AliyunConfig( credential=cred, region_id=region_id, endpoint="aiworkspace.{}.aliyuncs.com".format(region_id), ) ) dsw_client = DSWClient( config=AliyunConfig( credential=cred, region_id=region_id, endpoint='pai-dsw.{}.aliyuncs.com'.format(region_id), ) ) # 定义一个用来显示DSW实例信息的Helper函数。 def show_instance(instance_id): instance = dsw_client.get_instance(instance_id=instance_id).body print(instance.status, instance.instance_name, instance.ecs_spec, instance.accumulated_running_time_in_ms) # 查询一个已经存在的工作空间(Workspace)的属性和ID。 workspace_name = '**已有的AI工作空间名称**' # 获取工作空间列表。 workspaces = workspace_client.list_workspaces(ListWorkspacesRequest( page_number=1, page_size=10, workspace_name=workspace_name, # 模糊匹配,如果未指定名称,则返回所有workspace。 )) if len(workspaces.body.workspaces) == 0: raise RuntimeError('请指定正确的workspace_name') for workspace in workspaces.body.workspaces: print(workspace.workspace_name, workspace.workspace_id, workspace.status, workspace.creator) # 使用查询到的第一个结果作为后续操作的工作空间,您可以按需切换或者直接指定一个字符串类型的ID。 workspace_id = workspaces.body.workspaces[0].workspace_id # 获取镜像列表,可以使用labels进行过滤。 images = workspace_client.list_images(ListImagesRequest( page_size=100, #workspace_id=workspace_id, #不指定workspace_id则意味着查询所有PAI平台内置的镜像 labels=','.join(['system.supported.dsw=true', #'system.framework=tensorflow', #指定pytorch或者tensorflow 'system.pythonVersion=3.6', ]), verbose=True # verbose=True会列出更加详细的信息,包括labels )) # 可以查看所有可用的镜像。 for image in images.body.images: print(image.image_id, image.image_uri) # 获得用于提交任务所使用的镜像,这里取第一个作为示例。 image_uri = images.body.images[0].image_uri print('image_uri', image_uri) # 获取DSW的节点规格列表。 try: resp = dsw_client.list_ecs_specs(ListEcsSpecsRequest(accelerator_type='CPU', # CPU 或者 GPU )).body except TeaException as t: print("List ECS Specs failed:", t.message) else: for spec in resp.ecs_specs: print(spec.instance_type + ", CPU: " + str(spec.cpu) + ", Memory: " + str(spec.memory)) # 获得用于提交任务的节点规格。 ecs_spec = resp.ecs_specs[0].instance_type print('Selected ecs_spec:', ecs_spec) # 创建DSW实例。 request = CreateInstanceRequest(instance_name="Test_From_SDK_1", ecs_spec=ecs_spec, workspace_id=workspace_id, #image_id='', #可以指定工作空间中的镜像的ID,但是与image_url只能指定一个参数 image_url=image_uri) try:vi ins_resp = dsw_client.create_instance(request) except TeaException as t: print('创建实例失败,错误消息:' + t.message) else: instance_id = ins_resp.body.instance_id print("Created Instance ID:", instance_id) show_instance(instance_id)
关于更多接口的说明,请参见API参考。
管理实例
您可以按照下图操作指引,管理DSW实例。
警告
使用专有资源组创建的DSW实例如果未挂载数据集,将使用实例自带的系统盘作为临时存储,那么停止或删除DSW实例后相关数据将被删除且无法恢复,请谨慎操作。
-
您可以将鼠标悬浮到①位置,来查看实例详情、资源类型详情及DSW实例状态变化的时间记录。
-
自动停止设置:在自动停止设置对话框中,您可以打开启用自动停止开关,并设置自动停止时间,在指定的时间到达时,系统会自动停止DSW实例。
-
保存镜像:您可以按照界面操作指引,将DSW实例保存到个人版ACR中或企业版ACR中,后续您可以直接使用该镜像。
-
单击DSW实例名称,进入实例详情页面,您可以在该页面查看DSW实例的基础信息和实例配置。您也可以进行以下配置变更。
-
在基础信息区域,修改实例名称。
-
在实例配置区域,单击变更配置,您可以修改资源信息、镜像信息、数据集配置或网络配置。
-
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/163704.html