caffe示例实现之7Flask web服务器上的图像分类demo

1.实验前的要求

这个demo需要一些python的依赖项,运行命令下载:

sudo pip install -r examples/web_demo/requirements.txt

主要是werkzeug、flask、tornado、numpy、pandas、pillow这几个插件。
还要确保已经编译了Python接口(安装指南)。确保已经下载了相关的CaffeNet模型和ImageNet辅助文件:

./scripts/download_model_binary.py models/bvlc_reference_caffenet
./data/ilsvrc12/get_ilsvrc_aux.sh

注意:如果运行遇到问题,尝试重新下载辅助文件。

2.运行

运行:

python examples/web_demo/app.py

如果出现了ImportError: No module named caffe,解决方法是确定caffe/python/caffe下包含了_caffe.so文件,如果没有要重新编译python接口:

make pycaffe

把caffe/python导入PYTHONPATH,我这里是:

export PYTHONPATH=/home/lml/caffe-master/python

然后就可以成功运行了,在浏览器中输入http://0.0.0.0:5000,就能使用caffe demo识别图片了。可以试一下使用debug模式,或者换一个不同的端口:

python examples/web_demo/app.py -h

caffe示例实现之7Flask web服务器上的图像分类demo_第1张图片

3.最大准确率的结果是怎么生成的?

ImageNet预测是在叶子结点,但这个项目的组织结构允许叶子结点通过更普遍的父母结点与最顶端的“实体”联结。为了给出“最大准确率”结果,我们从最大确定预测“后退”以保持高准确率。demo中载入的bet_file(data/ilsvrc12/imagenet.bet.pickle)提供了图结构和所有相关ImageNet结点的名字以及它们之间的信息度量。详细的内容请参考CVPR2012论文“Hedging your bets”。

你可能感兴趣的:(python,dl,caffe)