Caffe cpu版本 Linux配置命令及搭建
Caffee 安装过程
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
$ sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.安装caffe
$ git clone git://github.com/BVLC/caffe.git
3.编译caffe
$ cd caffe
$ cp Makefile.config.example Makefile.config (复制一份Makefile.config文件)
在Makefile.config文件中把CPU_ONLY := 1的注释给去掉,就是去掉前面的#号
接下来在caffe根目录下执行下面命令
$ make all
在这个命令后,我遇到了一个报错信息,
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
这是hdf5路径问题造成的,可以通过下面命令来获得hdf5的路径,
$ sudo find / -name hdf5.h
我找到的hdf5.h的路径为:/usr/include/hdf5/serial/hdf5.h,于是在makefile.config文件中,把文件改成下面所示:
再执行一遍上述命令,继续报错,这次是/usr/bin/ld: cannot find -lhdf5
于是同上面一个处理 去找libhdf5.so
配置文件改为:
LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu/hdf5/serial
/usr/local/lib /usr/lib
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/include/hdf5/serial
/usr/local/include
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas
解决
sudo apt-get install libatlas-base-dev
接着执行下面命令:
make test
最后,
$ make runtest
4.编译python接口
安装pip
$ sudo apt-get install python-pip
执行安装依赖
根据caffe/python目录下的requirements.txt中列出的清单安装即可。
fortran编译器(gfortran)使为了安装scipy,否则会报错。
cd ~/caffe
sudo apt-get install gfortran
cd ./python
for req in $(cat requirements.txt); do pip install $req; done
回到caffe根目录
sudo pip install -r python/requirements.txt
编译pycaffe接口
make pycaffe -j81
此时报错
python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: 没有那个文件或目录
12
于是,输入如下命令即可
sudo apt-get install python-numpy
import sys
sys.path.append("/(你的caffe路径)/caffe/python")
sys.path.append("/(你的caffe路径)/caffe/python/caffe")
PS:永久性添加python路径:
cd /usr/lib/python2.7/dist-packages
sudo echo mycaffe.pth #建立一个mycaffe.pth文件
sudo gedit mycaffe.pth #编辑文件
开始python2 import caffe
报错:ImportError: No module named skimage.io
解决:
sudo apt-get install python-skimage
报错:ImportError: No module named google.protobuf.internal
conda install protobuf
还是没有解决:
接着找:
sudo apt-get install python-protobuf
成功了!
接下来开始测试:
Mnist 数据集获取:
sudo sh ./data/mnist/get_mnist.sh
sudo sh ./examples/mnist/create_mnist.sh
2、修改配置
修改该目录下的prototxt扩展名配置文件
修改./examples/mnist/lenet_solver.prototxt
定位到最后一行:solver_mode: GPU,将GPU改为CPU。 使用CPU进行测试
3、运行
执行文件命令:
sudo sh ./examples/mnist/train_lenet.sh
报错:./train_lenet.sh: 4: ./train_lenet.sh: ./build/tools/caffe: not found
重新编译
sudo make all
显示: nothing to be done for all
最终训练完的模型存储为一个二进制的protobuf文件:
./examples/mnist/lenet_iter_10000.caffemodel
这个模型就可以用来直接使用了
突然就可以使用了。。。
重新执行
sudo sh ./examples/mnist/train_lenet.sh
最好加time 看看所用时间
开心,还好是cpu版本的,一点一点问题解决了
主要参考博客:
Caffe cpu版本 Linux配置命令及搭建的更多相关文章
- Windows上快速编译caffe CPU版本
windows上快速安装配置Caffe的 cpu_only环境. 一:安装环境: 1.windows10: 2.Visual Studio2013: 3.Caffe版本:http://github.c ...
- Linux常用命令及搭建测试环境
题外话:三大操作系统------Linux.Unix.Windows,Unix系统如常见的Mac OS,Linux的很多命令跟Unix是通用的,所以就有一些开发人猿喜欢用苹果的原因.Linux发行版特 ...
- Deb版本Linux配置Selenium+Chrome+Java实现自动化测试
1.安装chrome sudo apt-get install libxss1 libappindicator1 libindicator7 wget https://dl.google.com/li ...
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
- linux top命令中各cpu占用率含义
linux top命令中各cpu占用率含义 [尊重原创文章摘自:http://www.iteye.com/topic/1137848]0.3% us 用户空间占用CPU百分比 1.0% sy 内核空间 ...
- LINUX查看硬件配置命令
LINUX查看硬件配置命令 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinf ...
- Linux - CentOS6.5服务器搭建与初始化配置详解(下)
传送带:Linux - CentOS6.5服务器搭建与初始化配置详解(上) 继续接着上面的安装,安装完后会出现下面界面 点击reboot重启 重启后可以看到下面的tty终端界面 因为这就是最小化安装 ...
- Linux SVN服务器的搭建配置及分支的创建与合并
第一步:通过yum命令安装svnserve,命令如下: >yum -y install subversion 若需查看svn安装位置,可以用以下命令: >rpm -ql subversio ...
- Golang入门教程(十七)Linux/Windows下快速搭建和配置NSQ
前言 NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在GitHub,其当前最新版本是0.3.1版.NSQ可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消 ...
随机推荐
- 剑指Offer——平衡二叉树
题目描述: 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 分析: 平衡二叉树(Self-balancing binary search tree)又被称为AVL树(有别于AVL算法),且具有以下性质 ...
- 001-ant design pro 页面加载原理及过程,@connect 装饰器
一.概述 以列表页中的标准列表为主 Ant Design Pro 默认通过只需浏览器单方面就可处理的 HashHistory 来完成路由.如果要切换为 BrowserHistory,那在 src/in ...
- 22.解决 eclipse 与 AS 共用 SDK 导致 eclipse ADT 无法使用的问题
相信很多同学在从eclipse 转 AS 都会遇到这个问题,因为方便所以共用了一个sdk 目录,但是AS 会主动更新sdk,然而手贱的跟新了一夜,再打开eclipse的时候瞬间呆滞了,这一夜发生什么了 ...
- Uboot mmc命令解析&NAND flash uboot命令详解
转载:http://blog.csdn.net/simonjay2007/article/details/43198353 一:mmc的命令如下: 1:对mmc读操作 mmc read addr bl ...
- idea配置scala和spark
1 下载idea 路径https://www.jetbrains.com/idea/download/#section=windows 2安装spark spark-2.1.0-bin-hadoo ...
- adb push ,adb pull和adb install的区别
1.用命令行把手机上的文件拷贝到电脑上 1 adb pull sdcard/1222073679.png 拷贝文件夹命令,如把log文件夹拷贝到电脑当前目录 1 adb pull sdcard/log ...
- A simple windows programm in c
A simple windows programm in c The following programm is a minimal windows program. It opens ...
- 微信小程序组件slider
表单组件slider:官方文档 Demo Code: var pageData = {} for (var i = 1; i < 5; i++) { (function (index) { pa ...
- ruby 修改Setting config yaml内容
参考:http://ruby-doc.org/stdlib-1.9.3/libdoc/yaml/rdoc/YAML/Store.html 本事例只为说明如何修改yml文件内容. 一.需求是怎么样修改y ...
- Tomcat内部结构及请求原理(转)
Tomcat Tomcat是一个JSP/Servlet容器.其作为Servlet容器,有三种工作模式:独立的Servlet容器.进程内的Servlet容器和进程外的Servlet容器. Tomcat的 ...