安装mxIndex
- 使用普通用户进行安装和运行。mxIndex依赖于CANN包的低权限用户的动态库,使用root用户运行程序时,存在链接的动态库被低权限用户篡改的安全风险。使用普通用户安装运行时,依赖的CANN包也必须使用同一个普通用户安装,否则存在运行生成算子时访问CANN的权限问题。
- 使用普通用户安装时,必须保证有“~”目录且该普通用户对该目录有读、写权限;同时安装包所在目录、安装目标目录的属主必须为该普通用户。
- mxIndex已支持算力切分环境,可在算力切分环境下进行mxIndex进行业务部署及运行,具体环境部署操作请参见《昇腾虚拟化实例(AVI)用户指南》。
- 如已部署过开放态,请参见卸载mxIndex,卸载开放态后再进行标准态部署。标准态部署过程中,请链接“mxIndex-{version}/host”目录下的动态库并重新生成算子和配置算子模型文件目录环境变量。具体请参见安装mxIndex。
特征检索以二进制共享库形式发布,软件包在本地用户自定义路径通过run包安装。
安装mxIndex
当前支持的昇腾硬件平台为Atlas 200/300/500 推理产品和Atlas 推理系列产品。
- 以软件包的安装用户登录安装环境。
- 将软件包上传到安装环境的任意路径下(如:“/home/package”)并进入软件包所在路径。
- 增加对软件包的可执行权限。
chmod +x Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run
- 执行如下命令,校验软件包的一致性和完整性。
./Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run --check
若显示如下信息,说明软件包已通过校验。
Verifying archive integrity... 100% SHA256 checksums are OK. All good.
- 创建软件包的安装路径。
- 若用户想指定安装路径,需要先创建安装路径。以安装路径“/home/work/FeatureRetrieval”为例:
mkdir -p /home/work/FeatureRetrieval
- 若用户未指定安装路径,软件会默认安装到软件包所在的路径。
- 若用户想指定安装路径,需要先创建安装路径。以安装路径“/home/work/FeatureRetrieval”为例:
- 安装软件包,用户需确保整个安装过程由同一用户执行,安装路径和解压路径仅允许该用户访问。
- 若用户指定了安装路径。以安装路径“/home/work/FeatureRetrieval”为例:
- 对于Atlas 200/300/500 推理产品:
./Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run --install --install-path=/home/work/FeatureRetrieval --platform=310
- 对于Atlas 推理系列产品:
./Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run --install --install-path=/home/work/FeatureRetrieval --platform=310P
- 对于Atlas 200/300/500 推理产品:
- 若用户未指定安装路径,安装路径默认为命令执行所在目录:
- 对于Atlas 200/300/500 推理产品:
./Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run --install --platform=310
- 对于Atlas 推理系列产品:
./Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run --install --platform=310P
- 对于Atlas 200/300/500 推理产品:
安装过程中提示Do you accept the EULA to install mxIndex?时,输入Y或y,表示同意EULA协议,继续进行安装;输入其他字符时停止安装,退出程序。
安装完成后会生成目录“mxIndex-{version}”,若显示如下信息,则表示软件成功安装。Uncompressing ASCEND MXINDEX RUN PACKAGE 100%
具体安装命令的接口参数介绍,请参见表1。
表1 可选参数表 输入参数
含义
--help | -h
查询帮助信息。
--check
查询包完整性。
--install
特征检索软件包安装操作命令。
--install-path=<path>
(可选)自定义特征检索软件包安装根目录。如未设置,默认为当前命令执行所在目录。
--version
查询安装包mxIndex版本。
--upgrade
特征检索软件包升级操作命令,将特征检索升级到安装包所包含的mxIndex版本。
--platform
对应昇腾AI处理器类型。
- 使用Atlas 200/300/500 推理产品请输入“310”。
- 使用Atlas 推理系列产品请输入“310P”。
--quiet
输入不在列表中的参数可能正常安装或者报错。
- 若用户指定了安装路径。以安装路径“/home/work/FeatureRetrieval”为例:
- 安装特征检索。
- 进入安装目录“mxIndex-{version}”,目录及文件名称参见如表2。
cd mxIndex-{version}
表2 mxIndex目录及文件名介绍 目录或文件名称
说明
device
包含IndexIL算法的动态库和头文件。
filelist.txt
软件包文件列表。
host
检索动态库,进行特征检索时,请链接此文件夹下的动态库。
include
API头文件。
lib
检索动态库,链接到“host/lib”。
modelpath
算子om文件存放目录。编译好算子之后,需要将om文件放置于此文件夹。
ops
包含“custom_opp_<arch>.run”脚本,用于检索算法算子安装。
script
包含卸载脚本“uninstall.sh”,用于卸载mxIndex安装包。
tools
包含用于算子生成python脚本。
version.info
包含版本相关信息。
- 进入“ops”目录,编译算子前需要设置“ASCEND_HOME”和“ASCEND_VERSION”环境变量,默认分别为“~/Ascend和ascend-toolkit/latest”
export ASCEND_HOME=~/Ascend # Ascend home path export ASCEND_VERSION=ascend-toolkit/latest # atc/opp/toolkit installation path export ASCEND_OPP_PATH=~/Ascend/ascend-toolkit/latest/opp # opp installation path
- “ASCEND_HOME”表示“driver/ascend-toolkit”等组件所在路径。
- “ASCEND_VERSION”表示当前使用的Ascend版本,如果ATC工具安装路径是“/usr/local/Ascend/ascend-toolkit/latest”则无需设置“ASCEND_HOME”和“ASCEND_VERSION”,另外用户需要“ASCEND_OPP_PATH”目录的写权限。
“MAX_COMPILE_CORE_NUMBER”环境变量用于指定图编译时可用的CPU核数,在算子运行时使用,当前默认为“1”,用户无需设置。
- 根据实际系统架构执行对应脚本。
- Arm架构对应“custom_opp_aarch64.run”。
- x86_64架构对应“custom_opp_x86_64.run”。
./custom_opp_{arch}.run
表3 custom_opp_{arch}.run 参数说明 参数名称
说明
-h |--help
显示帮助信息。
--info
打印安装包的信息。
--list
打印安装包的文件列表。
--check
检测压缩包完整性。
--confirm
运行嵌入式脚本前询问是否进行。
-q |--quiet
不打印解压过程中的非错误信息。
--noexec
不执行嵌入的安装脚本。
--target
指定解压路径。
--keep
保留临时目录。
--noprogress
不打印解压进度。
--nochown
不修改文件属主到当前用户。
--nodiskspace
不检测磁盘剩余空间。
输入不在列表中的参数可能正常安装或者报错。
- 进入“tools”目录,编译算子。算子编译脚本具体请参考自定义算子介绍。
- 对于Atlas 200/300/500 推理产品:
cd ../tools && python3 run_generate_model.py
- 对于Atlas 推理系列产品:
cd ../tools && python3 run_generate_model.py -t 310P
- 对于Atlas 200/300/500 推理产品:
- 准备算子模型文件。
支持将算子模型文件目录配置为环境变量“MX_INDEX_MODELPATH”(环境变量支持以~开头的路径、相对路径和绝对路径,路径中不能包含软链接;使用该变量时将统一转化为绝对路径并限制在“/home”或“/root”路径下)。
mv op_models/* $PWD/../modelpath export MX_INDEX_MODELPATH=$PWD/../modelpath
如未使用环境变量进行配置,需将算子模型文件移动到当前目录的“modelpath”目录下。
算子生成后,请妥善保管相关om文件并确保文件不被篡改。
- 添加Index软件包路径的环境变量。
export LD_LIBRARY_PATH=/home/package/mxIndex/host/lib/:$LD_LIBRARY_PATH
- 进入安装目录“mxIndex-{version}”,目录及文件名称参见如表2。