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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle中视图窗粉色的,Oracle 11g日常操作与维护手册

# /oracle/crs/bin/srvctl config nodeapps -a -n linux1RAC安装完以后,可以修改两个节点的VIP。前提是修改后的VIP必须没有被其他系统使用掉。正确的修改方法如下:步骤1:使用srvctl修改VIP进入/crs/bin目录下执行如下命令:# ./sr…

Go语言Web框架gwk介绍 (一)

今天看到Golang排名到前30名了,看来关注的人越来越多了,接下来几天详细介绍Golang一个web开发框架GWK。 现在博客园支持markdown格式发布文章么?后台的编辑器不太好用嘛。 GWK 简介 gwk(GO Web Server Kit)是GO语言的Web Server开发框架&…

3D手势姿态跟踪算法:手机端实时检测,多个手势同时捕捉

就在不久前,Google 人工智能实验室宣布,他们在「实时手部跟踪」方面取得了新的进展,并将这项新技术运用在了 MediaPipe 中,这也是 AI 计算机视觉任务的一大突破。这一技术不光可以在手机上实现实时捕捉性能,甚至可以同…

Windows服务的快速搭建与调试(C#图解)

目录 一、什么是Windows 服务? 二、创建Windows 服务与安装/卸载批处理。 三、调试Windows 服务。 正文 一、什么是Windows 服务? 答:Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自…

使用 JMeter 进行API接口压力测试

使用 JMeter 进行API接口压力测试 一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施…

ser,ver

friend_conservation_bgfriend_conversation_bg.png, [self.bgButtonsetBackgroundImage:[[UIImageimageNamed:"conversation_bg.png"] stretchableImageWithLeftCapWidth:10topCapHeight:30] forState:UIControlStateNormal]; xy方向 找 两根线 来 拉伸,…

linux 删除node进程,关于node.js:杀死Linux中的节点进程

尝试使用节点server.js运行节点服务器时,我收到侦听EADDRINUSE ::: 4002的错误。 我通过以下命令在端口4002上监听进程:sudo lsof -i:4002。 之后,我尝试使用kill -9终止进程。 问题是当我在终止进程后再次运行sudo lsof -i&#…

MS SQL查询库、表、列数据结构信息汇总

前言 一般情况我们下,我们是知道数据库的表、列信息的(因为数据库是我们手动设计),但特殊情况下,如果你只能拿到数据库连接信息,也就是知道的一个数据库名的情况下,你要怎么得到它下面的所有表…

linux 程序占内存,linux下,一个运行中的程序,究竟占用了多少内存

1. 在linux下,查看一个运行中的程序, 占用了多少内存, 通常的命令有php(1). ps aux:html其中 VSZ(或VSS)列 表示,程序占用了多少虚拟内存。linuxRSS列 表示, 程序占用了多少物理内存。ios虚拟内存能够不用…

C#常用代码汇总

1、字符串首字母转为大写。 System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase("字符串"); 2、winform选取文件及文件夹。 // 选取文件OpenFileDialog openFileDialog new OpenFileDialog();openFileDialog.Filter "文本文件|*.*|C#文件…

如何搭建一个完整的Vue3.0 + ts 的项目

如何搭建一个完整的Vue3.0 ts 的项目 相信9月18日尤大大的关于Vue3.0的发表演讲大家一定有所关注,现在Vue3.0 也已经进入RC阶段(最终产品的候选版本,如果没有问题则可发布成为正式版本)。所以Vue3.0的学习是我们必然的趋势,今天&…

C#下2\10\16进制互转代码总汇

1、十进制转换其他:Convert.ToString(十进制数字, 2|8|16进制模式) //十进制转二进制Convert.ToString(69, 2);//十进制转八进制Convert.ToString(69, 8);//十进制转十六进制Convert.ToString(69, 16); 2、其他进制转换十进制:Convert.ToInt32(待转换数…

手机客户端和服务器端通信

2019独角兽企业重金招聘Python工程师标准>>> 手机客户端与服务器端的通信,不同于浏览器与服务器端的通信。浏览器和服务器端的通信依靠session去维持一个会话, 当这一切搬到手机上仿佛一切都失效了。 1.在上一家公司的时候公司同事曾经问过我…

linux下boot文件是什么文件,Boot.ini是什么文件?Boot.ini文件在哪里

Boot.ini 文件是系统启动引导程序文件,装多系统或者重装系统的时候会用到它。因此,由于系统启动而造成的问题也不在少数,那Boot.ini是什么文件呢?Boot.ini文件在哪里?下面就跟小编一起去了解一下吧!步骤如下…

Kubeflow使用Kubernetes进行机器学习GPU分布式训练

Kubeflow使用Kubernetes进行机器学习 Kubeflow是Google推出的基于kubernetes环境下的机器学习组件,通过Kubeflow可以实现对TFJob等资源类型定义,可以像部署应用一样完成在TFJob分布式训练模型的过程。最初的设计是将Kubernetes和Tensorflow结合实现对Te…

Net操作配置文件(Web.config|App.config)通用类

一、Net操作web.config通用类(代码如下): using System;using System.Configuration;using System.Web;using System.Web.Configuration;/// ConfigurationOperator 的摘要说明public class ConfigurationOperator : IDisposable{private Con…

hibernate 程序运行时的错误,及解决办法(不定期更新)

这个错误是因为&#xff1a;没有配置hibernate.cfg.xml中的最后一项 <mapping resource"org/hibernate/first/model/Student.hbm.xml"/>这个错误是因为&#xff1a;在配置hibernate缓存的时候出的错&#xff0c;我就把我这个缓存代码删除掉了。代码如下<pro…

嵌入式linux设计师,make在linux——《嵌入式linux设计与应用》

程序模块的内部关系决定了源程序编译和链接的顺序。通过建立makefile可以描述模块间的 相互依赖关系。make命令从中读取这些信息&#xff0c;然后根据这些信息对程序进行管理和维护。在makefile 里主要提供的是有关目的文件与依靠文件之间的关系&#xff0c;还指明了用什么命令…

kubernetes集群使用GPU及安装kubeflow1.0.RC操作步骤

kubernetes集群使用GPU及安装kubeflow1.0.RC操作步骤 Kubeflow使用场景 希望训练tensorflow模型且可以使用模型接口发布应用服务在k8s环境中(eg.local,prem,cloud) 希望使用Jupyter notebooks来调试代码&#xff0c;多用户的notebook server 在训练的Job中&#xff0c;需要对…

T-Sql备份还原数据库

代码如下&#xff1a; -- 备份数据库BACKUP DATABASE 数据库名称 TO DISK 物理存储位置 WITH FORMAT,CHECKSUM -- 还原数据库alter database 数据库名称 set offline with rollback immediate -- 设置数据库脱机RESTORE FILELISTONLY From disk 待还原文件地址 --查询待…