AI开发平台ModelArts-训练作业日志中提示“No module named .*”:检查依赖包是否存在

时间:2023-11-01 16:25:38

检查依赖包是否存在

如果依赖包不存在,您可以使用以下两种方式完成依赖包的安装。

  • 方式一(推荐使用):在创建我的算法时,需要在“代码目录”下放置相应的文件或安装包。

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

    • 依赖包为开源安装包时

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

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

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

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

      alembic==0.8.6bleach==1.4.3click==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.whltensorflow-1.8.0-cp36-cp36m-manylinux1_x86_64.whl
  • 方式二:可以在启动文件添加如下代码安装依赖包:
    import osos.system('pip install xxx')

方式一在训练作业启动前即可完成相关依赖包的下载与安装,而方式二是运行启动文件过程中进行依赖包的下载与安装。

support.huaweicloud.com/trouble-modelarts/modelarts_trouble_0015.html