昇腾社区首页
中文
注册

函数:search

产品支持情况

产品

是否支持

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

x

Atlas A2 训练系列产品 / Atlas 800I A2 推理产品 /A200I A2 Box 异构组件

x

Atlas 训练系列产品

x

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

x

Atlas 200/300/500 推理产品

x

功能说明

特征1:N或N:M检索。

Atlas 推理系列产品 中的 Atlas 推理系列加速模块产品 不支持该接口。

函数原型

  • C函数原型
    1
    aclError aclfvSearch(aclfvSearchType type, aclfvSearchInput *searchInput, aclfvSearchResult *searchRst)
    
  • python函数
    1
    ret = acl.fv.search(type, search_input, search_result)
    

参数说明

参数名

说明

type

int,指定特征描述信息,请参见aclfvSearchType处说明。

search_input

  • int,指针地址,检索输入信息。

    需提前调用acl.fv.create_search_input接口创建aclfvSearchInput类型的数据。

search_result

  • int,指针地址,检索输出结果。

    需提前调用acl.fv.create_search_result接口创建aclfvSearchResult类型的数据,该数据中queryCnt参数应与检索输入信息searchInput中的queryCnt参数相同。

    检索输出返回的结果数量通过acl.fv.create_search_input接口的topK参数设置,但与调用acl.fv.init接口进行初始化时设置的topK结果数量最大值有关,若调用acl.fv.create_search_input接口设置的topK参数值大于或等于初始化时设置的topK结果数量最大值,则在返回检索输出结果时,按初始化时设置的topK结果数量最大值返回检索结果,若调用acl.fv.create_search_input接口设置的topK参数值小于初始化时设置的topK结果数量最大值,则在返回检索输出结果时,按实际通过acl.fv.create_search_input接口设置的topK参数值返回检索结果。

返回值说明

返回值

说明

ret

int,错误码。

  • 返回0表示成功。
  • 返回其它值表示失败。

约束说明

  • 非线程安全,N:M场景不允许多线程同时添加\检索\删除。
  • N:M场景或1:N场景,不添加底库,调用acl.fv.search接口检索时,返回结果数量为0。
  • 调用本接口,内部会默认创建一个Stream,用于接口内任务同步执行,在接口执行完成后,该Stream资源会被自动释放。

    受硬件限制,Stream总数有限,请参见函数:create_stream处的说明。

资源参考

接口调用流程及示例代码,参见特征向量检索