Caffe-ssd 在 windows 下的配置,及 python 调用

本文主要是针对 runhang 的工作,修复了其中在用 Pycaffe 调用时得一个问题- Unknown layer type: Normalize:

Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: Normalize (known types: AnnotatedData, BatchNorm, Bias, Concat, Convolution, DetectionEvaluate, DetectionOutput, Eltwise, Flatten, Input, LRN, MemoryData, MultiBoxLoss, Permute, Pooling, Power, PriorBox, Python, ReLU, Reshape, Scale, Sigmoid, SmoothL1Loss, Softmax, SoftmaxWithLoss, Split, TanH)

首先贴出修改后的 github : https://github.com/anlongstory/caffe_ssd_windows

1. 下载 caffe-ssd

git clone https://github.com/anlongstory/caffe_ssd_windows

2. 配置 caffe-ssd

  • 配置CPU版本
    下面的步骤以及硬件要求详见我的另一篇博客:

Windows 下用 build_win.cmd 直接编译CPU版caffe

从上面博客的第3步 —— 3.修改Caffe配置文件 开始操作,根据自己的需求进行相关配置修改就可以了

  • 配置GPU版本
    下面的步骤以及硬件要求详见我的另一篇博客:

Windows 下用 build_win.cmd 直接编译GPU版caffe

需要提前安装 CUDA+cudnn ,然后从上面博客的第5步 —— 5.修改Caffe配置文件 开始操作,根据自己的需求进行相关配置修改就可以

3. 配置 Pycaffe 路径

经过上面第2步成功编译以后,Pycaffe 已经编译完成了,剩下的就是将相关的 caffe_ssd_windows/python 路径加入到环境变量。
具体操作见我的另一篇博客:Windows下 Pycaffe 的配置与使用

4. 测试 caffe-ssd

在此处下载自己需要的预训练模型 https://github.com/weiliu89/caffe/tree/ssd, 需要模型的 deploy.prototxt 文件和 对应的 caffemodel,下载完模型后在 caffe_ssd_windows/examples/ssd/ 中有一个名为 ssd-windows.py 的文件,里面的内容基本和caffe_ssd_windows/examples/下的 ssd_detect.ipynb 一样,这里为了测试方便转成了 .py 文件。labelmap_voc.prototxt在我们可以在 caffe_ssd_windows/data/VOC0712 找到,就可以直接在Pycharm 中 运行。

Tips: 运行前需要保证 pycaffe 的路径已经添加到了环境变量,并且相关的路径已经替换成自己的文件。 deploy.prototxt 里面在第1617行有:
label_map_file: "/data/VOC0712/labelmap_voc.prototxt"
记得将这里的 labelmap_voc.prototxt 文件路径也替换掉。

最后就可以成功运行啦!

Caffe-ssd 在 windows 下的配置,及 python 调用