Skip to content

Latest commit

 

History

History
24 lines (19 loc) · 1.92 KB

question_and_answer.md

File metadata and controls

24 lines (19 loc) · 1.92 KB

常见问题

VNN SDK运行后无效果

常见原因:

  • 模型文件路径错误或(当模型不在APP沙箱时)无读权限,导致SDK初始化失败
  • 输入图像格式VNN不支持,支持的图像格式请查阅对应的SDK文档第二节“技术规格”
  • VNN_Image对象的成员未设置或设置有误,设置方法请查阅VNN_Image的使用方法
  • 部分SDK在调用VNN_Apply_{SDK名}_CPU前,需要通过VNN_Set_{SDK名}_Attr设置必要的参数(例如,目标跟踪SDK需要在跟踪前设定初始帧和跟踪目标)。对于复杂的SDK调用,文档在相应SDK的第4节“相关说明”的“调用流程”小节进行说明,请注意比对流程是否有缺失
  • 同时使用了多个SDK,代码错误导致handle误用

建议的排查方法:

  • VNN的API通过返回结果枚举值VNN_Result反馈执行情况,请获取返回值确认每个流程是否执行成功(对应枚举值为VNN_Result_Success),若执行失败可参照 错误码表 排查
  • VNN在遇到预计内的异常时会打印具体的日志,请设置日志等级和日志回调函数(如有需要)以获取日志中的错误信息。日志设置方法请参考链接
  • 运行对应的Demo,确认能够正常运行,排除机器的问题

线程安全

  • VNN为每个创建成功的handle创建互斥锁,某个API在执行前将会上锁,使同一个handle下的其他API(包括其自身)在其调用结束前被堵塞
  • 每个初始化成功的handle拥有自己独立的内存池,正常不会因为其他handle(SDK)的同时运行而导致错误(除非存在缓冲区Bug等问题使内存池被错误修改)
  • 不同SDK初始化得到的hanlde不能混用