更新时间:2025-03-04 gmt 08:00

使用pycharm toolkit创建并调试训练作业-九游平台

由于ai开发者会使用pycharm工具开发算法或模型,为方便快速将本地代码提交到modelarts的训练环境,modelarts提供了一个pycharm插件工具pycharm toolkit,协助用户完成ssh远程连接notebook、代码上传、提交训练作业、将训练日志获取到本地展示等,用户只需要专注于本地的代码开发即可。

本章节介绍如何使用pycharm toolkit插件创建训练作业并调试。

前提条件

  • step1 下载并安装pycharm toolkit
  • 在本地pycharm中已有训练代码工程。
  • 已在obs中创建桶和文件夹,用于存放数据集和训练输出模型。 例如:创建命名为“test-modelarts2”的桶,创建文件夹“dataset-mnist”“mnist-output”。训练作业使用的数据已上传至obs,且obs与modelarts在同一区域。

配置训练作业参数

  1. 在pycharm中,打开训练代码工程和训练启动文件,然后在菜单栏中选择“modelarts > training job > new...
    图1 选择作业配置
  2. 在弹出的对话框中,设置训练作业相关参数,详细参数说明请参见表1
    表1 训练作业配置参数说明

    参数

    说明

    job name

    训练作业的名称。

    系统会自动生成一个名称,您可以根据业务需求重新命名,命名规则如下:

    • 支持1~64位字符。
    • 并包含大小写字母、数字、中划线(-)或下划线(_)。

    job description

    训练作业的简要描述。

    algorithm source

    训练算法来源,分为“常用框架”“自定义镜像”两种,二者选一项即可。

    常用框架指使用modelarts训练管理中支持的常用ai引擎,当前支持的引擎列表请参见modelarts支持的预置镜像列表

    如果您使用的ai引擎为支持列表之外的,建议使用自定义镜像的方式创建训练作业。

    ai engine

    选择代码使用的ai引擎及其版本。支持的ai引擎与modelarts管理控制台里modelarts支持的预置镜像列表一致。

    boot file path

    训练启动文件,所选启动文件必须是当前pycharm训练工程中的文件。当“algorithm source”“frequently-used”时,显示此参数。

    code directory

    训练代码目录,系统会自动填写为训练启动文件所在的目录,用户可根据需要修改,所选目录必须是当前工程中的目录且包含启动文件。

    当算法来源为自定义镜像,训练代码已预置在镜像中时,该参数可以为空。

    image path(optional)

    swr镜像的url地址,例如swr.cn-north-4.myhuaweicloud.com/image-org/image-name:version。关于自定义镜像的说明,请参见自定义镜像介绍

    boot command

    启动本次训练作业的运行命令。例如“bash /home/work/run_train.sh python {python启动文件及参数}”。当“algorithm source”“custom”时,显示此参数。

    当用户输入的命令中不包含“--data_url”“--train_url”参数时,工具在提交训练作业时会在命令后面自动添加这两个参数,分别对应存储训练数据的obs路径和存放训练输出的obs路径。

    data obs path

    设置为存储训练数据的obs路径,例如“/test-modelarts2/mnist/dataset-mnist/”,其中“test-modelarts2”为桶名称。

    training obs path

    设置obs路径,该路径下会自动创建用于存放训练输出模型和训练日志的目录。

    running parameters

    运行参数。如果您的代码需要添加一些运行参数,可以在此处添加,多个运行参数使用英文分号隔开, 例如"key1=value1;key2=value2"。此参数也可以不设置,即保持为空。

    specifications

    训练使用资源类型。目前支持公共资源池和专属资源池两种类型。

    专属资源池规格以“dedicated resource pool”标识。只有购买了专属资源池的用户才会显示专属资源池规格。

    compute nodes

    计算资源节点个数。数量设置为1时,表示单机运行;数量设置大于1时,表示后台的计算模式为分布式。

    available/total nodes

    “specifications”选择专属资源池规格时,显示专属资源池的可用实例数和总实例数,用户选择“compute nodes”的个数不要超过可用实例数。

    图2 配置训练作业参数(公共资源池)
    图3 配置训练作业参数(专属资源池)
    图4 配置训练作业参数(自定义镜像)
  3. 参数填写完成后,单击“apply and run”,即自动上传本地代码至云端并启动训练,在工具下方的training log区域,会实时展示训练作业运行情况。当训练日志中出现“current training job status: successful”类似信息时,表示训练作业运行成功。
    • 在单击“apply and run”按钮后,系统将自动开始执行训练作业。如果您想停止此作业,可以选择菜单栏中的modelarts > training job >stop停止此作业。
    • 如果单击“apply”,不会直接启动运行,只是保存训练作业的设置,如果需要启动作业,可以单击“apply and run”。
    图5 训练日志展示样例

停止作业

当训练作业在运行过程中时,您可以在pycharm菜单栏中,选择“modelarts >training job > stop ”停止训练作业。

图6 停止作业

查看训练日志

查看训练日志有2种方式,在obs查看和在pycharm toolkit工具中查看。

  • 在obs查看训练日志

    提交训练作业时,系统将自动在您配置的obs path中,使用作业名称创建一个新的文件夹,用于存储训练输出的模型、日志和代码。

    例如“train-job-01”作业,提交作业时会在“test-modelarts2”桶下创建一个命名为“train-job-01”的文件夹,且此文件夹下分别新建了三个文件夹“output”“log”“code”,分别用于存储输出模型、日志和训练代码。“output”文件夹还会根据您的训练作业版本再创建子文件夹,结构示例如下。
    test-modelarts2
        |---train-job-01
             |---output 
             |---log
             |---code
  • 在pycharm toolkit工具中查看训练日志

    在pycharm toolkit工具中,单击页面右下角的modelarts training log,展示训练日志。

    图7 查看训练日志

相关文档

网站地图