前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从零开始安装 Caffe --CPU only----没有 pycaffe

从零开始安装 Caffe --CPU only----没有 pycaffe

作者头像
用户1148525
发布2019-05-28 23:39:46
1K0
发布2019-05-28 23:39:46
举报

版权声明:本文为博主原创文章,未经博主允许不得转载。 /developer/article/1437719

最近新发了一台服务器, i7-4790/3.6GHz 处理器, 显卡 GTX 1080 Ti Pascal

开始新一轮的装机旅程。

系统是厂家安装的 Ubuntu14.04

下面从零开始安装Caffe

sudo apt-get update

sudo apt-get update

(2)安装caffe的依赖项

1)一般依赖项

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

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

2)BLAS依赖项

sudo apt-get install libatlas-base-dev

sudo apt-get install libopenblas-dev

3)python依赖项

安装python及其头文件

sudo apt-get install python

sudo apt-get install python-dev

安装python的其他依赖

sudo apt-get install python-numpy

sudo apt-get install ipython

sudo apt-get install ipython-notebook

sudo apt-get install python-sklearn

sudo apt-get install python-skimage

sudo apt-get install python-protobuf

4)谷歌glog和gflags和lmdb依赖项

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

(5)安装git,并且下载代码

sudo apt-get install git

git clone https://github.com/BVLC/caffe.git

然后进入到源码目录

cd caffe

(6)编译Caffe

cp Makefile.config.example Makefile.config

然后修改Makefile.config设置你的python的路径和matlab的路径

修改Makefile.config文件:去掉CPU_ONLY:= 1的注释

注意:-j8表示使用多核进行编译,8是核心个数

$ make all

$ make test

$make runtest

接着看看在 Caffe 中怎么用 LetNet-5 进行训练和测试,整个流程如下:(先cd到 Caffe 的根目录下)

1)下载 minist 数据的命令:

\$cd data/mnist

$ ./get_mnist.sh

这个脚本主要内容是从 http://yann.lecun.com 上下载 mnist 训练和测试数据,并解压

2)将下载的数据转换为 Caffe 能识别的数据格式 LEVELDB 或 LMDB,对应的命令为:

$ ./examples/mnist/create_mnist.sh

上面的脚本调用了 build/examples/mnist/convert_mnist_data.bin这个可执行程序,对应的源文件为 convert_mnist_data.cpp

完成之后,在目录 examples/mnist 发现生成了 examples/mnist/mnist_train_\ lmdb/ (对应训练集) 和 examples/mnist/mnist_test_lmdb/ (对应测试集或验证集)两个目录,每个目录下都有两个文件: data.mdb和lock.mdb

3)定义 LetNet-5 网络模型,在 lenet.prototxt 中描述了广义的LetNet-5网络层设置,在 lenet_train_test.prototxt 中描述了 LetNet-5 训练和 测试时各网络层的设置。大致是差不多的,就是有些细节不一样。

4)有了网络模型,在训练前我们还需要指定一些训练参数,在lenet_solver.prototxt 中实现该功能的。这个文件最后一行是 GPU,如果没有GPU,需要改为CPU。不然报错

可以修改一下训练迭代次数,这样时间不太长

The maximum number of iterations

max_iter: 1000

snapshot intermediate results

snapshot: 500

  1. 现在我们有了训练数据、网络模型、指定了相关训练参数,可以开始训练网络 LetNet-5 了,使用下面的命令: $./examples/mnist/train_lenet.sh,训练完成之后,我们得到了一个关于 LetNet-5 在 mnist 数据上的模型 caffemodel

6)使用训练好的模型对数据进行预测,运行下面的代码:

$ ./build/tools/caffe.bin test

-model examples/mnist/lenet_train_test.prototxt

-weights examples/mnist/lenet_iter_1000.caffemodel

-iterations 100

命令行解释:

./build/tools/caffe.bin test,表示只做预测(前向传播计算),不进行参数更新(后向传播计算)

-model examples/mnist/lenet_train_test.prototxt,指定模型描述文本文件

-weights examples/mnist/lenet_iter_1000.caffemodel 指定模型预先训练好的权值文件

-iterations 100,指定测试迭代次数,参与侧测试的样本数目为

(iterations*batch_size), test batch 设置为 100, 所以iterations =100时,刚好覆盖 10000个测试样本。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年06月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 修改Makefile.config文件:去掉CPU_ONLY:= 1的注释
  • The maximum number of iterations
  • snapshot intermediate results
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com