一,编译安装开源版Tengine:
1.1,安装cmake工具和git工具:
sudo apt-get install git cmake
- git 是一个版本控制系统;
- cmake 是一个编译工具;
- 都是自动安装的。
1.2,安装支持库
sudo apt-get install libprotobuf-dev protobuf-compiler libboost-all-dev libgoogle-glog-dev libopencv-dev libopenblas-dev
- protobuf 是一种轻便高效的数据存储格式,这是caffe各种配置文件所使用的数据格式
- boost 是一个c++的扩展程序库,稍后Tengine的编译依赖于该库
- google-glog 是一个google提供的日志系统的程序库
- opencv 是一个开源的计算机视觉库
- openblas 是一个开源的基础线性代数子程序库
1.3,需要重新安装protobuf 3.0.0(版本需要的情况下):
sudo apt-get autoremove libprotobuf-dev protobuf-compiler
sudo apt-get install autoconf automake libtool
wget https://github.com/protocolbuffers/protobuf/archive/v3.0.0.zip -O protobuf-3.0.0.zip
unzip protobuf-3.0.0.zip
cd protobuf-3.0.0
./autogen.sh
./configure
make
make install
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib" >> ~/.profile source ~/.profile
执行安装./autogen.sh,可能遇到问题:
提示:Google Mock not present. Fetching gmock-1.7.0 from the web...
一般需要梯子,但是也可以直接安装解决这个问题:
1.3.1,下载gmock-1.7.0:
git clone https://github.com/paulsapps/gmock-1.7.0
下载并解压gmock
https://github.com/paulsapps/gmock-1.7.0
unzip gmock-1.7.0.zip
1.3.2、把gmock解压出来的目录拷贝到protobuf目录下,改名为gmock:
mv gmock-1.7.0 gmock
1.3.3、vim aotogen.sh将如下代码注释:
if test ! -e gmock; then
echo "Google Mock not present. Fetching gmock-1.7.0 from the web..."
curl -O https://googlemock.googlecode.com/files/gmock-1.7.0.zip
unzip -q gmock-1.7.0.zip
rm gmock-1.7.0.zip
mv gmock-1.7.0 gmock
fi
1.3.4、然后进行安装具体如下:
./autogen.sh
./configure
make
make check
make install
1.3.5,安装之后还需要做如下操作
(1)、创建文件 /etc/ld.so.conf.d/libprotobuf.conf 包含内容:
/usr/local/lib
(2)、sudo ldconfig
这时,再运行protoc --version 就可以正常看到版本号了
1.4,下载&编译:
1.4.1,从github上下载最新的开源版Tengine源码
git clone https://github.com/OAID/Tengine.git
1.4.2,切换工作目录到Tengine
cd Tengine
1.4.3,准备好配置文件
Tengine目录下提供了配置模板 makefile.config.example
文件:
cp makefile.config.example makefile.config
1.4.4,修改配置文件 makefile.config
由于开源版的Tengine不支持针对armv7的优化,所以需要用openblas替代实现;
将 CONFIG_ARCH_ARM64=y
这一行注释掉(行首加井号 #
)以关闭ARM64架构的优化实现;
解除 CONFIG_ARCH_BLAS=y
这一行解除注释(删除行首的井号 #
)以开启BLAS计算库的实现方式
1.4.5,编译并安装
make -j4
make install
这里的 -j4
表示开启四个线程进行编译
1.5,测试
1.5.1,下载mobilenet-ssd模型并放置在 Tengine/models
目录下
下载链接(提取码为57vb):https://pan.baidu.com/s/1LXZ8vOdyOo50IXS0CUPp8g
1.5.2,将工作目录切换到mobilenet-ssd示例程序的目录下
cd ~/Tengine/examples/mobilenet_ssd
1.5.3,编译示例程序
cmake –DTENGINE_DIR=/home/pi/Tengine .
make
这里 -DTENGINE_DIR
用于为cmake指定环境变量TENGINE_DIR,该变量可以在CMakeLists.txt文件中找到
1.5.4,运行示例程序
./MSSD
运行的结果如下图:
基于该框架Tengine,开发出一款多功能的视觉传感器,开源项目地址为:https://github.com/BluesYu/MarStech_Vision_Sensor
开源项目不容易,不要白嫖哦,至少给个star和fork吧。
参考文章: