创建及管理DSW实例

更新时间:2023-06-05 18:24提交缺陷

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

使用PAI-DSW建模前,您需要创建PAI-DSW实例。本文为您介绍如何创建PAI-DSW实例、管理实例及实例界面介绍。

前提条件

  • 如果首次使用PAI-DSW,则需要对相关资源进行访问授权,具体操作请参见云产品依赖与授权:DSW。
  • 已准备好DSW实例运行所需的通用训练资源或灵骏智算资源。
  • (可选)已创建完成NAS类或OSS类数据集。

    PAI-DSW为您提供临时存储,如果您想永久存储,则需要创建数据集,便于创建实例时关联此数据集。具体操作步骤,请参见创建及管理数据集。

  • 已完成身份验证配置。您可以使用环境变量、本地文件等方式配置,具体操作请参见身份验证配置。

背景信息

PAI-DSW支持通过控制台或Python SDK的方式创建实例,二者分别适用于不同的用户:

  • 通过控制台创建实例

    适用于普通开发者,您可以通过控制台管理实例。例如,在PAI-DSW中进行模型开发的开发者。

  • 通过Python SDK创建实例

    适用于需要对实例整体生命周期进行管理的开发者。例如,您需要将PAI-DSW系统中的资源整合到其他系统中,可以通过PAI-DSW的OpenAPI SDK实现。

创建实例

通过控制台创建实例。

  1. 进入DSW页面。
    1. 登录PAI控制台。
    2. 在概览页面选择目标地域。
    3. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
    4. 在工作空间页面的左侧导航栏选择模型开发与训练 > 交互式建模(DSW),进入DSW页面。
  2. 单击创建实例。
  3. 在配置实例向导页面,配置以下关键参数。
     
    参数 描述
    实例名称 参考界面提示信息配置DSW实例名称。
    资源组 支持选择:

    • 默认为通用训练资源公共资源组,支持选择CPU规格或GPU规格。
    • 支持使用通用训练资源专有资源组来创建实例。如果没有可选的专有资源组,您可以单击工作空间,为该工作空间关联通用训练资源专有资源组。
       
      说明 如果后续挂载数据集时选择CPFS文件系统,则通用训练资源选择的专有网络和交换机需要与CPFS文件系统一致,具体操作,请参见挂载CPFS。
    • 支持使用灵骏智算资源来创建实例。如果没有可选的灵骏智算资源,您可以单击工作空间,为该工作空间关联灵骏智算资源。
    数据集 实例自带系统盘用来做临时存储,停止或删除实例后,该存储清空。如果需要永久化存储,需要选择已创建的数据集进行挂载。如果没有可选的数据集,您可以通过单击创建数据集进行创建。关于如何创建数据集,详情请参见创建及管理数据集。

     
    说明

    • 数据集仅支持选择NAS类型或OSS类型。
    • 第一个数据集必须选择NAS类型数据集,且会被同时挂载到您指定的路径和DSW默认工作目录/mnt/workspace/下。
    • 多个数据集挂载的路径不能重复。
    选择镜像 支持选择以下镜像:

    • 官方镜像:预置的官方镜像,覆盖Python、TensorFlow及PyTorch多个版本。
    • 用户自定义镜像:支持选择已创建的自定义镜像。关于如何添加自定义镜像,详情请参见查看并添加镜像。
    • 镜像URL:输入公共可访问的镜像公网地址,使用该镜像。您也可以直接填入当前region下ACR个人版中镜像的公网地址。
    专有网络 仅资源组选择公共资源组时,支持配置该参数。

    支持在VPC内使用PAI-DSW。您必须同时配置专有网络、交换机及安全组。

    您可以直接选择已经创建的专有网络进行挂载,或单击专有网络后的创建专有网络进行创建。

    交换机 如果配置了专有网络,则必须同时配置交换机和安全组。

    您可以直接选择已经创建的交换机和安全组进行挂载,或单击创建交换机和创建安全组进行创建。

    安全组
  4. 单击下一步。
    如果没有配置数据集,会弹出数据集未选择对话框。如果无需配置数据集,单击继续提交,继续下一步操作;如果您需要重新配置数据集,单击返回编辑,在配置实例向导页面,添加数据集即可。
  5. 在确认订单配置向导页面,确认所选配置,勾选服务协议,单击创建实例。
通过Python SDK创建实例:
  1. 安装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
  2. 创建一个PAI-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) # 使用查询到的第一个结果作为后续操作的workspace,您可以按需切换或者直接指定一个字符串类型的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实例的基础信息和实例配置。您也可以做以下变更配置。
    • 在基础信息区域,修改实例名称。
    • 在实例配置区域,单击变更配置,您可以修改资源信息、镜像信息、数据集配置或网络配置。

实例界面介绍

实例创建完成后,您可以单击操作列下的打开,进入DSW实例界面。DSW实例界面主要包括以下三部分:

  • Jupyterlab

     
    功能区编号 描述
    ① 顶部菜单栏。
    ② 左侧工具栏。
    ③ 工具内容。
    ④ 主工作区。
    ⑤ 资源水位。
  • WebIDE
     
    功能区编号 描述
    ① 左侧工具栏。
    ② 工具内容。
    ③ 主工作区。
    ④ 资源水位。
  • TermInal
     
    功能区编号 描述
    ① 主工作区。
    ② 资源水位。
 
 

