首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ubuntu16.04安装caffe cpu版

1.安装caffe依赖包

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

2.安装caffe python3接口

sudo apt install python3-pip #安装pip工具。

sudo apt install python3-numpy #解决后面编译无法找到numpy错误。

sudo apt-get install gfortran #安装依赖文件

sudo pip3 install matplotlib#解决后面import caffe报错

ubuntu系统默认是python2.7版本,若使用python3需在下载安装包时使用python3。例如(python2已经很久没有更新,建议使用python3)

使用默认python下载numpy :

sudo apt install numpy

指定python3下载numpy :

sudo apt install python3-numpy

同样,在终端输入python默认查看的是python2的版本号,输入python3则是查看python3的版本号,因为ubuntu16.04可能同时有安装python2和python3,如果没有则需自行安装,终端直接输入可查看python版本号(Ctrl+Alt+T打开终端)

3.安装git

sudo apt-get install git

4.安装caffe

下载caffe:

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

进入到caffe目录下:

cd caffe/

拷贝一个Makefile.config副本:

修改Makefile.config文件:

sudo gedit Makefile.config

(1)去掉CPU_ONLY := 1前面的#号

(2)原来的路径配置:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

修改为(解决如果不修改出现的找不到hdf5相关文件的问题):

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/hdf5/serial

使用python3还需要做如下修改,将PYTHON_INCLUDE python2的注释掉,取消python3的注释

#python2

#PYTHON_INCLUDE := /usr/include/python2.7 \

# /usr/lib/python2.7/dist-packages/numpy/core/include

#python3

PYTHON_LIBRARIES := boost_python3 python3.5m

PYTHON_INCLUDE := /usr/include/python3.5m \

/usr/lib/python3/dist-packages/numpy/core/include

注意:最好确认一下PYTHON_INCLUDE 中文件夹是否存在,如果不存在可能在别的文件夹下,则需要做调整,比如numpy路径可能为

/usr/lib/python3.5/dist-packages/numpy/core/include

保存退出。

5.编译caffe:

编译caffe,make默认单核运算,-j2表示双核(-j4四核,-j8八核),可加快编译速度,根据自己实际情况修改。

sudo make all -j2

sudo make test -j2

sudo make runtest -j2

注意:如果执行结果失败,则需要执行语句,然后解决掉问题重新编译

插曲:

(如何将默认的python版本由python2切换到python3):

(此步骤不需要执行,了解就行)

安装完python3,系统默认还是python2.7,如果想切换到python3

切换到/usr/bin目录下,然后查看所有可用的python版本

cd /usr/bin

ls |grep python

查看默认python版本(我已经切换过,所以是python3)

切换python版本

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1

sudo update-alternatives --list python

sudo update-alternatives --config python

(此步不需要进行操作)

6.安装Python接口依赖库

在caffe根目录下,有个python文件夹,文件夹里面有个requirements.txt,里面有需要的依赖库和版本信息,按照其安装即可

cd~/caffepip3 install -r python/requirements.txt

将caffe根目录下的python文件夹加入到环境变量:

先打开配置文件bashrc:

sudogedit ~/.bashrc

在文件的最后添加:

exportPYTHONPATH=/home/chen/caffe/python:$PYTHONPATH

注意:这里的路径每个人电脑都不一样,例如,我下载的caffe在/home/chen/下面,所以路径为/home/chen/caffe/python

然后执行更新配置(有时更新不起作用时,可以重启电脑就会有效)

sudoldconfig

编译python接口:

cd ~/caffe/

sudo make pycaffe -j2

5.验证python接口:

进入python环境,导入caffe包,如果没有报错则安装成功,如果报错可能之前添加环境变量后配置没有更新成功,重启电脑后,重新导入应该就可以了。

终端输入

python3

import caffe

其他问题:

1.解决`/usr/bin/ld: cannot find -lboost_python3` 错误

sudo ln-s/usr/lib/x86_64-linux-gnu/libboost_python-py35.so /usr/lib/x86_64-linux-gnu/libboost_python3.so

2.若import caffe时遇到错误最后面是:

raise ValueError,"Can't create weekday with n == 0"

SyntaxError:invalid syntax

执行下面命令可以解决:

pip3 install python-dateutil --upgrade

3.make:Nothing tobe done for 'pycaffe.'

解决:sudo make clean

sudo make all

sudo make test

sudo make runtest

sudo make pycaffe

4.过程中若有遇到 Permission denied 的错误

则使用 :sudo chmod -R 777 某一目录

(将文件权限设置到最高级)

执行任何命令时若遇到权限问题,一般先在命令前加上sudo

备注:

1.查看opencv的版本:

pkg-config --modversion opencv

2.查看python安装路径:

1).终端输入 python,进入当前python环境

2).输入以下命令查看当前python安装路径:

import sys

print(sys.executable)

3.重新绑定python

进入python安装路径,假如是:usr/bin

输入如下命令:

cd /usr/bin

sudo rm python

sudo ln -s python3 python

此时python版本变为python3

4.升级

pip3 install --upgrade 要升级的包名

5.使环境变量生效

source ~/.bashrc

6.检查自己电脑是否具有GPU

lspci | grep -i nvidia

如果未显示任何内容,则证明你的电脑不支持GPU

参考链接:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190113G0IE9X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券