欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

TNN初尝

程序员文章站 2022-03-28 19:09:47
按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...

按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
TNN初尝TNN初尝TNN初尝
TNN初尝
有问题没关系,因为可以看到此时release目录中armeabi-v7a、arm64-v8a和include已经生成了,而且也分别都有libtnn.so与tnn的一些头文件,就说明已经编译成功了。
二、运行demo
1、下载已经转换好的模型

cd <path_to_tnn>/model
sh download_model.sh

TNN初尝
2、Android Studio进入到examples/android/demo目录,让其build。中间可能会出一些配置问题,按要求修改就好。编译好后会在assets目录中出现上一步下载的模型文件
TNN初尝3、连上真机测试
因为编译的时候选择的是arm架构,as自带的虚拟手机是x86的,所以只能采用真机进行测试。手机插上数据线链接电脑,打开开发者选项,打开usb调试,电脑就能自动匹配到手机。然后运行build.gradel(:demo)文件
TNN初尝
会在手机安装tnn-demo。

本文地址:https://blog.csdn.net/maodewubu/article/details/107107162