本人自己摸爬滚打好几天把SDK移植到自己的项目,但总是问题百出,各种各样的报错信息。最后寻求EasyDL的研发人员帮助,非常感谢百度EasyDL研发人员的耐心解答与帮助,快速定位问题并解决。
1.首先就是基础步骤:在EasyDL官网训练自己的模型并且发布
2.下载demo查看结果是否符合预期
3.下载SDK并且导入Android Studio查看项目是否可以正常运行(建议测试精简版demo:AndroidManifest中将
activity android:name=".MainActivity"
更改为
activity android:name=".infertest.MainActivity"
) 即可;注意序列号,一机一码,有效期三个月;需要将你需要测试的图片素材放在项目assets文件夹下
然后打开手机测试是否正常。
4.常见的报错信息:
//报错1.Please allow all files access
/*表示app没有获取到手机的完全读写权限,添加权限即可*/
//报错2.NETWORK STATUS IS CHECHED,NO NETWORK
/*首先需要检查app的网络权限是否获取;有网络权限的情况下一般是SDK的问题
我遇到这个报错的时候是属于SDK问题,等待百度修复后重新发布模型下载SDK即可
*/
//报错3.A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 16600 (AsyncTask #1), pid 16518 (syaimobile.demo)
/*这个报错基本就是硬件设备不兼容,建议换一台终端测试,本人开始使用redmi k30 Pro出现这个错误信息
更换设备后正常运行
*/
接下来就是把SDK移植到自己的项目了。。。。
建议先参考:官方文档 如出现问题再往下看
1.打开官方SDK demo切换到项目视图下
打开目录app-->libs把目录下的“arm64-v8a”、"armeabi-v7a" 、“easyedge-sdk.jar”复制到自己的项目libs目录下
然后把app-->src-->main-->assets目录下的infer文件夹复制到自己的assets目录下
贴个图更明了:
到这环境就基本部署完成了。
接下来就是加载模型预测图片了,这里可以参考demo里面的代码:
代码部分就不做赘述了,很简单自己做个方法封装一下就行,注意不要再UI线程下调用:
到这里就全部结束了,最后还是非常感谢百度研发人员的热心帮助 。