AutoML CMD

更新时间:
复制 MD 格式

AutoML CMDAutoML的命令行接口工具,用于在本地计算机快速发起AutoML实验,或集成到业务项目中。

前提条件

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

使用限制

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

操作步骤

步骤一:创建数据集

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

    1. 登录PAI控制台

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

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

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

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

    参数

    描述

    数据集名称

    自定义数据集名称。

    从阿里云云存储创建

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

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

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

    默认挂载路径

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

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

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

步骤二 :安装命令行工具

  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实验创建成功。

  3. 查看Trial列表。

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

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

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

可通过命令获取实验详情、Trial日志或停止实验等。参数说明请参见下表。

参数

描述

<YOUR_WORKSPACE_ID>

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

<YOUR_EXP_ID>

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

<YOUR_TRIAL_ID>

需替换为对应TrialID,请前往实验详情页面的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>

常见问题

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

  • 报错信息

    (py38_mni) /mnt/workspace> automl config
    /home/pai/envs/py38_mni/bin/python3: Error while finding module specification for 'automl_client.main' (ModuleNotFoundError: No module named 'automl_client')
    (py38_mni) /mnt/workspace>
  • 解决方法

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

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

Q:提示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
  • 解决方法

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