购买该设备的主要目的是使用其npu的功能,目前只有android系统下华为提供了使用npu的中间库,所以目前在此系统进行测试。
1、烧录系统按照教程就行了,很简单。
2、接入电脑,进行调试
1)配置android开发环境
下载android studio一阵折腾。
2)将usb调试线连接hikey970的typeC接口(注意不是那个debug uart接口),此时鼠标键盘等都用不了。
电脑上可以识别出该android设备。
3)示例代码
导入示例代码到android,注意要记得这些事项,否则无法使用npu:
用的示例代码版本是:HiAI_DDK_100.150.031.000
之前试过用HiAI_DDK_100.150.010.010,没有成功。若直接设置npu为true就会挂掉。
1. 在project下的build.gradle中,增加google(),如下所示:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter{
url "http://jcenter.bintray.com/"
}
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter{
url "http://jcenter.bintray.com/"
}
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
(2)修改MainActivity.java代码
注释掉npu是否支持的判断,直接设为支持。
private void modelCompatibilityProcess(){
//load hiai.so
boolean isSoLoadSuccess = ModelManager.loadJNISo();
if (isSoLoadSuccess) {
Toast.makeText(this, "load libhiai.so success.", Toast.LENGTH_SHORT).show();
interfaceCompatible = true;
useNPU = true;
Toast.makeText(this, "mychange.", Toast.LENGTH_SHORT).show();
//useNPU = ModelManager.modelCompatibilityProcessFromFile(demoModelInfo.getModelSaveDir()+demoModelInfo.getOnlineModel(),
// demoModelInfo.getModelSaveDir()+demoModelInfo.getOnlineModelPara(),
// demoModelInfo.getFramework(),demoModelInfo.getModelSaveDir()+demoModelInfo.getOfflineModel(),demoModelInfo.getOfflineModelVersion());
} else {
interfaceCompatible = false;
Toast.makeText(this, "load libhiai.so fail.", Toast.LENGTH_SHORT).show();
}
}
4)效果测试
使用adb进行安装(如果安装不上,就带上-t参数),测试效果确实比较快。30ms以内。一般是10~20多ms。
未用之前,是600多到900多ms。