UBUNTU 15.10 CAFFE安装教程(测试可用)
转帖:https://github.com/BVLC/caffe/wiki/Ubuntu-15.10-Installation-Guide
Ubuntu 15.10 have been released for a couple of days. It is a bleeding-edge system coming with Linux kernel 4.2 and GCC 5. However, compiling and running Caffe on this new system is no longer as smooth as on earlier versions. I have done some research related to this issue and finally find a way out. I summarize it here in this short tutorial and I hope more people and enjoy this new system without breaking their works.
Install NVIDIA Driver
The latest NVIDIA driver is officially included in Ubuntu 15.10 repositories. One can install it directly via apt-get
.
sudo apt-get install nvidia-352-updates nvidia-modprobe
The nvidia-modprobe
utility is used to load NVIDIA kernel modules and create NVIDIA character device files automatically everytime your machine boots up.
Reboot your machine and verify everything works by issuing nvidia-smi
or running deviceQuery
in CUDA samples.
References
Install CUDA 7.5
CUDA 7.5 is provided by neither Ubuntu official nor CUDA repositories for Ubuntu 15.10. But we can still install it using .run
file.
cd ~
wget http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run
chmod +x cuda_7.5.18_linux.run
./cuda_7.5.18_linux.run --extract=/home/$USER
sudo ./cuda-linux64-rel-7.5.18-19867135.run
Follow the instructions there and configure runtime library after the installation finishes.
sudo bash -c "echo /usr/local/cuda/lib64/ > /etc/ld.so.conf.d/cuda.conf"
sudo ldconfig
Install all other dependencies
Follow instructions here
Download Caffe
cd ~
git clone https://github.com/BVLC/caffe.git
By now you should be unable to compile it due to serveral incompatibility problems. Let’s fix them one by one.
Hack CUDA to support GCC 5
By default, CUDA 7.5 does not support compling with GCC 4.10 or later versions. It will report the following errors when compiling Caffe.
In file included from /usr/local/cuda/include/cuda_runtime.h:76:0,
from <command-line>:0:
/usr/local/cuda/include/host_config.h:115:2: error: #error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
#error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
^
You can try install gcc-4.9
and g++-4.9
to solve this problem temporarily. But the linker will report undefined references
errors later because all other libraries (protobuf
,leveldb
,opencv
) in Ubuntu 15.10 are compiled with GCC version 5.2. They are not compatible.
To solve this problem we have to “hack” the CUDA toolkit by editing /usr/local/cuda/include/host_config.h
. Comment line 115.
--- #error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
+++ //#error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
Fix hdf5
naming problem
Your machine may report the following error when compiling Caffe even though libhdf5-serial-dev
package has been already installed in it.
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
This is because of change of default path and name of hdf5
head files and libraries in Ubuntu 15.10. To solve this problem, we can simply modify Makefile
files.
Append /usr/include/hdf5/serial/
to INCLUDE_DIRS
at line 85 in Makefile.config
.
--- INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
+++ INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
Modify hdf5_hl
and hdf5
to hdf5_serial_hl
and hdf5_serial
at line 173 in Makefile
--- LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
+++ LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
Compile and Test Caffe
By now, all incompatibility issues should have been solved. We can start to compile and test Caffe.
cd ~/caffe
make -j8
make test -j8
make runtest -j8
Hopefully all tests pass.
Notes
- Running
sudo make runtest
once may help you fix a lot of runtime errors until next reboot, although it is not a recommended way. - You might need to append
LC_ALL="en_US.UTF-8"
to/etc/environment
and reboot your machine if there are runtime errors related tolocale::facet::_S_create_c_locale name not valid
.
UBUNTU 15.10 CAFFE安装教程(测试可用)的更多相关文章
- Ubuntu 15.10 x64 安装 Android SDK
操作系统:Ubuntu 15.10 x64 目标:安装 Android SDK 本文最后更新时间:2015-11-3 安装32位库文件 2013年9月的iPhone 5s是第一款64位手机,而Andr ...
- Ubuntu 15.10 x64 安装 Android SDK(转)
操作系统:Ubuntu 15.10 x64 目标:安装 Android SDK 本文最后更新时间:2015-11-3 安装32位库文件 2013年9月的iPhone 5s是第一款64位手机,而Andr ...
- Ubuntu 15.10 下Tachyon安装
1 系统环境 Ubuntu 15.10, Java 1.7, Hadoop 2.6.0 HA, Spark-1.4.0 三台机器 spark-1423-0001: Master, Worker spa ...
- Ubuntu 15.10 安装推荐链接
整理一些Ubuntu 15.10系统安装使用的链接. Ubuntu官网下载:http://www.ubuntu.com/download/desktop,目前最新的版本是Ubuntu 15.10. 网 ...
- Ubuntu 15.10安装elementary desktop
elementaryOS的风格类似于macos,基于Ubuntu改造,个人比较喜欢其界面理念,简单清晰.因此下载了elementaryOS Freya使用,使用过程中,各个软件版本的升级比较落后,比如 ...
- 安装Ubuntu 15.10后要做的事
Ubuntu 15.10发布了,带来了很多新特性,同样也依然带着很多不习惯的东西,所以装完系统后还要进行一系列的优化. 1.删除libreoffice libreoffice虽然是开源的,但是Java ...
- 【转】安装Ubuntu 15.10后要做的事
Ubuntu 15.10发布了,带来了很多新特性,同样也依然带着很多不习惯的东西,所以装完系统后还要进行一系列的优化. 1.删除libreoffice libreoffice虽然是开源的,但是Java ...
- ubuntu 15.10安装搜狗输入法不能打开
安装Linux是为了更好的做开发,而开发其实不需要输入中文的,然而 在大中国的环境下,电脑没有中文输入法是不行的... 这次装ubuntu 坚持了4天没有中文输入法,我能说,其实没有中文输入法貌似也没 ...
- 黑苹果macOS Sierra 10.12 安装教程(venue11 pro测试)
黑苹果macOS Sierra 10.12 安装教程(venue11 pro测试) 2017-03-12 03:46:24 by SemiconductorKING PS:刚刚装好黑苹果,来记录一篇折 ...
随机推荐
- Java EE javax.servlet.http中的HttpRequest抽象类
HttpRequest抽象类 public abstract class HttpServlet extends GenericServlet 实现的接口有:Serializable, Servlet ...
- .Net高级工程师面试题
----------高级开发工程师岗位职责: 1.完成平台系统新功能模块开发,维护现有产品,独立地设计.开发.实现和测试关键系统: 2.负责公司项目核心代码的编写: 3.根据产品需求进行业务功能的开发 ...
- ACM算法练习-——ZJU1164-Software CRC
具体的题目描述点此链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1164 这道题,说实话 ...
- NPOI_winfrom导出Excel表格(二)(直接打开Excel软件,将数据填充在当前的sheet中)
//// 存储路径弹框选择 SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.DefaultExt = "xls&qu ...
- CentOS7 yum安装Mariadb
1.安装Mariadb #yum -y install mariadb mariadb-server 1.1当执行程序末端显示Complete则完成安装 2.安装完成后启动服务 # systemctl ...
- AL11新建目录、删除目录
AL11可以进入SAP应用服务器中. 项目上需要和外围系统做接口 写文件到文件服务器上,让外围系统过来读取,但是为了减少SAP应用服务器的负担,需要一台独立的文件服务器共享目录到SAP应用服务器, 也 ...
- 常用的Java工具类——十六种
常用的Java工具类——十六种 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选 ...
- JavaWeb【四、JSP基础语法】
简介 JSP--Java Server Pages,根本是一个简化的Servlet设计,实现了在Java中使用HTML标签. 特点 跨平台,安全性好,大型站点开发,企业级Web应用,大数据. 对比: ...
- shell查询MySQL并将结果写入文件中
背景 说下需求,自己搭建的一个接口开放平台,包含API文档和功能测试,部分内网地址需要修改hosts文件 准备 新建表 然后查看服务器中hosts文件 命令:cat /etc/hosts 我们要做的就 ...
- 【异常】hue:unknown database hue
1 hue error日志报错,找不到hue数据库 2 解决办法 删除hue服务,重新添加,再次在添加database阶段验证密码,test通过,再继续. 还有造成这个事情的原因,是自己移动了mysq ...