树莓派安装ncnn

本文介绍了如何在树莓派上编译并安装支持TensorFlow的NCNN框架,包括依赖安装、源代码获取及编译过程。通过编译ncnn-tensorflow,用户可以在树莓派上部署基于TensorFlow的深度学习模型。
摘要由CSDN通过智能技术生成

前言

 ncnn是腾讯开源的用于手机端部署深度学习模型的框架,目前也支持在树莓派上使用。ncnn提供C++的借口,支持caffe等框架的模型进行转换。
  目前ncnn已经开源,代码放[github](https://github.com/Tencent/ncnn "github")上,但是原版的代码对tensorflow支持不是很好,因此有大神搞了个支持tensorflow的ncnn,也在github上开源[ncnn-tensorflow](https://github.com/jiangxiluning/ncnn-tensorflow)。
  另外,还有一些tensorflow转ncnn的工程:
  1、https://github.com/hanzy88/tensorflow2ncnn
  2、https://github.com/hanzy88/ckpt2ncnn
  由于ncnn和ncnn-tensorflow的编译方法是一样的,因此,这里就对ncnn-tensorflow进行记录,ncnn的编译基本一样。

安装依赖

安装git和cmake

sudo apt-get install git cmake

安装其他依赖

sudo apt-get install -y gfortran
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev libatlas-base-dev

下载NCNN或者ncnn-tensorflow

  解压后,在工程根目录建议一个build目录,进到build中执行以下指令编译:

cd ncnn
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DNCNN_VULKAN=ON -DNCNN_SYSTEM_GLSLANG=ON -DNCNN_BUILD_EXAMPLES=ON ..
make -j$(nproc)

报错解决

g++: error: unrecognized command line option ‘-mfpu=neon’
g++: error: unrecognized command line option ‘-mfpu=neon’
g++: error: unrecognized command line option ‘-mfloat-abi=hard’

 在../src/CMakeLists.txt306-309行做一些修改:

if(PI3)                                                # ↓后面注释掉                                                                                                    	
	target_compile_options(ncnn PRIVATE -march=native) #-mfpu=neon -mfloat-abi=hard)
	target_compile_definitions(ncnn PRIVATE __ARM_NEON __ANDROID__)
endif()

原因很简单,因为当前安装的是64位的系统,默认就是neon和硬浮点,官方安装文档貌似是32位系统为前提。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y_Hungry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值