关于机器学习:华为昇腾-import-acl-报错-ModuleNotFoundError-No-module-named-acl

39次阅读

共计 1527 个字符,预计需要花费 4 分钟才能阅读完成。

https://gitee.com/ascend/samples/issues/I7TWXS#note_20629228

首先,你要晓得 acl 在哪里

acl 是一个 so 文件,能够让 cpython 间接调用的 so 文件,是 acnn 的一部分

pypi 上下载不到 acl

所以你要调用 acl,首先要装置 acnn

acnn 默认的装置门路在 /usr/local/Ascend/ascend-toolkit/
acl 默认的装置门路在 /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/lib64/libamctacl.so

留神我这里是 arm 的,你的要是 x86 的,那么 acl 的门路是不一样的

而后你要晓得 python 是怎么导包的

有一个环境变量叫做 PYTHONPATH,这个环境变量是决定 python 去哪里导包的

所以要导入 acl 就很简略,把 acl.so 文件所在门路退出 PYTHONPATH 环境变量就行

你能够把 PYTHONPATH 环境变量的值了解为一个 list,用 ; 宰割


如果你胆怯配置 PYTHONPATH,或者对 linux、python 等等啥都不相熟,持续往下看

acnn 曾经默认给你配好了

你装置 acnn 之后,在 acnn 的装置门路上面,会有一个 set_env.sh

比方在我这里的门路就是 /usr/local/Ascend/ascend-toolkit/set_env.sh

查看改文件内容

export ASCEND_TOOLKIT_HOME=/usr/local/Ascend/ascend-toolkit/latest
export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_HOME}/lib64/plugin/nnengine:$LD_LIBRARY_PATH
export PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH
export PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/compiler/ccec_compiler/bin:$PATH
export ASCEND_AICPU_PATH=${ASCEND_TOOLKIT_HOME}
export ASCEND_OPP_PATH=${ASCEND_TOOLKIT_HOME}/opp
export TOOLCHAIN_HOME=${ASCEND_TOOLKIT_HOME}/toolkit
export ASCEND_HOME_PATH=${ASCEND_TOOLKIT_HOME}

不要间接复制我的,环境、平台、版本等等不同,文件内容不同

你就会发现这个外面曾经帮你配好 PYTHONPATH 了

你一次性,就复制粘贴 export PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:$PYTHONPATH 到终端执行一下,就 ok 了,这个时候你就能够导入 acl 了

如果你想一劳永逸,你能够把上的所有内容都加到 ~/.bashrc 中去

而后新开一个终端或者 source ~/.bashrc , 而后你就能够欢快的导入 acl 了

正文完
 0