下载
中文
注册

安装mxIndex

  • 使用普通用户进行安装和运行。mxIndex依赖于CANN包的低权限用户的动态库,使用root用户运行程序时,存在链接的动态库被低权限用户篡改的安全风险。使用普通用户安装运行时,依赖的CANN包也必须使用同一个普通用户安装,否则存在运行生成算子时访问CANN的权限问题。
  • 使用普通用户安装时,必须保证有“~”目录且该普通用户对该目录有读、写权限;同时安装包所在目录、安装目标目录的属主必须为该普通用户。
  • mxIndex已支持算力切分环境,可在算力切分环境下进行mxIndex进行业务部署及运行,具体环境部署操作请参见昇腾虚拟化实例(AVI)用户指南
  • 如已部署过开放态,请参见卸载mxIndex,卸载开放态后再进行标准态部署。标准态部署过程中,请链接“mxIndex-{version}/host”目录下的动态库并重新生成算子和配置算子模型文件目录环境变量。具体请参见安装mxIndex

特征检索以二进制共享库形式发布,软件包在本地用户自定义路径通过run包安装。

安装mxIndex

当前支持的昇腾硬件平台为Atlas 200/300/500 推理产品Atlas 推理系列产品

  1. 以软件包的安装用户登录安装环境。
  2. 将软件包上传到安装环境的任意路径下(如:“/home/package”)并进入软件包所在路径。
  3. 增加对软件包的可执行权限。
    chmod +x Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run
  4. 执行如下命令,校验软件包的一致性和完整性。
    ./Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run --check

    若显示如下信息,说明软件包已通过校验。

    Verifying archive integrity...  100%   SHA256 checksums are OK. All good.    
  5. 创建软件包的安装路径。
    • 若用户想指定安装路径,需要先创建安装路径。以安装路径“/home/work/FeatureRetrieval”为例:
      mkdir -p /home/work/FeatureRetrieval
    • 若用户未指定安装路径,软件会默认安装到软件包所在的路径。
  6. 安装软件包,用户需确保整个安装过程由同一用户执行,安装路径和解压路径仅允许该用户访问。
    • 若用户指定了安装路径。以安装路径“/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 推理产品
        ./Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run --install --platform=310
      • 对于Atlas 推理系列产品
        ./Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run --install --platform=310P

    安装过程中提示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

    静默安装,使用该参数,默认同意华为企业业务最终用户许可协议(EULA),跳过协议签署过程,并减少人机交互的信息的打印。

    输入不在列表中的参数可能正常安装或者报错。

  7. 安装特征检索。
    1. 进入安装目录“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

      包含版本相关信息。

    2. 进入“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”,用户无需设置。

    3. 根据实际系统架构执行对应脚本。
      • 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

      不检测磁盘剩余空间。

      输入不在列表中的参数可能正常安装或者报错。

    4. 进入“tools”目录,编译算子。算子编译脚本具体请参考自定义算子介绍
      • 对于Atlas 200/300/500 推理产品
        cd ../tools && python3 run_generate_model.py
      • 对于Atlas 推理系列产品
        cd ../tools && python3 run_generate_model.py -t 310P
    5. 准备算子模型文件。
      支持将算子模型文件目录配置为环境变量“MX_INDEX_MODELPATH”(环境变量支持以~开头的路径、相对路径和绝对路径,路径中不能包含软链接;使用该变量时将统一转化为绝对路径并限制在“/home”“/root”路径下)。
      mv op_models/* $PWD/../modelpath
      export MX_INDEX_MODELPATH=$PWD/../modelpath

      如未使用环境变量进行配置,需将算子模型文件移动到当前目录的“modelpath”目录下。

      算子生成后,请妥善保管相关om文件并确保文件不被篡改。

    6. 添加Index软件包路径的环境变量。
      export LD_LIBRARY_PATH=/home/package/mxIndex/host/lib/:$LD_LIBRARY_PATH