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 做这个事儿呢?
发表回复