AutoML CMD

AutoML CMDAutoML的命令行接口工具,简化了用户在本地计算机上快速发起AutoML实验的过程,并且适用于集成到用户的各类业务项目中。本文为您介绍如何使用AutoML命令行工具。

前提条件

本文以在DSW Terminal中操作为例进行说明,您也可以根据实际情况选择其他服务或工具。

  • 已获取阿里云账号的鉴权AccessKey IDAccessKey Secret,详情请参见获取AccessKey

  • 开通OSS服务创建Bucket

    说明

    Bucket所属地域与PAI的地域一致。Bucket一旦创建,则无法更改其所属地域。

  • 已创建工作空间。详情请参见创建工作空间

  • 已创建DSW实例,且准备3.8及以上版本的Python环境。详情请参见创建DSW实例

使用限制

仅支持macOSLinux系统,暂不支持Windows系统。

操作步骤

步骤一:创建数据集

  1. 进入数据集管理页面。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应的工作空间。

    3. 在左侧导航栏,选择AI资产管理 > 数据集

  2. 数据集页面,单击新建数据集

  3. 创建数据集面板中,创建方式选择从阿里云云产品,并配置以下关键参数,其他参数参照控制台界面提示进行配置即可。

    参数

    描述

    数据集名称

    自定义数据集名称。

    从阿里云云存储创建

    按照以下操作步骤上传本地文件。

    1. 单击image,在选择OSS目录对话框,选择已创建的Bucket,单击上传文件

    2. 单击查看本地文件拖拽上传文件,根据提示上传文件mnist.py

    默认挂载路径

    数据的默认挂载路径。本文以/mnt/oss/为例。

    image

  4. 单击提交,完成创建。

  5. 数据集页面,单击image复制数据集ID。

    image

步骤二 :安装命令行工具

  1. 进入DSW开发环境。

    1. 登录PAI控制台

    2. 在页面左上方,选择DSW实例所在的地域。

    3. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击默认工作空间名称,进入对应工作空间内。

    4. 在左侧导航栏,选择模型开发与训练>交互式建模(DSW)

    5. 单击需要打开的实例操作列下的打开,进入DSW实例开发环境。

  2. Terminal执行如下命令,安装命令行工具。

    wget http://pai-automl.oss-cn-zhangjiakou.aliyuncs.com/release/client/install_upgrade_paiautoml.sh
    chmod +x install_upgrade_paiautoml.sh
    bash install_upgrade_paiautoml.sh
  3. 配置Config文件。

    首次使用需要添加配置文件,执行如下命令,并配置相关参数。

    automl config

    参数

    说明

    accessKeyID

    阿里云账号的鉴权AccessKey IDAccessKey Secret。

    accessKeySecret

    region

    服务或专属资源组所在的地域。本文以华东2(上海)为例,对应的regioncn-shanghai。其他地域ID,请参见地域和可用区

步骤三:启动实验配置

  1. 上传配置文件。

    将以下文件上传至DSW实例,具体操作,请参见上传与下载数据文件

  2. 配置文件。

    DSW实例的Notebook页签中,双击trial_service.ini文件,配置以下关键参数。

    参数

    描述

    data_sources

    数据集ID。

    ${data_sources}替换为步骤一创建的数据集的ID。

    workspace_id

    工作空间ID。

    替换为当前DSW实例所在工作空间的ID。详情请参见查看工作空间详情

    model_path

    保存模型的OSS路径。

    使用已创建的OSS Bucket,其中,${exp_id}${trial_id}为内置变量,不需要修改。

  3. Ctrl+S保存trial_service.ini文件。

步骤四:启动调优

DSW实例的Terminal页签执行如下命令启动调优。其中,<YOUR_WORKSPACE_ID>需要替换为当前DSW实例所在工作空间的ID,详情请参见查看工作空间详情

automl create hpo --config exp_service.yml --workspace_id <YOUR_WORKSPACE_ID>

步骤五:查看结果

  1. 进入自动机器学习(AutoML)页面。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。

    3. 在左侧导航栏,选择模型开发与训练>自动机器学习(AutoML)

  2. 查看实验。

    自动机器学习(AutoML)页面,实验状态变为FINISHED,代表AutoML实验创建成功。

    image

  3. 查看Trial列表。

    单击实验名称,进入实验详情页面,在Trial列表页签查看该实验下的Trial详情。

    image

    您也可以在模型开发与训练>分布式训练(DLC)页面查看该实验对应的训练详情。

    image

步骤六:查看超参数调优结果

您可以通过执行命令的方式,获取实验详情、获取Trail日志或停止实验等。参数说明请参见下表。

参数

描述

<YOUR_WORKSPACE_ID>

需要替换为当前DSW实例所在工作空间的ID。详情请参见查看工作空间详情

<YOUR_EXP_ID>

需要替换为已创建的实验的ID,请前往实验详情页面的基本信息页签查看。

<YOUR_TRIAL_ID>

需要替换为对应的TrailID,请前往实验详情页面的Trial列表页签查看。

  • 获取实验列表

    automl list hpo --workspace_id <YOUR_WORKSPACE_ID>
  • 获取指定实验状态

    automl info <YOUR_EXP_ID>
  • 获取实验日志

    执行如下命令,日志将被存入对应文件。

    automl log <YOUR_EXP_ID>
  • 获取Trial日志

    执行如下命令,日志将被存入对应文件。

    automl log <YOUR_EXP_ID> --trial-id <YOUR_TRIAL_ID>
  • 停止实验

    automl kill <YOUR_EXP_ID>
  • 停止Trial

    automl kill nu4jqyk --trial-id <YOUR_TRIAL_ID>

常见问题

执行automl config报错如下,应如何解决?

  • 报错信息

    image

  • 解决方法

    执行如下命令,查看是否存在automl_client文件夹。如果不存在,请重新安装AutoML CMD。

    ls -lh /home/pai/envs/py38_nni/lib/python3.8/site-packages | grep automl

提示Tea.exceptions.TeaException: Error: Forbidden.NoPermission code: 403,......,应如何解决?

  • 报错信息

    Tea.exceptions.TeaException: Error: Forbidden.NoPermission code: 403, You are not authorized to do this operation. Action: paiautoml:CreateHpoExperiment
  • 解决方法

    该报错是由于用户在当前工作空间中无使用超参数调优的权限导致,请在工作空间详情页面为该账号添加算法开发角色。具体操作,请参见管理工作空间成员

    image