昇腾社区首页
中文
注册

loadAllData接口

API定义

void loadAllData(const char *dataPath);

功能描述

将Index结构从磁盘读入Device,包括压缩降维后的特征向量和码本数据。

输入

const char *dataPath:数据文件路径。

输出

返回值

约束说明

“dataPath”对应的文件应该是调用saveAllData方法得到的落盘文件,程序执行用户对其有读权限;且文件不能为软链接。

该接口无法共享码本,如需共享码本,建议使用loadAllData

API定义

static std::shared_ptr<AscendIndexIVFSP> loadAllData(const AscendIndexIVFSPConfig &config, const uint8_t *data, size_t dataLen, const AscendIndexIVFSP *codeBookSharedIdx = nullptr);

功能描述

从内存中恢复AscendIndexIVFSP对象。

输入

  • const AscendIndexIVFSPConfig &config:Device侧资源配置,当前只需设置config.deviceList以及config.resourceSize即可,其他配置参数会从内存中恢复。
  • const uint8_t *data:由saveAllData方法得到的内存指针。
  • size_t dataLen:data指针的真实长度。
  • const AscendIndexIVFSP *codeBookSharedIdx:共享码本的AscendIndexIVFSP指针,默认为nullptr,即不共享码本。

输出

返回值

从内存中恢复的AscendIndexIVFSP智能指针对象。

约束说明

  • data需要为非空的合法指针。
  • dataLen为指针data的真实长度,否则可能出现越界读写错误并引起程序崩溃。
  • codeBookSharedIdx共享码本的码本配置要与当前Index的码本配置相同,且配置相同的Device资源。