创建及管理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. PicoRV32-on-PYNQ-Z2: An FPGA-based SoC System——RISC-V On PYNQ项目复现

    本文参考: 1️⃣ 原始工程 2️⃣ 原始工程复现教程 3️⃣ RISCV工具链安装教程 本文工程: https://bhpan.buaa.edu.cn:443/link/4B08916BF2CDB4 ...

  2. Python asyncio 库源码分析

    Python asyncio 库源码分析 前言 本着 「路漫漫其修远兮, 吾将上下而求索」 的精神.终于要开始深入研究 Python 中 asyncio 的源码实现啦. 本文章可能篇幅较长,因为是逐行 ...

  3. CF1770F Koxia and Sequence

    一步都没想到,一定是状态不好吧,一定吧一定吧? 加训数数! 题意 给定 \(n, x, y\),定义好的序列 \(\{a_i\}_{i = 1}^n\) 满足 \(\sum\limits_{i = 1 ...

  4. 前端Vue分享菜单按钮弹框、微博分享、QQ分享、微信好友、朋友圈

    前端Vue分享菜单按钮弹框.微博分享.QQ分享.微信好友.朋友圈 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13085 效 ...

  5. Kubernetes(k8s)访问控制:权限管理之RBAC鉴权

    目录 一.系统环境 二.前言 三.Kubernetes访问控制 四.鉴权简介 五.配置客户端机器 六.设置k8s集群允许所有请求访问 七.设置k8s集群拒绝所有请求访问 八.RBAC授权 8.1 ro ...

  6. 全球权威的 IT 研究公司 Gartner,发布未来五大隐私趋势

    Gartner(高德纳) 公司是全球最具权威的 IT 研究与顾问咨询公司之一,它成立于 1979 年,总部设在美国康涅狄克州斯坦福.其研究范围覆盖全部 IT 产业,包括 IT 的研究.发展.评估.应用 ...

  7. DevOps|从腾讯TEG CDC解散聊技术中台价值和建设

    近日一则腾讯TEG CDC整个部门解散的消息在很多群里炸了锅,有的唱衰互联网行业,有的唉声叹气,还有的甩锅到 AGI 的发展.总体上来说,这个事情的确已经发生了,我想从组织架构和整体效能这两方面来分析 ...

  8. 基于AidLux的自动驾驶智能预警应用方案

    ### 1. 自动驾驶感知算法及AidLux相关方案介绍 #### 1.1自动驾驶 自动驾驶汽车,又称无人驾驶车.电脑驾驶车.无人车.自驾车,是一种需要驾驶员辅助驾驶或者完全不需要操控的车辆.作为自动 ...

  9. 如何用Three.js + Blender打造一个web 3D展览馆

    作者:vivo 互联网前端团队- Wei Xing 运营活动新玩法层出不穷,web 3D炙手可热,本文将一步步带大家了解如何利用Three.js和Blender来打造一个沉浸式web 3D展览馆. 一 ...

  10. Thread 和 ThreadPool 简单梳理(C#)【并发编程系列】

    〇.前言 对于 Thread 和 ThreadPool 已经是元老级别的类了.Thread 是 C# 语言对线程对象的封装,它从 .NET 1.0 版本就有了,然后 ThreadPool 是 .Net ...