一篇顺手的Ubuntu+caffe配置笔记
主要参考:
环境: Ubuntu 14.04 desktop, CUDA 7.5
Basics
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get autoremove
sudo apt-get install git
Nvidia Drivers
- 现在的显卡驱动安装,CUDA安装不需要关闭图形界面也可以实现;
- 也不像很多博客所说的那样,转cuda之前不能更新,否则有可能会崩溃之类的;
- Nvidia Drivers的安装可以通过ubuntu自带的”软件和更新“里的附加驱动实现;
- 或者按照所提供网址里面的方法实现驱动安装;
- 另外一种说法是现在CUDA集成驱动,在关闭图形界面的情况下安装CUDA可以自动把驱动也装好,这个可能通过在线安装,顺带安装依赖项实现,离线安装包可能较小;
- 推荐352,而不是最新的361.42,最新的不一定最合适
lspci | grep -i nvidia
在线安装:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-
或者官网下载离安装包,安装
sudo shutdown -r now
查看驱动版本:
cat /proc/driver/nvidia/version
CUDA
sudo dpkg -i cuda-repo-ubuntu1404*amd64.deb
sudo apt-get update
sudo apt-get install cuda
添加路径:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
检查CUDA版本:
nvcc -V
重启系统:
sudo shutdown -r now
cuDNN
cd ~/Downloads/
tar xvf cudnn*.tgz
cd cuda
sudo cp */*.h /usr/local/cuda/include/
sudo cp */libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
这里其实就是复制相关文件到cuda目录,奇怪为啥cuda不集成cuDNN,也有可能已经自带,未做验证;
sudo ln -sf /usr/local/lib/libcudnn.so.4.0. /usr/local/lib/libcudnn.so.
sudo ln -sf /usr/local/lib/libcudnn.so. /usr/local/lib/libcudnn.so
检查:
nvidia-smi
OpenBLAS
mkdir ~/git
cd ~/git
git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
make FC=gfortran -j $(($(nproc) + ))
sudo make PREFIX=/usr/local install
添加路径:
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
Common Tools
- 关于相关python依赖项,可以参照所给出的网址尝试,也可以直接安装Anaconda2一步到位,只是注意添加额外的环境变量:
- 当然也可以不装Anaconda2直接安装;
- 跑一下,稍作检查,确保依赖项都在;
sudo apt-get install -y libfreetype6-dev libpng12-dev
pip install -U matplotlib ipython[all] jupyter pandas scikit-image
还有一些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
OpenCV
sudo sh Ubuntu/dependencies.sh
进入Ubuntu\3.0\安装OpenCV 3.0.0:
sudo sh opencv3_0_0.sh
如果成功安装应该不会有什么错误提示:
pkg-config --modversion opencv
Caffe
cd ~/git
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config
主要是新建了一个git文件夹,下载caffe安装包到git路径里面:
sudo gedit /caffe/Makefile.config
USE_CUDNN :=
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
# 默认启用OpenBLAS
PYTHON_LIB := /usr/local/lib # pythn库
MATLAB_DIR := /usr/local/MATLAB/R2014a # Matlab安装路径,用于链接Matlab
OPENCV_VERSION = # OpenCV
仅仅列出修改部分,如果使用Anaconda配置文件中有相关修改,只需要取消注释就可以了,并修改路径为自己Anaconda安装路径;
make all -j16
make test -j16
make runtest -j16
添加“-16”为使用多核进行编译,速度更快;
make pycaffe -j16
make matcaffe -j16
一篇顺手的Ubuntu+caffe配置笔记的更多相关文章
- ubuntu——caffe配置deeplab
1. 下载deeplab 2. 安装matio sudo apt-get install libmatio-dev 3. 修改Makefile文件 LIBRARIES += glog gflags p ...
- 新装系统(CentOS7.4)环境初始化配置笔记
新装系统(CentOS7.4)环境初始化配置笔记 一.概述 设备详情: Dell R730 服务器 (四个网卡,一根网线插在第2个网卡上) CentOS 7.4 x64 最小安装环境 二.网络环境配置 ...
- Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
- 沈逸老师ubuntu速学笔记(1)--安装flashplayer,配置中文输入法以及常用命令
开篇首先感谢程序员在囧途(www.jtthink.com)以及沈逸老师,此主题笔记主要来源于沈老师课程.同时也感谢少年郎,秦少.花旦等同学分享大家的学习笔记. 1.安装flash player ctr ...
- Ubuntu虚拟机+ROS+Android开发环境配置笔记
Ubuntu虚拟机+ROS+Android开发环境配置笔记 虚拟机设置: 1.本地环境:Windows 7:VMWare:联网 2.虚拟环境 :Ubuntu 14.04. 比較稳定,且支持非常多ROS ...
- Caffe学习笔记2--Ubuntu 14.04 64bit 安装Caffe(GPU版本)
0.检查配置 1. VMWare上运行的Ubuntu,并不能支持真实的GPU(除了特定版本的VMWare和特定的GPU,要求条件严格,所以我在VMWare上搭建好了Caffe环境后,又重新在Windo ...
- Caffe学习笔记4图像特征进行可视化
Caffe学习笔记4图像特征进行可视化 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hit201 ...
- CAFFE学习笔记(四)将自己的jpg数据转成lmdb格式
1 引言 1-1 以example_mnist为例,如何加载属于自己的测试集? 首先抛出一个问题:在example_mnist这个例子中,测试集是人家给好了的.那么如果我们想自己试着手写几个数字然后验 ...
- 烂泥:ubuntu下配置msmtp+mutt发送邮件
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 本文主要介绍如何在Linux下使用msmtp+mutt发送邮件,当然Linux下发送邮 ...
随机推荐
- 字符串比较strcmp
问题: 原型:extern int strcmp(const char *s1,const char * s2); 所在头文件:string.h 功能:比较字符串s1和s2. 一般形式:strcmp( ...
- JForum2.1.9 安装过程
JForum2.1.9 安装过程 JForum2.1.9 安装过程 2013/08/10 0:48 1.第一次接触 2013/08/08 在开源中国看到一个国外开源的Java论坛,然后下载JForum ...
- How to deploy openbr on linux server very shorly---- linuxmint13/ubuntu12.04 AMD64/debian7
SO FAST ON A SERVER!!!! There are serveral packages that you have to install: 1. openbr 0.6.0 packag ...
- HDU 3127 WHUgirls dp背包问题
WHUgirls Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total ...
- hdu-4471-Homework-矩阵快速幂+优化加速
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4471 题目意思: 求f(n). 当n为特殊点nk时 解题思路: 当x不为特殊点时,直接用基本的矩阵快 ...
- 蓝牙UUID——Android各种蓝牙设备的UUID
本文转自:http://www.14blog.com/archives/481 UUID是“Universally Unique Identifier”的简称,通用唯一识别码的意思.对于蓝牙设备,每个 ...
- 以helloworld为例讲解magento中控制器的工作
1.下面介绍的前提是你已经安装了magento ,版本是1.9.1.0. 2.下面是实际步骤 ①在工程下面创建下面的文件目录 app/code/local/Magentotutorial/Hellow ...
- oc之封装与类之间的关系
1. 面向对象的特征-封装? 封装: 现实生活中的封装: 将很多的小东西 塞在1个大口袋里面. 好处: a. 对外部屏蔽. b. 方便管理. 代码的封装: 函数/方法 就是1种封装的体现: 将一段代码 ...
- C语言之分支结构 if(一)
一 程序的三种基本结构 顺序结构:程序从上往下依次执行,这个叫顺序结构 分支结构:有选择的执行或者不执行某段代码 循环结构:重复的执行某段代码 二 分支结构之if 最简单的俩种用法 (tips: if ...
- 【APEX初步】【2】【sObjects与数据库】
由于apex是与数据库集成的.我们可以直接用apex访问数据库.每条记录就是一个SObject对象