VMware12虚拟机中Ubuntu16.04安装CPU版本Caffe
首先,可以自行下载VMware12进行安装,基本上都是直接点击‘下一步’直到安装完成,这里重点讲一下Ubuntu16及Caffe的安装步骤
第一步:
下载Ubuntu16.04版本的文件,这里给出链接http://www.ubuntu.org.cn/download/desktop. 进入后点击‘下载’按钮,然后根据提示即可自动下载
登录上面的地址后截图如下:

第二步:
在VMware中安装Ubuntu系统,直接提供每一步的截图,完全可以按照步骤完成Ubuntu的安装
1)双击打开VMware12

2)点击上图中‘创建新的虚拟机’,出现安装引导


















启动虚拟机后,根据电脑配置情况,稍等一会,就会弹出Ubuntu的安装引导,具体步骤见下图所示:










至此,在VM12中安装Ubuntu16.04基本就完成了,按照步骤来既可以完成。下面主要看下Ubuntu16.04里面安装Caffe(注:我在安装Caffe之前将python2.7换成了python3.6,安装过程中很多莫名的错误,所以,建议安装完Caffe之后再修改python)
第三步:安装Caffe(CPU版本)
如果你不确定自己电脑是CPU还是GPU,可以执行以下命令看下

1)接着开始一些预安装程序,依次在Ubuntu的终端命令行中执行,可能需要一点时间,耐心等待....
sudo apt-get install libprotobuf-dev
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev
2)顺利执行完后,开始下载Caffe,Ubuntu默认没有git,所以先安装git,同样是在命令行执行:
sudo apt-get install git
3)安装完成后,再执行如下命令下载Caffe
sudo apt-get install git
下载完成后,可以在‘主文件夹’目录下看到一个Caffe文件夹,即:/home/Caffe
4)开始配置并编译Caffe,首先进入到Caffe目录
cd caffe/
5)这样就进入到Caffe的目录下,首先需要生成Makefile.config文件,可以图形化操作进入到目录,将Makefile.config.example文件复制一份并命名为Makefile.config,或者,执行下面命令完成
cp Makefile.config.example Makefile.config
6)接着修改Makefile.config文件
sudo gedit Makefile.config
去掉CPU_ONLY前面的#号,使得CPU_ONLY := 1,操作完后如下图显示

7)配置引用文件路径
原来的路径配置如下图:

修改后的内容展示如下图:

增加的内容有:
/usr/include/hdf5/serial
/usr/lib/x86_64-linux-gnu/hdf5/serial
8)执行编译
sudo make all
sudo make test
sudo make runtest
我在执行sudo make all 编译的时候,提示,/bin/sh:1:g++:not found,需要安装g++
sudo apt-get install g++
安装完成后,再重新执行上面编译命令即可,执行完后,如果出现如下图,说明Caffe成功安装完成

第四步:编译Python接口
1)Ubuntu16.04默认安装的是python2.7,没有pip,所以需要先安装pip
sudo apt-get install python-pip
且由于下面执行的时候会提示pip版本问题,这里先执行版本升级安装
sudo pip install --upgrade pip
2)在caffe根目录下,有个python文件夹,文件夹里面有个requirements.txt,里面有需要的依赖库和版本信息,按照其安装即可
sudo apt-get install gfortran
cd ~/caffe/python
for req in $(cat requirements.txt); do pip install $req; done
安装结束后,可以执行如下语句验证:
sudo pip install -r requirements.txt
即使有些没安装成功,在下面文件的时候会给予提示,到时候再安装也可以
3)将Caffe根目录下的python文件夹加入到环境变量
先打开bashrc文件
sudo gedit ~/.bashrc
在文件的最后,加入如下代码
export PYTHONPATH=/home/wy/caffe/python:$PYTHONPATH
加入后,如下图所示:

4)执行更新更新配置操作
sudo ldconfig
执行完后,需要重启Ubuntu系统
5)编译python接口
cd ~/caffe/
make pycaffe
我在编译过程中遇到了fatal error:
①:fatal error:numpy/arrayobject.h 没有那个文件或目录
输入以下命令,解决
sudo apt-get install python-numpy
②:fatal error:boost/thread.hpp 没有那个文件或者目录
输入以下命令,解决
sudo apt-get install --no-install-recommends libboost-all-dev
排除掉错误后,重新编译
执行无错后,最后一步,在python环境中引用Caffe,看是否可以正常引用来验证安装是否成功
6)验证Caffe
进入Python环境,import Caffe,如果没错,即表示安装正确,可以正常使用了

