按readme来,仍有很多不懂得,自己探索终于把demo运行出来了。建议在尝试前搞懂文件结构,这样能顺利得多
一、编译
我选的安卓库编译。在Android Studio中打开整个TNN项目源码,在Android Studio自带的terminal进行编译。我的NDK版本是r21
首先安装依赖:
sudo apt-get install attr
再到scripts目录查看build_android.sh中的配置项是否跟如下相同:
ABIA32="armeabi-v7a with NEON" ABIA64="arm64-v8a" STL="c++_static" SHARED_LIB="ON" # ON表示编译动态库,OFF表示编译静态库 ARM="ON" # ON表示编译带有Arm CPU版本的库 OPENMP="ON" # ON表示打开OpenMP OPENCL="ON" # ON表示编译带有Arm GPU版本的库 SHARING_MEM_WITH_OPENGL=0 # 1表示OpenGL的Texture可以与OpenCL共享
主要是希望在编译后生成armeabi-v7a与arm64-v8a两个目录,且其中要有内容,结构同NCNN。
最后,执行./scripts/build_android.sh
有问题没关系,因为可以看到此时release目录中armeabi-v7a、arm64-v8a和include已经生成了,而且也分别都有libtnn.so与tnn的一些头文件,就说明已经编译成功了。
二、运行demo
1、下载已经转换好的模型
cd <path_to_tnn>/model sh download_model.sh
2、Android Studio进入到examples/android/demo目录,让其build。中间可能会出一些配置问题,按要求修改就好。编译好后会在assets目录中出现上一步下载的模型文件
3、连上真机测试
因为编译的时候选择的是arm架构,as自带的虚拟手机是x86的,所以只能采用真机进行测试。手机插上数据线链接电脑,打开开发者选项,打开usb调试,电脑就能自动匹配到手机。然后运行build.gradel(:demo)文件
会在手机安装tnn-demo。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/addevelopment/897612.html