安装框架插件包
TensorFlow框架插件包有两种安装方式:直接使用发布的run包安装和基于框架插件源码编译安装。
本节给出如何基于run包安装的详细步骤,基于源码编译安装的方式可参见Ascend TensorFlow Adapter (gitee.com)中的“README.md”,本节不再给出详细说明。
基于源码编译安装时,请选择配套CANN版本的分支,TensorFlow Adapter源码分支的命名规则为:tfa_标签名_CANN版本。
准备软件包
软件安装前,请参考表1获取所需软件包和对应的数字签名文件,各软件包版本号需要保持一致。
下载本软件即表示您同意华为企业业务最终用户许可协议(EULA)的条款和条件。
名称 |
软件包 |
说明 |
获取链接 |
---|---|---|---|
框架插件包 |
Ascend-cann-tfplugin_{version}_linux-{arch}.run |
插件包,对接上层框架TensorFlow的适配插件。 在线推理或训练场景下若使用深度学习框架TensorFlow,需要获取该软件包。 |
{version}表示软件版本号,{arch}表示CPU架构。
软件数字签名验证
为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的数字签名文件用于完整性验证。
请单击PGP数字签名工具包获取工具包,将工具包解压后,请参考文件夹中的《OpenPGP签名验证指南》,对下载的软件包进行PGP数字签名校验。如果校验失败,请不要使用该软件包,单击Link联系技术支持。
安装步骤
- 以软件包的安装用户登录安装环境。将获取到的框架插件包上传到安装环境任意路径(如“/home/package”)。
- 进入软件包所在路径,执行如下命令增加对软件包的可执行权限。
chmod +x Ascend-cann-tfplugin_{version}_linux-{arch}.run
- 执行如下命令校验软件包安装文件的一致性和完整性。
./Ascend-cann-tfplugin_{version}_linux-{arch}.run --check
- 执行以下命令安装软件(以下命令支持--install-path=<path>等参数,具体参数说明请参见参数说明)。
./Ascend-cann-tfplugin_{version}_linux-{arch}.run --install
- 用户需签署华为企业业务最终用户许可协议(EULA)后进入安装流程,根据回显页面执行y或Y确认协议,输入其他任意字符为拒绝协议,确认接受协议后开始安装。若当前语言环境不满足要求,可以执行如下命令配置系统的默认语言环境。
#配置为中文(简体) export LANG=zh_CN.UTF-8 #配置为英文 export LANG=en_US.UTF-8
安装完成后,若显示如下信息,则说明软件安装成功:1
xxx install success
xxx表示安装的实际软件包名。
- 配置环境变量,用户可以通过修改~/.bashrc文件方式设置永久环境变量,操作如下:
- 以运行用户在任意目录下执行vi ~/.bashrc命令,打开.bashrc文件,在文件最后一行后面添加如下内容,当前以root用户安装后的默认路径为例,请修改为set_env.sh的实际安装路径。
source /usr/local/Ascend/tfplugin/set_env.sh
- 执行:wq!命令保存文件并退出。
- 执行source ~/.bashrc命令使其立即生效。
- 以运行用户在任意目录下执行vi ~/.bashrc命令,打开.bashrc文件,在文件最后一行后面添加如下内容,当前以root用户安装后的默认路径为例,请修改为set_env.sh的实际安装路径。
- 安装后检查。执行如下命令查询CANN版本信息,查询结果与安装软件包的版本一致时,则验证安装成功。
- 进入软件包安装信息文件目录。
cd /usr/local/Ascend/tfplugin/latest
其中/usr/local/Ascend为root用户默认安装路径,请用户根据实际安装路径替换。
- 执行以下命令获取版本信息。
cat ascend_tfplugin_install.info
- 进入软件包安装信息文件目录。
后续处理
当训练脚本进行序列化结构的数据存储(例如调用Tensorflow的序列化相关接口),该场景下如果使用pip方式安装的protobuf,会缺少protobuf/pyext/_message.cpython-37m-<arch>-linux-gnu.so动态库,训练过程中再去编译动态库,会导致性能非常慢。针对该性能问题,在训练业务执行之前,采用源码的方式重新安装protobuf,该过程中会编译出protobuf/pyext/_message.cpython-37m-<arch>-linux-gnu.so动态库,从而提高训练性能。
具体安装方式请参见安装Python版本的proto。
参数说明
软件包支持根据命令行完成一键式安装,各个命令之间可以配合使用,用户根据安装需要选择对应参数完成安装,所有参数都是可选参数。
安装命令格式: ./软件包名.run [options]
详细参数请参见表2。
如果通过./软件包名.run --help命令查询出的参数未解释在如下表格,则说明该参数预留或适用于其他芯片版本,用户无需关注。
参数 |
说明 |
---|---|
--help | -h |
查询帮助信息。 |
--info |
查询软件包构建信息。 |
--list |
查询软件包文件列表。 |
--check |
检查软件包的一致性和完整性。 |
--quiet | -q |
静默安装或升级,跳过交互式信息。 |
--nox11 |
不使用x11模式运行。 |
--noexec |
解压软件包到当前目录,但不执行安装脚本。配套--extract=<path>使用,格式为: --noexec --extract=<path>。 |
--extract=<path> |
解压软件包中文件到指定目录。 |
--tar arg1 [arg2 ...] |
对软件包执行tar命令,使用tar后面的参数作为命令的参数。例如执行--tar xvf命令,解压run安装包的内容到当前目录。 |
--install |
安装软件包。后面可以指定安装路径--install-path=<path>,也可以不指定安装路径,直接安装到默认路径下。 |
--install-path=<path> |
指定安装、升级和卸载路径,需配合安装、升级和卸载参数使用。当环境上已存在全局配置文件“ascend_cann_install.info”时,该参数指定的路径必须与全局配置文件中保存的安装路径保持一致。如用户想更换安装路径,请删除全局配置文件“ascend_cann_install.info”或者修改全局配置文件内的安装路径为指定路径,同时建议卸载原路径下的CANN软件包。 可在如下目录查看是否存在该文件:
若不指定,将安装到默认路径下:
若通过该参数指定了安装目录,root用户需要对指定的安装路径有755权限,非root用户需要750权限。 |
--install-for-all |
安装或升级时,允许其他用户具有安装群组的权限。 当安装或者升级携带该参数时,软件包中创建的目录及文件,其他用户权限=安装群组权限。 该参数需要与--install、--upgrade等其中一个参数配合使用,例如: ./软件包名.run --install --install-for-all 说明:
使用该参数将会存在安全风险:其他所有用户都有权限访问安装目录,请谨慎使用。 |
--force |
强制安装、升级命令。当安装、升级检测不通过导致安装或升级失败时,则会提示用户使用该参数跳过安装检测,使用后方可安装或升级成功。 该参数需要配合安装和升级类参数(“--install”、“--upgrade”)一起使用。 |
--upgrade |
升级已安装的软件,支持在低版本升级至高版本场景下使用。 如果需要从高版本回退至低版本,需卸载高版本后重新安装所需版本。 |
--uninstall |
卸载已安装的软件。 |
--version |
查询版本信息。 |
以下参数未展示在--help参数中,用户请勿直接使用。
- --xwin:使用xwin模式运行。
- --phase2:要求执行第二步动作。