开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
BML 全功能AI开发平台

    视觉任务设备端SDK使用说明

    本文档主要说明定制化模型设备端SDK如何使用,如有疑问可以通过以下方式联系我们:

    • 在百度智能云控制台内提交工单
    • 进入EasyDL社区交流 ,与其他开发者进行互动
    • 加入EasyDL官方QQ群(群号:868826008)联系群管

    SDK说明

    目前图像分类和物体检测模型均可封装为可离线计算的设备端SDK,支持iOS、Android、Linux、Windows四种操作系统。

    以下为具体的系统、硬件环境支持:

    操作系统 系统支持 硬件环境要求
    iOS iOS 8.0 以上(A仿生芯片版要求11.0以上) ARMv7 ARM64 (Starndard architectures)(暂不支持模拟器)
    Android 通用ARM: Android 19以上
    SNPE:Android 21以上
    DDK:Android 21以上
    通用ARM: 绝大部分的手机和平板 、比较耗时
    SNPE:高通Soc,仅支持Qualcomm Snapdragon 450 之后发布的soc。其中 660 之后的型号可能含有 Hexagon DSP模块,具体列表见snpe 高通骁龙引擎
    DDK:CPU支持华为麒麟970N、980的arm-v8a的soc,支持的机型 mate10,mate10pro,P20,mate20等

    支持armeabi-v7a arm-v8a CPU 架构, DDK仅支持 arm-v8a
    Linux C++ CPU: AArch64 ARMv7l
    ASIC: Hisilicon NNIE1.1 on AArch64(Hi3559AV100/Hi3559CV100等)
    ASIC: Hisilicon NNIE1.2 on ARMv7l(Hi3519AV100/Hi3559V200等)
    Linux Python Intel Movidius MyRIAD2/MyRIAD X
    Windows 64位 Windows7 及以上 Intel CPU x86_64
    Intel Movidius MyRIAD2/MyRIAD X (仅支持Win10)

    环境依赖:
    .NET Framework 4.5
    Visual C++ Redistributable Packages for Visual Studio 2013
    Visual C++ Redistributable Packages for Visual Studio 2015

    说明

    针对iOS操作系统:虽然SDK库文件很大(ipa文件很大),但最终应用在用户设备中所占用的大小会缩小很多如图像分类下载的ipa文件可能会100M以上,但实际集成在设备中只有20M左右。 这与multi architechtures、bitcode和AppStore的优化有关。

    单次预测耗时参考

    根据具体设备、线程数不同,数据可能有波动,请以实测为准

    芯片类型 实测硬件 图像分类模型 物体检测模型 备注
    ARM RK3399 64-1560ms 239-4100ms 不同模型网络差异较大
    Myriad 2 Intel Movidius 1 40-615ms -
    Myriad X Intel Movidius 2 25-238ms -
    海思NNIE 海思Hi3559A 38-42ms - 暂不支持SE-ResNeXt
    ARM iPhone XR 23-335ms 209ms
    ARM HUAWEI Mate 20 29-563ms -ms
    苹果A芯片 iPhone XR -ms -
    高通骁龙SNPE XIAOMI 8 11-81ms -
    麒麟NPU 980 HUAWEI Mate 20 -ms -
    麒麟NPU 970 HUAWEI Mate 10 Pro -ms -
    x86-64 Xeon E5-2650 v4 114-4021ms 162-3600ms

    自适应芯片版SDK

    发布SDK时可根据实际应用时的硬件/芯片配置选择最合适的SDK。如“华为NPU版”就是针对华为NPU芯片做了适配与加速的SDK。如实际应用时需要适配多种芯片,就可以选择“自适应芯片版”SDK,SDK被集成后会自动判断设备的芯片并运行相应的模型。

    加速版SDK

    发布SDK时,勾选「同时获取加速版」,就可以同时获得适配部分芯片(需选中且右侧带有加速标记)的基础版SDK和加速版SDK。

    image.png

    目前加速版SDK已支持部分图像分类网络的Windows X86、Linux ARM、iOS ARM、Android ARM环境,加速后的SDK普遍在包大小、内存占用、识别速度等方面表现更优,以SE-ResNeXt50为例:

    模型算法 芯片类型 操作系统 实测硬件 SDK类型 单次预测耗时
    SE-ResNeXt50 ARM Linux RK3399 基础版/加速版 564ms/408ms
    ARM Android HUAWEI Mate 20 基础版/加速版 323ms/167ms
    ARM iOS iPhone XR 基础版/加速版 308ms/90ms

    加速版SDK和基础版的测试方式类似,只需在EasyDL控制台新增「加速版」测试序列号,即可获得3个月的测试期。

    激活&使用SDK

    SDK的激活与使用分以下四步:

    ① 在【我的服务】-【服务详情】内下载SDK:

    image.png

    image.png

    ② 在BML控制台获取序列号

    按设备获得授权并使用SDK时,每部署一个项目,即可新增2个序列号:

    image.png

    Android或iOS操作系统的SDK可以选择按产品线激活,序列号与包名(Package Name/Bundle ID)绑定:

    image.png

    ③ 本地运行SDK,并完成首次联网激活

    通过左侧导航栏查看不同操作系统SDK的开发文档

    ④ 正式使用

    SDK常见问题

    通过左侧导航栏查看不同操作系统SDK的FAQ

    以下是通用FAQ,如您的问题仍未解决,欢迎加入官方QQ群813291890咨询群管

    1、激活失败怎么办?

    • 按设备激活时,激活失败可能由于以下几个原因造成:

    ①可能是当前序列号已被其他设备激活使用,请核实序列号后用未被激活的序列号重新激活

    ②序列号填写错误,请核实序列号后重新激活

    ③同一台设备绑定同一个序列号激活次数过多(超过50次),请更换序列号后重试

    ④首次激活需要联网,网络环境不佳或无网络环境,请检查网络环境后重试

    ⑤模型发布者和序列号所属账号非同一账号,如果存在这种异常建议更换账号获取有效序列号

    ⑥序列号已过有效期,请更换序列号后重试

    • 按产品线激活时,激活失败可能由于以下几个原因造成:

    ①可能是包名填写错误,请核对与序列号绑定的包名是否与实际包名一致

    ②序列号填写错误,请核实序列号后重新激活

    ③首次激活需要联网,网络环境不佳或无网络环境,请检查网络环境后重试

    ④模型发布者和序列号所属账号非同一账号,如果存在这种异常建议更换账号获取有效序列号

    ⑤序列号已过有效期,请申请延期后重试


    2、怎样申请序列号使用延期

    序列号激活后有效期为三个月,可以在需要延期的序列号右侧「操作」找到申请延期的入口

    上一篇
    如何发布视觉任务设备端SDK
    下一篇
    视觉任务LinuxSDK集成文档-C++