猫狗大战-caffe模型训练实例&NSDK识别运行

首先【caffe-Windows】安装,请参考https://blog.csdn.net/zb1165048017/article/details/51355143(博主写的非常详细,避免了很多坑)

注:如果出现libcaffe.lib无法打开的错误且按照博主写的策略无法解决,请重新启动vs2013,其余完全按照博主步骤操作,博主没有一点点多余的描述,全部是重点,切记仔细认真的按照步骤操作。
我是一个不安分的散人,不按照博主的思路自己去摸索走了很多弯路,中间自己挖了很多坑,浪费了不少时间,参考文档还可以看下 https://www.cnblogs.com/yixuan-xu/p/5858595.html

接下来是进行模型训练,参考的intel钱彩红文章: https://software.intel.com/zh-cn/articles/the-caffe-practice-on-windows-the-war-between-cat-and-dog ,作者在故障排除里面写的很明确,要细心。可是不是每个人都是乖宝宝的,同安装环境一样,自己挖了很多坑,虽然走了很多弯路,幸好自己耐心足够强大。

我自己的电脑没有GPU,只能用CPU训练,一天一夜整整24小时训练结束。

训练完成后开始在NSDK上跑一下(Ubuntu),如果没安装NSDK的请参考:https://github.com/movidius/ncsdk

    首先生成自己的graph

mvNCCheck -w stored_model_iter_10000.caffemodel -i ../../data/images/cat.jpg -s 12 dogsvscats.prototxt -S 255

mvNCCompile dogsvscats.prototxt -w stored_model_iter_10000.caffemodel -s 12 -is 208 208 -o graph

参数含义略过

    写个python脚本运行一下,可参考:https://software.intel.com/zh-cn/articles/using-movidius-ncs-to-run-caffe-image-classification-model?language=en

参考文献

NCS SDK快速上手:https://developer.movidius.com/start

NCS SDK与Caffe的集成:https://software.intel.com/zh-cn/articles/how-to-deploy-tensorflow-and-caffe-for-intel-hardware-platform-into-movidius-ncs-sdk

在Windows上的Caffe实战 – 猫狗大战:https://software.intel.com/zh-cn/articles/the-caffe-practice-on-windows-the-war-between-cat-and-dog

NCS SDK参考手册:https://movidius.github.io/ncsdk/

Intel Caffe:https://software.intel.com/zh-cn/ai-academy/frameworks/caffe

NCS 购买:https://developer.movidius.com/buy

自己挖的坑,以及自己跳出来:

    坑0. 配置环境的时候由于电脑有VS2017,就没安装VS2013,结果各种调不通

            跳坑:安装VS2013,由于网速慢,足足耗了一天。

    坑1. 配置环境出现python不支持,无奈注释了python.

            跳坑:修改CommonSettings.props配置文件,把python那一项改为false。

    坑2. 生成文件的时候,出现libcaffe.lib无法打开的错误并且按照作者方法无法通过。

            跳坑:重新打开VS2013

    坑3. 训练猫狗大战模型出现各种系统崩溃,报错。

            跳坑:回头看作者文章,捋第一遍,发现验证集没准备(犯懒的毛病)解决一个报错,再次运行还是有错;

                捋第二遍,发现验证集list没有(已经抓狂了),老老实实把前提都按照作者的要求做了,发现:lmdb数据生成的有问题,模型文件中文没去掉,正如作者所写,都是因为不仔细犯的错,从头到尾再来了一次。终于训练开始了。

    坑4. 分类预测出现错误,无法识别data,各种找资料,搜帖子,无解。再次捋一遍文章,发现没有理解prototxt文件的意思,没有彻底理解网络的含义,没有仔细按照要求更改prototxt,

            跳坑:按照要求修改prototxt,运行test.bat.






你可能感兴趣的:(笔记)