至此,整个安装过程就完成了.....
VMware12虚拟机中Ubuntu16.04安装CPU版本Caffe的更多相关文章
- 虚拟机中ubuntu-16.04 Linux系统下配置mysql数据库,并在windows下使用navicat远程连接
Linux系统下mysql数据库安装配置步骤: 1.在服务器上安装mysql:sudo apt-get install mysql-server sudo apt-get install mysql- ...
- Ubuntu16.04 anaconda3 opencv3.1.0 安装CPU版本caffe
安装anaconda3 安装opencv3.1.0 安装依赖库 修改Makefile.config 修改Makefile 编译报错,卸载anaconda中的protobuffer: conda uni ...
- ubuntu16.04 安装指定版本Node,升级npm到指定版本
一.安装配置Node 1.下载(64位系统) wget https://nodejs.org/download/release/v10.1.0/node-v10.1.0-linux-x64.tar.g ...
- ubuntu16.04安装最新版本的wine
1.安装源 sudo add-apt-repository ppa:wine/wine-builds sudo apt-get update 2.安装wine sudo apt-get install ...
- Ubuntu16.04安装Caffe最全最详细教程(CPU)
转载请附上本文链接:https://www.cnblogs.com/acgoto/p/11570188.html 一.前言 为了安装caffe,本人已经在centos7.x上试错了1次,目前弃疗~:在 ...
- 虚拟机 Ubuntu18.04 tensorflow cpu 版本
虚拟机 Ubuntu18.04 tensorflow cpu 版本 虚拟机VMware 配置: 20G容量,可扩充 2G内存,可扩充 网络采用NAT模式 平台:win10下的Ubuntu18.04 出 ...
- Ubuntu16.04安装Ambari 2.7.3
概念了解 Ambair介绍 Apache Ambari是一个用于支持大数据软件供应 管理与监控软件.它也是一个分布式软件,分为Ambair-Server与Ambari-Client两个部分.在生产环境 ...
- Ubuntu16.04 安装JDK Tomcat
Ubuntu16.04安装jdk,下载linux中的64版本 需要下载jdk,tomcat安装包 tar.gz版本的 http://pan.baidu.com/s/1mi4WVhA 安装JDK: ho ...
- 0、ubuntu16.04安装部署kvm
ubuntu16.04安装部署kvm1.查看CPU是否支持KVM egrep "(svm|vmx)" /proc/cpuinfo 2.安装相关kvm包 sudo apt-get i ...
随机推荐
- Codeforces960G Bandit Blues 【斯特林数】【FFT】
题目大意: 求满足比之前的任何数小的有A个,比之后的任何数小的有B个的长度为n的排列个数. 题目分析: 首先写出递推式,设s(n,k)表示长度为n的排列,比之前的数小的数有k个. 我们假设新加入的数为 ...
- java构造函数总结
构造函数总结 概念: 创建对象时由JVM自动调用的函数 作用: 在创建对象的时候给对象的成员变量赋值: 写法: 修饰符:可以用访问权限修饰符(public.private等)修饰:不能用s ...
- eclipse svn同步资源库时忽略某些不需要提交文件类型和文件夹
项目开发中,开发人员经常用SVN来管理代码,在和服务器同步时,每次都看到一堆.class,.log,target等文件,这样很不舒服. 解决方法: 打开:window-->preferences ...
- MT【63】证明不是周期函数
证明$f(x)=sinx^2$不是周期函数. 反证:假设是周期函数,周期为$T,T>0$. $$f(0)=f(T)\Rightarrow sinT^2=0\Rightarrow T^2=k_1\ ...
- MT【44】抛物线不常见性质3
注:S为抛物线的焦点
- 自学Linux Shell17.1-正则表达式
点击返回 自学Linux命令行与Shell脚本之路 17.1-正则表达式 1. 正则表达式概念 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“ ...
- Java NIO -- 直接缓冲区与非直接缓冲区
直接缓冲区与非直接缓冲区: 非直接缓冲区:通过 allocate() 方法分配缓冲区,将缓冲区建立在 JVM 的内存中直接缓冲区:通过 allocateDirect() 方法分配直接缓冲区,将缓冲区建 ...
- Java中由常量类引发的思考
我们都知道,定义一个常量类是十分简单的.首先差固件一个类,然后类中声明一些public修饰的静态常量.没错就这么简单: 写好之后,在其他地方使用的时候,直接类名.属性名就可以使用了. 而LZ现在想的是 ...
- Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) D. Minimum path
http://codeforces.com/contest/1072/problem/D bfs 走1步的最佳状态 -> 走2步的最佳状态 -> …… #include <bits/ ...
- aop 初探
1.首先是配置文件: 上图是让aop配置正确,不报红: 完整代码: <?xml version="1.0" encoding="UTF-8"?> & ...