21天实战caffe-第一天-运行手写体识别案例mnist数据集

Caffe学习笔记


运行手写体数字识别例程

1.ubuntu准备caffe运行环境

1.1首先apt-get caffe运行所有依赖包


sudo apt-get install git

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-complier

我的ubuntu无法定位protobuf-complier这个包,所以就没安装,对后面也没有任何影响目前看来

 

 

 

 

用了网上说的这个方法依旧无效,so byebye

 

 

 

 

 

 

 

 

 

 

 

 

 

继续装包

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

1.2克隆caffe源码(很慢很慢)

git clone http://github.com/bvlc/caffe.git

cd caffe/

mv Makefile.config.example Makefile.config

1.3修改Makefile.config文件

浩哥说让我在ubuntu的虚拟环境中去跑代码,所以文件修改的比较多,如下








 

 

 

1.4编译

一开始由于没有编译所以导致后面无法进行

stt@stt-desktop:~/caffe$ ./examples/mnist/create_mnist.sh

Creating lmdb...

./examples/mnist/create_mnist.sh: 17: ./examples/mnist/create_mnist.sh: build/examples/mnist/convert_mnist_data.bin: not found

但是编译过程又出了很大麻烦




4.1由于conda里面没有numpy所以又装了numpy

conda install numpy

装好之后开始编译依旧出错


 

 

 

 

 

 

 

 

 

 

 

 

因为没有hdf5.h这个文件所以在文件中加了这句

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

这也是makefile.config文件需要修改的地方


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.2sudo make -j4进行编译(4就是4核进行编译,相对不加4速度快很多)

环境终于搭好了(一切优秀的程序都死于搭环境)

5.开始跑代码

5.1下载mnist数据集

5.2转换数据集格式(一定要在caffe目录下执行)~/caffe$ ./examples/mnist/create_mnist.sh

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转换成功后会有两个lmdb目录(训练集和测试集)


5.3训练超参数,得到一个分类准确率在99%以上的模型


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

执行之后并没有开始训练。是因为没有改成cpu来训练

所以vi lenet_solver.prototxt

修改最后Gpu改为cpu

然后执行./examples/mnist/train_lenet.sh就成功啦


 

 

 

 

 

 

 

 

 

 

 

accuracy=0.9911准确率99%

loss=0.029

6用训练好的模型来对数据进行预测

命令及结果如下,我并没有理解


 

posted @ 2019-03-22 14:44  pjc的乖宝宝  阅读(287)  评论(0编辑  收藏  举报