Ubuntu14.04+caffe+CPU
刚刚在上篇博客记录了windows10下GPU版本caffe的安装,正准备跑跑论文里的代码,发现好多命令都是.sh命令,这是linux系统的脚本文件。不能直接在windows下运行,于是我想把.sh转换为windows下可执行的bat文件,但是又发现代码需要将数据转换为leveldb格式。而leveldb不能直接在windows下编译,还需配置,比较繁琐。而lmdb可以直接在windows下编译。下面是两者区别:
- 它们都是键/值对(Key/Value Pair)嵌入式数据库管理系统编程库。
- 虽然lmdb的内存消耗是leveldb的1.1倍,但是lmdb的速度比leveldb快10%至15%,更重要的是lmdb允许多种训练模型同时读取同一组数据集。
- 因此lmdb取代了leveldb成为Caffe默认的数据集生成格式
说了这么多,就是windows确实不方便,于是想搞一波linux。但是不太熟悉,所以没有搞双系统,先在虚拟机上练练手,尽管虚拟机不能用GPU。
我的配置:VMware-workstation-full-12.00(12貌似更契合win10)、ubuntu-14.04-desktop-amd64(14LTS版本和16LTS版本相对稳定,amd64即64位版本)
虚拟机和ubuntu安装比较简单,基本是傻瓜式安装。
安装python接口的caffe:(无GPU)、无cuda(自然更没有cudnn),无opencv(暂不需要)
1.安装必要的环境
sudo apt-get update #更新软件列表
sudo apt-get upgrade #更新软件
sudo apt-get install build-essentia #安装build essentialsl
sudo apt-get install linux-headers-'uname -r' #安装最新版本的kernel headers
2.安装所需要的依赖包
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 libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install libatlas-base-dev
3.安装必要的库
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install libatlas-base-dev
4.下载caffe并配置python
网上的大部分方法是:
cd ~
git clone https://github.com/BVLC/caffe.git #克隆caffe到本地,并命名为caffe
cd caffe
cat python/requirements.txt | xargs -L sudo pip install 安装caffe/python/requirements.txt里面所有要求的库
我就被坑在这里了,上面的命令用到了pip。所以先装pip,即执行sudo apt-get install python-pip
但是装好pip后,上面安装requirements.txt里的库时,速度很慢,基本都是timeout的错误,网上好多修改配置的教程,但我没有设置成功。。
所以我采取下面的方法,即把requirements.txt里的库拿出来,挨个下载:
sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage \
python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython
上面就算caffe/python所有所需要的库。装好后没有报错即可,可以测试下:终端输入python,然后任意输入import scipy或import Cython都无错。
5.配置并编译caffe
修改Makefile.config.example
cd caffe
cp Makefile.config.example Makefile.config
上面命令意思:将caffe文件夹里的Makefile.config.example 复制为Makefile.config
然后进入Makefile.config文件夹,改些东西:
#去掉CPU_ONLY:=1的注释
#在PYTHON_INCLUDE下把
# /usr/lib/python2./dist-packages/numpy/core/include
#改为
# /usr/local/lib/python2./dist-packages/numpy/core/include
下面开始编译caffe:
进入caffe文件夹根目录下,eg:~/caffe$ ,进行如下操作:
make all make pycaffe make distribute make test
这个运行比较久。
6.修改环境路径
将PYTHONPATH写入.bashrc中:
echo 'export PYTHONPATH =$PYTHONPATH:/home/'username'/caffe/python'>>~/.bashrc
source ~/.bashrc
根据每个人不同的路径加以修改,例如我的是 'export PYTHONPATH=$PYTHONPATH:/home/lps/caffe/python'
7.测试

运行MNIST:
1)按照官网先准备数据集:
cd ~/caffe #将终端定位到Caffe根目录
./data/mnist/get_mnist.sh #下载MNIST数据库并解压缩
./examples/mnist/create_mnist.sh #将其转换成Lmdb数据库格式
2)编辑lenet_solver的solver_mode模式从GPU改为CPU:
vim ./examples/mnist/lenet_solver.prototxt
#改为solver_mode: CPU
3)训练模型
cd $CAFFE_ROOT
./examples/mnist/train_lenet.sh
4)训练结果

