华为云AI开发平台ModelArts如何安装第三方包,安装报错的处理方法_云淘科技

问题现象

ModelArts如何安装自定义库函数,例如“apex”。
ModelArts训练环境安装第三方包时出现如下报错:

xxx.whl is not a supported wheel on this platform

原因分析

由于安装的文件名格式不支持,导致出现“xxx.whl is not a supported wheel on this platform”报错,具体解决方法请参见2。

处理方法

安装第三方包

pip中存在的包,使用如下代码:

import os
os.system('pip install xxx')

pip源中不存在的包,此处以“apex”为例,请您用如下方式将安装包上传到OBS桶中。 该样例已将安装包上传至“obs://cnnorth4-test/codes/mox_benchmarks/apex-master/”中,将在启动文件中添加以下代码进行安装。

try:
    import apex
except Exception:
    import os
    import moxing as mox
    mox.file.copy_parallel('obs://cnnorth4-test/codes/mox_benchmarks/apex-master/', '/cache/apex-master')
    os.system('pip --default-timeout=100 install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" /cache/apex-master')

安装报错

“xxx.whl”文件无法安装,需要您按照如下步骤排查:

当出现“xxx.whl”文件无法安装,在启动文件中添加如下代码,查看当前pip命令支持的文件名和版本。

import pip
print(pip.pep425tags.get_supported())

获取到支持的文件名和版本如下:

[('cp36', 'cp36m', 'manylinux1_x86_64'), ('cp36', 'cp36m', 'linux_x86_64'), ('cp36', 'abi3', 'manylinux1_x86_64'), ('cp36', 'abi3', 'linux_x86_64'), ('cp36', 'none', 'manylinux1_x86_64'), ('cp36', 'none', 'linux_x86_64'), ('cp35', 'abi3', 'manylinux1_x86_64'), ('cp35', 'abi3', 'linux_x86_64'), ('cp34', 'abi3', 'manylinux1_x86_64'), ('cp34', 'abi3', 'linux_x86_64'), ('cp33', 'abi3', 'manylinux1_x86_64'), ('cp33', 'abi3', 'linux_x86_64'), ('cp32', 'abi3', 'manylinux1_x86_64'), ('cp32', 'abi3', 'linux_x86_64'), ('py3', 'none', 'manylinux1_x86_64'), ('py3', 'none', 'linux_x86_64'), ('cp36', 'none', 'any'), ('cp3', 'none', 'any'), ('py36', 'none', 'any'), ('py3', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]

将“faiss_gpu-1.5.3-cp36-cp36m-manylinux2010_x86_64.whl”更改为“faiss_gpu-1.5.3-cp36-cp36m-manylinux1_x86_64.whl”,并安装,执行命令如下:

import moxing as mox
import os

mox.file.copy('obs://wolfros-net/zp/AI/code/faiss_gpu-1.5.3-cp36-cp36m-manylinux2010_x86_64.whl','/cache/faiss_gpu-1.5.3-cp36-cp36m-manylinux1_x86_64.whl')
os.system('pip install /cache/faiss_gpu-1.5.3-cp36-cp36m-manylinux1_x86_64.whl')

父主题: 云上迁移适配故障

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家