Ubuntu16.04 Caffe2 编译安装步骤记录
我的本机环境如下,任何的环境上的不一致可能会带来一些安装上的问题,所以这个教程只是一个简单的参考。
环境
- 操作系统: 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 编译安装步骤记录相关推荐
- Ubuntu16.04 Caffe 编译安装步骤记录
历时一周终于在 ubuntu16.04 系统成功安装 caffe 并编译,网上有很多教程,但是某些步骤并没有讲解详尽,导致配置过程总是出现各种各样匪夷所思的问题,尤其对于新手而言更是欲哭无泪,在我饱受 ...
- gcc-linux6.3,[环境配置]Ubuntu16.04下编译安装gcc6.3.0
上一篇的SVS要用gcc6.3编译,否则结果不正确,本来以为gcc很好装,结果发现用apt-get安装gcc6只能安装6.5版本,代码作者奇特的要求只能用gcc6.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 ...
- ubuntu16.04下编译安装OpenCV
一: 预先配置 为使OpenCV的安装在编译时更完备,预先安装好所有的开发平台: 二:编译OpenCV 在OpenCV官网下载UNIX的源码包: 安装一下软件: sudo apt-get instal ...
- msgpack php 安装,在ubuntu16.04下编译安装php7的扩张msgpack2.0.1
提示如下错误:C语言忘光了,查看了msgpack.c的源码 不知道如果处理,望高手帮助 /data/softwares/php-7.1.0beta3/ext/msgpack-2.0.1/msgpack ...
- Ubuntu16.04 Caffe 安装步骤记录(超详尽)
历时一周终于在 ubuntu16.04 系统成功安装 caffe 并编译,网上有很多教程,但是某些步骤并没有讲解详尽,导致配置过程总是出现各种各样匪夷所思的问题,尤其对于新手而言更是欲哭无泪,在我饱受 ...
- Ubuntu16.04下TensorFlow-GPU安装记录(GTX1060显卡)
Ubuntu16.04下TensorFlow-GPU安装记录 1 确定电脑型号(重要的是显卡型号) 2 确定CUDA版本.ubuntu版本 3 Win10系统下安装Ubuntu组成双系统(简述过程) ...
- 工作站Ubuntu16.04环境下安装nvidia显卡驱动
近期实验室的工作站,由于teamviewer的原因又崩了.这次只能重装系统才得以解决.nvidia驱动安装步骤记录如下: 备注:工作站品牌为北京联众集群.配备有2块NVIDIA Titan xp 12 ...
- 基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja_wrapper错误问题
基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja_wrapper错误问题 Ubuntu 1604系统除了root,还有kandi和sundi两个用户, ...
最新文章
- 和菜鸟一起学证券投资之股市常见概念公式1
- 大数据量生成工具源代码(Delphi)
- LIS路径记录(UVA481)
- [js] script所在的位置会影响首屏显示时间吗
- C++——二进制输出一个数以及输出double型位数过多情况
- 图论算法在机试实现中的一些技巧和陷阱
- python zipfile_python zipfile模块
- python之路alex_Python之路--python基础2
- mysql 设置 server id_详解Mysql存储引擎
- Senparc.Weixin.MP.Sample 配置redis服务器密码
- 试试这个AI实验:把2D图像转换成3D
- Java小白入门200例54之打印水仙花数
- 热敏标签打印机打印不清晰如何解决
- git 下载指定历史版本
- 互联网奥秘_Excel数据表的奥秘
- 网络工程师必知:网关与防火墙有什么区别?
- MacBook Air老本重装系统
- Linux下hmmer安装避坑必看
- JavaScript parseInt和parseFloat用法
- 网络攻防原理及应用 知识梳理