函数:search

C函数原型

aclError aclfvSearch(aclfvSearchType type, aclfvSearchInput *searchInput, aclfvSearchResult *searchRst)

Python函数

ret = acl.fv.search(type, search_input, search_result)

函数功能

特征1:N或N:M检索。同步接口。

Atlas 200/300/500 推理产品不支持该接口。

Atlas 训练系列产品不支持该接口。

Atlas A2训练系列产品不支持该接口。

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

输入说明

  • 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处的说明。

注意事项

参考资源