训练模型时引用依赖包,如何创建训练作业?
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
- 代码目录位置请参考在代码目录下提供安装文件。
- pip-requirements文件写法请参考安装文件规范。
在代码目录下提供安装文件
- 如果使用“我的算法”创建训练作业,则在创建算法时,可以把相关文件放置在配置的“代码目录”下,算法的“启动方式”必须选择“预置框架”。
- 如果使用“自定义算法”创建训练作业,则可以把相关文件放置在配置的“代码目录”下,“启动方式”必须选择“预置框架”。
需要在创建训练作业前将相关文件上传至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