文档首页/ AI开发平台ModelArts/ 常见问题/ Standard训练作业/ 编写训练代码/ 训练模型时引用依赖包,如何创建训练作业?
更新时间:2024-10-28 GMT+08:00

训练模型时引用依赖包,如何创建训练作业?

ModelArts支持训练模型过程中安装第三方依赖包。在训练代码目录下放置“pip-requirements.txt”文件后,在训练启动文件被执行前系统会执行如下命令,以安装用户指定的Python Packages。

pip install -r pip-requirements.txt

仅使用预置框架创建的训练作业支持在训练模型时引用依赖包。

pip-requirements.txt文件命名支持以下4种格式,文档中以pip-requirements为例说明。

  • pip-requirement.txt
  • pip-requirements.txt
  • requirement.txt
  • requirements.txt

在代码目录下提供安装文件

  • 如果使用“我的算法”创建训练作业,则在创建算法时,可以把相关文件放置在配置的“代码目录”下,算法的“启动方式”必须选择“预置框架”
  • 如果使用“自定义算法”创建训练作业,则可以把相关文件放置在配置的“代码目录”下,“启动方式”必须选择“预置框架”

需要在创建训练作业前将相关文件上传至OBS路径下,文件打包要求请参见安装文件规范

安装文件规范

请根据依赖包的类型,在代码目录下放置对应文件:

  • 依赖包为开源安装包时

    暂时不支持直接从github的源码中安装。

    “代码目录”中创建一个命名为“pip-requirements.txt”的文件,并且在文件中写明依赖包的包名及其版本号,格式为“包名==版本号”

    例如,“代码目录”对应的OBS路径下,包含模型文件,同时还存在“pip-requirements.txt”文件。“代码目录”的结构如下所示:

    |---模型启动文件所在OBS文件夹
         |---model.py               #模型启动文件。
         |---pip-requirements.txt   #定义的配置文件,用于指定依赖包的包名及版本号。

    “pip-requirements.txt”文件内容如下所示:

    alembic==0.8.6
    bleach==1.4.3
    click==6.6
  • 依赖包为whl包时

    如果训练后台不支持下载开源安装包或者使用用户编译的whl包时,由于系统无法自动下载并安装,因此需要在“代码目录”放置此whl包,同时创建一个命名为“pip-requirements.txt”的文件,并且在文件中指定此whl包的包名。依赖包必须为“.whl”格式的文件。

    例如,“代码目录”对应的OBS路径下,包含模型文件、whl包,同时还存在“pip-requirements.txt”文件。“代码目录”的结构如下所示:

    |---模型启动文件所在OBS文件夹
         |---model.py               #模型启动文件。
         |---XXX.whl                #依赖包。依赖多个时,此处放置多个。
         |---pip-requirements.txt   #定义的配置文件,用于指定依赖包的包名。

    “pip-requirements.txt”文件内容如下所示:

    numpy-1.15.4-cp36-cp36m-manylinux1_x86_64.whl
    tensorflow-1.8.0-cp36-cp36m-manylinux1_x86_64.whl