Ubuntu14.04+caffe+CPU的更多相关文章
- Ubuntu14.04+caffe+cuda7.5 环境搭建以及MNIST数据集的训练与测试
Ubuntu14.04+caffe+cuda 环境搭建以及MNIST数据集的训练与测试 一.ubuntu14.04的安装: ubuntu的安装是一件十分简单的事情,这里给出一个参考教程: http:/ ...
- faster-rcnn(testing): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+opencv3.0+matlabR2014a环境搭建记录
python版本的faster-rcnn见我的另一篇博客: py-faster-rcnn(running the demo): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3 ...
- py-faster-rcnn(running the demo): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+python2.7环境搭建记录
第一次写博客,以此纪念这几天安装caffe,跑faster-rcnn的血泪史.在此特别感谢网络各路大神,来自全球各地,让我能从中汲取营养,吸取经验,总结规律. faster-rcnn分为matlab版 ...
- ubuntu14.04下CPU的caffe配置,不成功的朋友请与我(lee)联系,后面附带邮箱
因广大朋友需求cpu的caffe配置.所以我(lee)在这份博客中对cpu配置caffe做出对应操作说明.希望能够解决大家对cpu配置caffe的困惑.少走弯路. 假设有安装不成功的朋友能够和我联系, ...
- Ubuntu14.04 caffe 配置
1.前置条件验证 (1) Ubuntu14.04操作系统. (2) 检验计算机是否为NVIDIA显卡,终端输入命令 $ lspci | grep -invidia (3) 检验计算机是否为x86_6 ...
- ubuntu14.04 caffe
1.显卡驱动 ubuntu nvidia 940m 使用sudo ubuntu-drivers devices 查看推荐的驱动版本 //sudo add-apt-repository ppa:mama ...
- Ubuntu14.04 + Text-Detection-with-FRCN(CPU)
操作系统: yt@yt-MS-:~$ cat /etc/issue Ubuntu LTS \n \l Python版本: yt@yt-MS-:~$ python --version Python pi ...
- Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新)
前言: 最近在学习深度学习,最先要解决的当然是开源框架的环境安装了.之前一直在学习谷歌的Tensorflow开源框架,最近实验中需要跟别人的算法比较,下载的别人的代码很多都是Caffe的,所以想着搭建 ...
- ubuntu14.04 编译安装CPU版caffe
本文,试图中一个干净的ubuntu14.04机器上安装caffe的cpu版本. http://blog.csdn.net/sinat_35188997/article/details/735304 ...
随机推荐
- [HNOI2005]狡猾的商人 ,神奇做法——贪心
洛谷P2294 [HNOI2005]狡猾的商人 ,神奇做法--贪心 看到大牛都是写的差分约束或带权并查集,本蒟蒻都不太会(还是用差分约束过了的QAQ),但是想出一种贪心的策略,运用神奇的优先队列实现. ...
- 2.9 C++使用默认参数的构造函数
总结: 默认参数的构造函数,其默认参数必须置于参数列表的结尾. 设计类的构造函数的时候最好不要同时是用构造函数的重载和带参数的构造函数. 我们可以想象一个这样的场景:某一天书店整理库存,发现了一些非常 ...
- 自学Linux Shell8.2-linux逻辑卷LVM管理
点击返回 自学Linux命令行与Shell脚本之路 8.2-linux逻辑卷LVM管理 Linux逻辑卷管理器软件包用来通过将另外一个硬盘上的分区加入已有文件系统,动态地添加存储空间. 1. 逻辑卷L ...
- 【CF960G】Bandit Blues(第一类斯特林数,FFT)
[CF960G]Bandit Blues(第一类斯特林数,FFT) 题面 洛谷 CF 求前缀最大值有\(a\)个,后缀最大值有\(b\)个的长度为\(n\)的排列个数. 题解 完完全全就是[FJOI] ...
- [luogu3178][bzoj4034][HAOI2015]树上操作
题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所有点的点权都增 ...
- 洛谷 P3965 [TJOI2013]循环格 解题报告
P3965 [TJOI2013]循环格 题目背景 一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子. 每个元素有一个坐标(行,列),其中左上角元素坐标为\((0,0)\).给定一个起始位\ ...
- scrapy-redis爬取豆瓣电影短评,使用词云wordcloud展示
1.数据是使用scrapy-redis爬取的,存放在redis里面,爬取的是最近大热电影<海王> 2.使用了jieba中文分词解析库 3.使用了停用词stopwords,过滤掉一些无意义的 ...
- A1012. The Best Rank
To evaluate the performance of our first year CS majored students, we consider their grades of three ...
- javascript - ie - css - 动态更新鼠标指针形状
最近写了一个图片展示的页面,在弹出层中显示大图,在大图的左边和右边点击时可以翻页. 将鼠标在大图上移动时,移动到左边显示一个向左的箭头,移动到右边时显示一个向右的箭头. 当第一次显示大图时,如果鼠标位 ...
- MySQL中使用like查找汉字 Incorrect string value 解决办法
用Select…like %…%来查找MySQL的text类型字段的一个中文,却发现查出来的是乱的,发现不少人也遇到这样的问题.在中文排序和查找的时候,汉字的结果是错误的. 原因在于MySQL在查找字 ...