ubuntu 16.04配置caffe (CPU only)

本文详述了在Ubuntu 16.04上安装CPU版本Caffe的步骤,包括安装依赖、禁用nouveau、配置环境变量、放弃CUDA安装以及解决在虚拟机环境中遇到的问题。由于虚拟机不支持NVIDIA显卡,作者最终成功安装了CPU only的Caffe,并给出了验证和使用Jupyter Notebook的说明。
摘要由CSDN通过智能技术生成
因为系分大作业需要做一个点餐系统,里面的创新功能为摇一摇点餐推荐,会根据用户以前的点餐记录和其他用户的点餐选择来为用户做餐品推荐,所以如果数据量过大可能会用到深度学习,故开此博客记录ubuntu 16.04环境下安装caffe的过程。

参考的是caffe官方的Guide:ubuntu 16.04 Caffe Installation Guide
以及该篇博客ubuntu 16.04 caffe

因为我是在虚拟机的环境下进行安装的,所以前半部分为失败的尝试

第一步:安装依赖包:

安装过程中可能会出现各种错误,所以需要保证apt-get 版本为最新,使用sudo apt-get update来使apt-get更新到最新的版本。

依赖包安装命令依次为

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install -y build-essential cmake git pkg-config

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

sudo apt-get install -y libatlas-base-dev 

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

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

为了确保上述依赖包安装成功,需要验证是否安装成功,运行以下命令:

sudo apt-get install git cmake build-essential

如果出现如下提示,说明安装成功:

安装依赖成功
如果失败可以看看哪些包没有装成功,重新安装一遍。

第二步:禁用 nouveau

只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在 /etc/modprobe.d/blacklist-nouveau.conf 文件中添加一条禁用命令,首先需要打开该文件,通过以下命令打开:

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

打开后发现文件是空的,写入如下配置:

blacklist nouveau option nouveau modeset=0

这里写图片描述

保存后关闭,这时终端会报warning,无视即可:
这里写图片描述

执行以下命令使禁用 nouveau 生效:

sudo update-initramfs -u

第三步:配置环境变量

用gedit 命令打开配置文件:

sudo gedit ~/.bashrc

打开后在文件最后加入以下两行内容:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 

这里写图片描述
保存并退出。

第四步:下载CUDA

进入 https://developer.nvidia.com/cuda-downloads ,依次选择 CUDA 类型然后下载即可。

这里写图片描述

第五步:安装CUDA

下载的 CUDA 安装文件移动到 HOME 路径下,然后通过 Ctrl + Alt + F1 进入文本模式,输入帐号密码登录,通过 Ctrl + Alt + F7 可返回图形化模式,在文本模式登录后首先关闭桌面服务:

sudo service lightdm stop

然后通过 Ctrl + Alt + F7 发现已无法成功返回图形化模式,说明桌面服务已成功关闭,注意此步对接下来的 nvidia 驱动安装尤为重要,必需确保桌面服务已关闭。

因为CUDA安装包里包含了Nvidia的显卡驱动,所以需要先把原来的显卡驱动先删除,使用如下命令可以删除旧显卡驱动:

sudo apt-get purge nvidia*

接下来安装CUDA,Ctrl + Alt + F1 进入文本模式,然后运行 CUDA 安装文件进行安装,之前我们已经把 CUDA 安装文件移动至 HOME,直接通过 sh 命令运行安装文件即可:

sudo sh cuda_9.1.85_387.26_linux.run --no-opengl-libs

这里把文件名换成下载的对应的CUDA安装文件即可。
执行此命令约1分钟后会出现 0%信息,此时长按回车键让此百分比增长,直到100%,然后按照提示操作即可,先输入 accept ,然后让选择是否安装 nvidia 驱动,这里的选择对应第5步开头,若未安装则输入 “y”,若确保已安装正确驱动则输入“n”。

为了避免麻烦我只选择了安装显卡驱动,其他都是no,但是还是出现了问题,显示找不到kernel source。

后来查询资料才发现,虚拟机的显卡是虚拟显卡,并不是直接的物理显卡,只是利用了物理显卡的计算性能来模拟显卡,直接用如下命令查询Nvidia显卡信息:

lspci | grep -i nvidia

发现并没有显示显卡的信息,印证了虚拟机是使用的虚拟显卡:

这里写图片描述

这样的情况只好改为安装CPU only的caffe,过程相比于有GPU加速版本的caffe少去了安装CUDA和CuDNN、OpenCV的步骤。

参考

虚拟机VB.Ubuntu16.04.1.无GPU caffe环境配置

第一步:安装必要工具

先更新软件,再安装必要的辅助工具:
使用如下命令:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y build-essential
sudo apt-get install -y cmake
sudo apt-get install -y git
sudo apt-get install -y pkg-config
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

安装过程中出现失败可重新安装。

第二步:安装依赖包

安装依赖包使用如下命令:

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 libatlas-base-dev 
sudo apt-get install python-dev

安装过程中出现失败可重新安装。

第三步:下载并配置caffe

从github clone caffe:

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

安装pip,方便之后安装python库:

sudo apt-get install python-pip

使用pip -V可以查看python的版本,一般为2.7

安装必要的库:

cd caffe
cat python/requirements.txt | xargs -L 1 sudo pip install

添加软链:

sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7  
sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/ /usr/local/include/python2.7/numpy

配置Makefile.config

进入caffe目录

cp Makefile.config.example Makefile.config
vim Makefile.config
#去掉CPU_ONLY:=1的注释
#在PYTHON_INCLUDE下把
#  /usr/lib/python2.7/dist-packages/numpy/core/include
#改为
#  /usr/local/lib/python2.7/dist-packages/numpy/core/include

使用make caffe编译caffe,发现有一项错误,提示没有hdf5.h头文件,发现hdf5
.h文件的位置发生了变化,所以需要修改Makefile.config 94行,修改如下:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
改为
INCLUDE_DIRS :=  $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

然后继续编译caffe:

make all
make test
make runtest
make pycaffe

一切顺利的话就已经配置好了caffe

但是此时在命令行输入python,然后输入import caffe还是显示找不到module,因为并没有把python的环境变量定位到/python/文件夹中,所以最后一步还需要添加环境变量:

gedit ~/.bashrc

在最后添加python的环境变量:
这里写图片描述
然后使之生效:

source ~/.bashrc

这样在任何目录下输入python之后import caffe module都不会报错了:
这里写图片描述

最后再装一下好用的jupyter notebook,用pip安装即可:

sudo pip install jupyter

配置完毕:
这里写图片描述

命令行输入:

jupyter notebook

即可调出notebook界面:
这里写图片描述

notebook是个交互式的python工具,功能很强大,详情见:

jupyter notebook

这样就装好了caffe(CPU only),下次有空更新一下windows下GPU版本的caffe安装过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值