我的本机环境如下,任何的环境上的不一致可能会带来一些安装上的问题,所以这个教程只是一个简单的参考。

环境

  • 操作系统: Ubuntu 16.04
  • GPU型号: Tesla M40 24GB
  • Python: 2.7 路径 /usr/bin/python即全局的python解释器

caffe2必备依赖的安装

sudo apt-get update
sudo apt-get install -y --no-install-recommends \build-essential \cmake \git \libgoogle-glog-dev \libprotobuf-dev \protobuf-compiler \python-dev \python-pip
sudo pip install numpy protobuf

GPU用户需要安装的依赖

GPU的用户需要GPU驱动,除此以外还有CUDA和CUDNN的依赖。详细方法可以参照这个博客的内容。 caffe安装教程 以下介绍一种简单的方法,根据自己环境调整

cuda的apt-get安装,版本8.0

sudo apt-get update && sudo apt-get install wget -y --no-install-recommends
wget "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb"
sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

cudnn的安装,版本号为5.1

CUDNN_URL="http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz"
wget ${CUDNN_URL}
sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local
rm cudnn-8.0-linux-x64-v5.1.tgz && sudo ldconfig

caffe2需要的其他依赖

同样的,还需要一些caffe2自身依赖的库。这部分可选,根据库名可以看出这里面包含opencv这样的图像处理的库,leveldb这样的文件格式处理库,openmpi这样的mpi通讯框架(用于分布式训练)等等,以及一些python上可选的依赖。

# for both Ubuntu 14.04 and 16.04
sudo apt-get install -y --no-install-recommends \libgtest-dev \libiomp-dev \libleveldb-dev \liblmdb-dev \libopencv-dev \libopenmpi-dev \libsnappy-dev \openmpi-bin \openmpi-doc \python-pydot
sudo pip install \flask \future \graphviz \hypothesis \jupyter \matplotlib \pydot python-nvd3 \pyyaml \requests \scikit-image \scipy \setuptools \six \tornado

编译安装

clone项目并且编译,clone的速度可能不会很快,因为还需要下载一些第三方的依赖文件,花费时间比较长。

git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2
make && cd build && sudo make install
python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"

上面给出了编译之后测试是否成功的方法,在python中导入相应的包看看是否成功。

python -m caffe2.python.operator_test.relu_op_test

执行以上的python模块化执行的命令可以测试是否能够正常地在caffe2中使用GPU,需要注意的是此时不能更改目录,还需要在make时候进入的build目录中。 为了能够在所有目录中都能正常使用caffe2,需要修改环境变量。建议修改用户目录下的.bashrc文件,这样系统的不同用户之间不会冲突。

vim ~/.bashrc
#在文件的最后一行插入以下内容(需要替换caffe2的路径)
export PYTHONPATH=/usr/local:$PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/path/to/caffe2_ROOT/buildexport LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH#然后保存文件重新source一下
source ~/.bashrc

Ubuntu16.04 Caffe2 编译安装步骤记录相关推荐

  1. Ubuntu16.04 Caffe 编译安装步骤记录

    历时一周终于在 ubuntu16.04 系统成功安装 caffe 并编译,网上有很多教程,但是某些步骤并没有讲解详尽,导致配置过程总是出现各种各样匪夷所思的问题,尤其对于新手而言更是欲哭无泪,在我饱受 ...

  2. gcc-linux6.3,[环境配置]Ubuntu16.04下编译安装gcc6.3.0

    上一篇的SVS要用gcc6.3编译,否则结果不正确,本来以为gcc很好装,结果发现用apt-get安装gcc6只能安装6.5版本,代码作者奇特的要求只能用gcc6.3,没办法只能用源码装了,期间碰见了 ...

  3. Kubernetes 1.15.0 ubuntu16.04 高可用安装步骤

    1. 服务器说明 使用的是3台ubuntu16.04的虚拟机,具体信息如下: 172.16.100.238 master 172.16.100.239 master1 172.16.100.240 m ...

  4. ubuntu16.04下编译安装OpenCV

    一: 预先配置 为使OpenCV的安装在编译时更完备,预先安装好所有的开发平台: 二:编译OpenCV 在OpenCV官网下载UNIX的源码包: 安装一下软件: sudo apt-get instal ...

  5. msgpack php 安装,在ubuntu16.04下编译安装php7的扩张msgpack2.0.1

    提示如下错误:C语言忘光了,查看了msgpack.c的源码 不知道如果处理,望高手帮助 /data/softwares/php-7.1.0beta3/ext/msgpack-2.0.1/msgpack ...

  6. Ubuntu16.04 Caffe 安装步骤记录(超详尽)

    历时一周终于在 ubuntu16.04 系统成功安装 caffe 并编译,网上有很多教程,但是某些步骤并没有讲解详尽,导致配置过程总是出现各种各样匪夷所思的问题,尤其对于新手而言更是欲哭无泪,在我饱受 ...

  7. Ubuntu16.04下TensorFlow-GPU安装记录(GTX1060显卡)

    Ubuntu16.04下TensorFlow-GPU安装记录 1 确定电脑型号(重要的是显卡型号) 2 确定CUDA版本.ubuntu版本 3 Win10系统下安装Ubuntu组成双系统(简述过程) ...

  8. 工作站Ubuntu16.04环境下安装nvidia显卡驱动

    近期实验室的工作站,由于teamviewer的原因又崩了.这次只能重装系统才得以解决.nvidia驱动安装步骤记录如下: 备注:工作站品牌为北京联众集群.配备有2块NVIDIA Titan xp 12 ...

  9. 基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja_wrapper错误问题

    基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja_wrapper错误问题 Ubuntu 1604系统除了root,还有kandi和sundi两个用户, ...

最新文章

  1. 和菜鸟一起学证券投资之股市常见概念公式1
  2. 大数据量生成工具源代码(Delphi)
  3. LIS路径记录(UVA481)
  4. [js] script所在的位置会影响首屏显示时间吗
  5. C++——二进制输出一个数以及输出double型位数过多情况
  6. 图论算法在机试实现中的一些技巧和陷阱
  7. python zipfile_python zipfile模块
  8. python之路alex_Python之路--python基础2
  9. mysql 设置 server id_详解Mysql存储引擎
  10. Senparc.Weixin.MP.Sample 配置redis服务器密码
  11. 试试这个AI实验:把2D图像转换成3D
  12. Java小白入门200例54之打印水仙花数
  13. 热敏标签打印机打印不清晰如何解决
  14. git 下载指定历史版本
  15. 互联网奥秘_Excel数据表的奥秘
  16. 网络工程师必知:网关与防火墙有什么区别?
  17. MacBook Air老本重装系统
  18. Linux下hmmer安装避坑必看
  19. JavaScript parseInt和parseFloat用法
  20. 网络攻防原理及应用 知识梳理

热门文章

  1. Centos 7初始化脚本
  2. ImageView的scaleType详解
  3. Gmap.net 怎么导入离线地图
  4. CSRF简单介绍及利用方法-跨站请求伪造
  5. jQuery中的.bind()、.live()和.delegate()之间区别分析,学习jquery
  6. windows server 2008 IE代理服务器实验
  7. java 的转义字符,在正则表达式中应用
  8. Linux上Svn环境搭建
  9. Spring IOC容器-注解的方式
  10. Android 6.0 源代码编译实践