在 RaspberryPi 上使用 Caffe


发布于

|

分类

RaspberryPi 摧残系列之 Caffe…… 这下算是把自己用过的框架都在 RaspberryPi 上跑通一遍了……

反正群友已经看不下去了:“有骨气的Pi就应该自己烧了自己”……

安装

sudo apt update;
sudo apt install caffe-cpu -y;

Caffe 可能是最顺利的了——如果你不是用的那些大神们魔改的版本,比如 nlp-caffe、Faster RCNN 里面带的 Caffe、SSD 里面带的 Caffe 等等等等。

为什么说「顺利」呢?因为一切都只需要一个 sudo apt install caffe-cpu -y 就能解决了。它会自动安装 Caffe 的预编译版,Python3 调用接口,以及其他各种奇奇怪怪的依赖,而不需要像 这个手记 里面一样解决一大堆依赖的 BUG。

测试Demo

最简单的:

import caffe

Python3 没有发脾气,好的。注意是Python3啊~这都8102年了……没有理由不用Python3啊~(因为默认安装的都是Python3的包,没有Python2的包)

然后试试这个 demo

git clone https://github.com/Banus/caffe-demo
cd caffe-demo
cd models && ./download_models.sh all
cd ..

然后我们需要解决一点 BUG:

首先是 OpenCV 带来的 BUG。照着 这个教程 安装全所有 OpenCV 的依赖即可。

其次是代码上的一点 BUG。这个代码是针对自己编译的 Caffe 进行编写的,所以需要设定 CAFFE_ROOT,这样才能让 Python 找到 caffe 模块。但是!我们上面已经做了测试了,直接在 Python 里面 import 是可以直接通过的,CAFFE_ROOT 就不需要了。把相应的代码删掉,直接 import caffe 即可。

最后是……RaspberryPi 上虽然有 GPU 但是我们不能用,所以我们安装的是 CPU 版本。但是代码的判断有点问题:

if section.get('device', "gpu") == "cpu":
    caffe.set_mode_cpu()
else:
    caffe.set_mode_gpu()

这一段代码不知道为啥会走 else。那好,强制使用 caffe.set_mode_cpu() 就好了。

执行 python3 deep_classification.py images/jaguar.jpg squeezenet 看看效果:

单张图片分类结果
感谢并不知情的师兄出镜
感谢并不知情的师兄出镜
检测也是可以用的哦

有上角标有速度。还算…… 可以…… 吧……

感谢并不知情的师兄友情出镜。

好了先就这样吧。工具是全的了,就看怎么用了~


你看它速度大概3秒一张是吧,可以对比一下Google Giorgio Cam, 加一点摇滚废话,就是一个Excellent的应用了~

对哦,为啥不直接用TensorFlow Lite 做这个事儿呢?


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注