Ubuntu14.04安装Caffe(CPU)
一 安装Ubuntu14.04LTS
Ubuntu分区
1.SWAP 交换分区:与物理内存相当。
2.“/” 根目录分区:该区大小由硬盘大小而定,10-100G。
3.“HOME” 家目录分区:该区也视硬盘大小决定,相当于WINDOWS下的我的文档。
设置中文输入法(Ubuntu 14.04 LTS中自带的iBus输入法非常难用)
1.安装Fcitx
sudo apt-get install fcitx-table-wbpy
终端输入以上命令,然后会自动安装相关的依赖库和框架。
2.配置Fcitx
Ubuntu右上角顶栏的小键盘图标->配置;
系统设置->语言支持->默认输入法换成fcitx。
3.重启电脑
Ubuntu常用指令参考
sudo //调用管理管权限 apt-get //获取资源 install //安装 remove //删除 rm -r //删除文件夹 cp -i dir //复制 cat //查询 echo //打印 vi //写权限 sudo gedit //获取权限后,直接在文本中修改 :i //写入 :wq //保存 sudo service lightdm stop/start //开关桌面 sudo sh //运行 chmod +x ./ //调用文件的权限 su root 或者 sudo //权限问题 sudo matlab //仅仅运行matlab会报错 make clean //重新编译 mount umount //挂载与挂载接触,用来安装iso文件时的过渡过程 sudo find / -name libhdf5.so //查找名为libhdf5.so的文件所在的位置/目录 sudo gedit /etc/profile -> PATH=/xxx/xxx/bin:$PATH -> source /etc/profile //添加环境变量
二 搭建Caffe环境
输入命令,检查显卡信息。
lspci | grep -i vga
发现没有Nvidia显卡,所以只能暂时放弃Gpu,改用Cpu。
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 libgflags-dev libgoogle-glog-dev liblmdb-dev sudo apt-get install libatlas-base-dev sudo apt-get install python-dev
2.下载Caffe源码
使用Git直接下载或者去https://github.com/BVLC/caffe下载。
git clone https://github.com/bvlc/caffe.git
进入其根目录,Caffe给定了一个样例配置文件:Makefile.config.example,我们需要将复制为Makefile.config文件。
cd caffe/ cp Makefile.config.example Makefile.config //mv Makefile.config.example Makefile.config
3.修改配置文件Makefile.config
因为我们只用CPU,因此需要将Makefile.config文件中“# CPU_ONLY := 1”,前面的#号去掉即可。
CPU_ONLY :=
4.编译Caffe
进入caffe文件夹根目录下,进行如下操作。
cd ~/caffe make all -j8 make test -j8 make runtest -j8
make默认是用CPU单核运算,在make后面加上-jn标签,比如-j4使用四核加快速度。
注意:若需要重新编译caffe,请先make clean,否则易出错。
5.编译Python接口
(1)安装Python
sudo apt-get install python-dev python-pip //sudo apt-get install python
(2)安装Python依赖包
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 ipython ipython-notebook python-sympy
(3)依赖包编译
cd ~/caffe make pycaffe
(4)添加~/caffe/Python到$PYTHONPATH
sudo gedit /etc/profile # 末尾添加: export PYTHONPATH=/home/ysp/caffe/python:$PYTHONPATH source /etc/profile
(5)测试是否可以引用
$ python Python ( , ::) [GCC ] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import caffe >>>
python命令行中import caffe报错
解决:把caffe中的python导入到解释器中。
第一种方法:设置环境变量 在终端中输入: export PYTHONPATH=~/caffe/python #caffe的路径下面的python 则该终端起作用,关掉终端后或重新打开一终端,则失效。 在配置文件中输入: A.把环境变量路径放到 ~/.bashrc文件中 sudo echo export JAVA_HOME="~/caffe/python" >> ~/.bashrc B.使环境变量生效 source ~/.bashrc 可以永久有效。
第二种方法:通过代码来实现 在每个python代码中使用以下代码 caffe_root = '/home/ysp/caffe/' import sys sys.path.insert(0, caffe_root + 'python') import caffe
6.安装OpenCV(OpenCV版本>=2.4)
下载opencv安装脚本,直接用脚本安装opencv。
下载脚本后,因为我的系统是ubuntu的,所以接下来的操作针对ubuntu。
cd Install-OpenCV-master/Ubuntu chmod +x * //添加可执行权限 ./opencv_latest.sh
等待大约30分钟,注意有一步输入密码,输入用户密码即可。
配置完opencv,可用如下命令查询其安装版本。
pkg-config --modversion opencv
7.在Mnist运行Lenet
MNIST数据集简介 MNIST数据集是一个大型的手写体数据库,广泛用于机器学习领域的训练和测试,它是由纽约大学的Yann LeCun教授整理的,包括60000个训练样本和10000个测试样本,其图像都是灰度图像,固定尺寸为28x28(像素)。
(1)获取数据源
caffe源码框架的data/mnist文件夹下有MNIST数据集的下载脚本get_mnist.sh.
首先将路径切换到caffe的根目录下 运行get_mnist.sh脚本 下载原数据集
cd caffe ./data/mnist/get_mnist.sh //sh data/mnist/get_mnist.sh ./examples/mnist/create_mnist.sh //sh examples/mnist/create_mnist.sh
(2)修改 solver_mode 为 CPU(因为是CPU运行,所以修改在examples文件下的Mnist下的lenet_solver.prototxt中的solver_mode:CPU)
vi examples/mnist/lenet_solver.prototxt #solver_mode: CPU
(3)训练模型
./examples/mnist/train_lenet.sh
整个训练时间会持续很久,没有启用GPU,并且默认是单核,用时5时38分6秒。
分类准确率:99.09%;loss:0.0287848。
(4)测试模型
1.在caffe/examples/images目录下生成手写的一个28*28像素数字的bmp文件。
2.在caffe/examples目录下用Python编写mnist.py。
3.执行上述脚本。
Ubuntu14.04安装Caffe(CPU)的更多相关文章
- ubuntu14.04安装cuda
1 装系统时候注意,另外14.04要好于12.04,自带了无线驱动 ubuntu14.04安装完不要update 2 安装cuda和cudnn http://blog.csdn.net/l297969 ...
- ubuntu14.04 安装 tensorflow9.0
ubuntu14.04 安装 tensorflow9.0 文章目录 ubuntu14.04 安装 tensorflow9.0 安装pip(笔者的版本为9.0) 仅使用 CPU 的版本的tensorfl ...
- Ubuntu14.04安装配置web/ftp/tftp/dns服务器
目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...
- Ubuntu14.04安装intel集显驱动
Ubuntu14.04安装intel集显驱动 标签(空格分隔): ubuntu linux 驱动安装 1.查看本机显卡型号 使用lspci命令来获取PCI接口硬件信息 o@o-pc:~$ lspci ...
- Ubuntu14.04安装中文输入法以及解决Gedit中文乱码问题
1 设置中文显示环境 1. 打开System Settings 2. 打开Personal-> Language Support. 会弹出如下对话框,提示你“语言支持没安装完整”. 点击“Rem ...
- Ubuntu14.04安装配置ndnSIM
Ubuntu14.04安装配置ndnSIM 预环境 Ubuntu14.04官方系统 请先使用sudo apt-get update更新一下源列表 安装步骤 安装boost-lib sudo apt-g ...
- Ubuntu14.04 安装QQ国际版wine-qqintl
Ubuntu14.04安装qq国际版方式: 首先下载,链接为: https://pan.baidu.com/s/1boPitVD 密码:jp1j 也可去Ubuntu中文的Kylin(优麒麟)官网下载 ...
- 一.ubuntu14.04安装、亮度设置、显卡设置等一体化讲解
一.ubuntu14.04安装 安装步骤很简单的,相信你只要知道并且决定安装ubuntu,你就不会在安装上有问题,下载网址 http://www.ithome.com/html/soft/81539. ...
- Ubuntu14.04安装samba
Ubuntu14.04安装samba 按照惯例,首先介绍Samba.Samba是在Linux系统上实现的SMB(Server Messages Block,信息服务块)协议的一款免费软件.它实现在局域 ...
随机推荐
- Linux添加磁盘和挂载
1.新建一个虚拟磁盘,例:20GB 2.重启后使用 fdisk -l 查看磁盘详细信息,刚添加的磁盘信息如下: 3.对刚添加的磁盘进行分区 fdisk /dev/sdc 4.格式化分区 mkfs.ex ...
- Xargs用法详解(自创)
简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: 这个命令是错误的find /sbin -perm +700 |ls -l ...
- svn 巧用,如果遇到问题解决不了,而上一个版本可以正常使用,则可以查记录
svn 巧用,如果遇到问题解决不了 1.svn上一个版本可以正常使用的情况下 2.查看历史 3. 丢失的代码复制回来即可
- Selenium 2自动化测试实战24(webdriver原理)
一.webdriver原理 webdriver是按照Server-Client的经典设计模式设计的.Server端就是Remote Server,可以是任意的浏览器.当我们的脚本启动浏览器后,该浏览器 ...
- Windows安装使用npm(Nodejs)
转载参考:https://blog.csdn.net/han0373/article/details/80606487 1:下载 https://nodejs.org/en/ 2:查看是否安装成功 w ...
- Jmeter如何使用数据库返回值实践
Jmeter如何使用数据库返回值实践 最近使用Jmeter针对产品做性能测试,测试内容是要模拟300并发用户审批休假申请时的性能.由于每个申请人的主管不同,且会根据不同的休假类型,会有一级审批或者二级 ...
- LoadRunner中的Web 函数列表
LoadRunner中的Web 函数列表 web test LoadRunner fuction_list D:\Program Files (x86)\Mercury Interactive\Mer ...
- SAS数据挖掘实战篇【四】
SAS数据挖掘实战篇[四] 今天主要是介绍一下SAS的聚类案例,希望大家都动手做一遍,很多问题只有在亲自动手的过程中才会有发现有收获有心得. 1 聚类分析介绍 1.1 基本概念 聚类就是一种寻找数据之 ...
- 《Javascript 语言精粹》 中 用到的一些代码 (1)
var isNumber = function isNumber(value){ return typeof value === 'number' && isFinite(value) ...
- mybatisplus EntityWrapper 常用方法
1. #WHERE (issue_type = ?) AND (status = ? OR status = ? OR status = ?) EntityWrapper wrapper=new En ...