创建及管理DSW实例的更多相关文章

  1. OCM_第十六天课程:Section7 —》GI 及 ASM 安装配置 _安装 GRID 软件/创建和管理 ASM 磁盘组/创建和管理 ASM 实例

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  2. 在EntityFramework6中管理DbContext的正确方式——4DbContextScope:一个简单的,正确的并且灵活的管理DbContext实例的方式(外文翻译)

    (译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gu ...

  3. 初学C#和MVC的一些心得,弯路,总结,还有教训(4)--Cache 关于创建多个缓存实例

    asp.net中的数据缓存可以用 HttpRuntime.Cache ,这个是大家都知道的,但如果缓存的数据比较多,又比较杂乱,想要把缓存分开管理(也就是创建多个缓存实例)应该怎么做呢... 于是常规 ...

  4. 利用mysql_multi来管理多实例:

    mysql_multi的现实意义: 1:随着连接数上升,性能会下降,通过多实例来分流大量连接来提高性能. 2:做资源隔离 3:分库分表 mysql_multi是官方管理多实例的一个脚本,利用perl语 ...

  5. php版redis插件,SSDB数据库,增强型的Redis管理api实例

    php版redis插件,SSDB数据库,增强型的Redis管理api实例 SSDB是一套基于LevelDB存储引擎的非关系型数据库(NOSQL),可用于取代Redis,更适合海量数据的存储.另外,ro ...

  6. 利用mysqld_multi启动管理多实例

    利用mysqld_multi启动管理多实例 官方管理多实例的一个脚本peer #将之前的目录清空 [root@mysql01 mysql]# tree /data/mysql/ /data/mysql ...

  7. 使用 HPC Pack 为 Azure 中的 Windows HPC 工作负荷创建和管理群集的选项

    利用 Microsoft HPC Pack 和 Azure 的计算与基础结构服务,创建和管理基于云的高性能计算 (HPC) 群集. HPC Pack 是在 Azure 和 Windows Server ...

  8. 在kubernetes集群中创建redis主从多实例

    分类 > 正文 在kubernetes集群中创建redis主从多实例 redis-slave镜像制作 redis-master镜像制作 创建kube的配置文件yaml 继续使用上次实验环境 ht ...

  9. Django项目创建与管理

    1.主题 这部分教程主要介绍如何通过Pycharm创建.管理.运行一个Django工程.对于Django模块的相关知识大家可以参考Python社区. 2.准备环境 Django版本为2.0或更高 Py ...

  10. 教你管理SQL实例系列(1-15)

    全系列转自:51CTO ->jimshu http://jimshu.blog.51cto.com 目录及原本连接如下: 教你管理SQL实例(1)数据库实例 教你管理SQL实例(2)服务启动帐户 ...

随机推荐

  1. 4. SpringMVC获取请求参数

    1. 通过 ServletAPI 获取 ‍ 将 HttpServletRequest 作为控制器方法的形参 , 此时 HttpServletRequest 类型的参数表示封装了当前请求的请求报文的对象 ...

  2. 西门子S7系列PLC以太网通讯处理器编程调试方法

    捷米特(北京)科技有限公司研发的捷米特以太网通讯模块,转以太网通讯模块型号有ETH-S7200-JM01和ETH-S7300-JM01,适用于西门子S7-200/S7-300/S7-400.SMART ...

  3. ENVI实现QUAC、简化黑暗像元、FLAASH方法的遥感影像大气校正

    本文介绍基于ENVI软件,实现对Landsat 7遥感影像加以预处理与多种不同大气校正方法的操作. 目录 1 数据导入与辐射定标 2 波段合成 3 编辑头文件 4 转换文件格式 5 QUAC快速大气校 ...

  4. 即构SDK9月迭代:外部采集、音频频谱、房间附加消息等多个模块功能上新

    即构SDK9月迭代来了,本月SDK在外部采集.音频频谱.房间附加消息等多个功能模块均有新功能上线,并且还针对K歌音乐场景下,优化了变调功能效果.以下是详细的迭代内容: LiveRoom   新增 1. ...

  5. T-star高校挑战赛部分wp

    web-1签到 checkin还是很基础的 网站上传存在js检测,禁用js即可上传 写PHP一句话木马上传,http://588f25a5.yunyansec.com/upload/test.php连 ...

  6. CSP-S复习列表

    DP:序列,区间,背包,多维,状压,树型 优化:滚动,单调性,树状数组 数据结构:栈,队,链,deque,priority_queue,vector,set,map 树状数组,分块思想 前缀和,差分思 ...

  7. Cilium系列-9-主机路由切换为基于 BPF 的模式

    系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, ...

  8. 【动画进阶】神奇的 3D 磨砂玻璃透视效果

    最近,群友分享了一个很有意思的效果: 原效果的网址:frosted-glass.该效果的几个核心点: 毛玻璃磨砂效果 卡片的 3D 旋转跟随效果 整体透明度和磨砂感.以及卡片的 3D 形态会随着用户移 ...

  9. javascript创建数组

    javascript数组:var array=[ ]等于创建一个数组 array[0]代表给数组的第一个位置上赋值,值为32 array[5]代表给数组的第六位置上赋值.值为3 在位置0,1,2,5位 ...

  10. docker swarm 使用详解

    转载请注明出处: 1.docker swarm 的组成架构 一个基本的docker swarm 的架构如下: 它主要包含这几个核心组件: Manager节点(Manager Nodes): 管理节点是 ...