专栏首页AIUAICaffe2 - (一)Source 安装及问题解决

Caffe2 - (一)Source 安装及问题解决

Caffe2 - From Source 安装

1. 安装

平台 - Ubuntu14.04 - Ubuntu16.04

从Source安装

依赖项:

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 支持

需要安装 NVIDIA CUDA 8cuDNN v5.1v6.0,官方推荐安装方式如下:

Step1 安装显卡驱动:
  • Ubuntu14.04
sudo apt-get update && sudo apt-get install wget -y --no-install-recommends
wget "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_8.0.61-1_amd64.deb"
sudo dpkg -i cuda-repo-ubuntu1404_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
  • Ubuntu16.04
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
Step2 安装cuDNN
  • cuDNN v5.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

其它依赖项

  • Ubuntu14.04 – libgflags2
# for Ubuntu 14.04
sudo apt-get install -y --no-install-recommends libgflags2
  • Ubuntu16.04 – libgflags-dev
# for Ubuntu 16.04
sudo apt-get install -y --no-install-recommends libgflags-dev
  • 其它依赖项
# 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 \
      graphviz \
      hypothesis \
      jupyter \
      matplotlib \
      pydot python-nvd3 \
      pyyaml \
      requests \
      scikit-image \
      scipy \
      setuptools \
      tornado

编译

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"

运行命令测试GPU-Caffe2是否编译成功:

python -m caffe2.python.operator_test.relu_op_test

环境变量设置

sudo vim ~/.bashrc
# 添加对应内容
source
echo $PYTHONPATH
# export PYTHONPATH=/usr/local:$PYTHONPATH
# export PYTHONPATH=$PYTHONPATH:/home/ubuntu/caffe2/build
echo $LD_LIBRARY_PATH
# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

2. 错误解决

1 - ImportError: No module named past.builtins

错误问题: 安装完成后,运行: python -c ‘from caffe2.python import core’ 2>/dev/null && echo “Success” || echo “Failure” 出现 Failure; 运行: python -m caffe2.python.operator_test.relu_op_test 出现以下错误:

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/caffe2/python/operator_test/relu_op_test.py", line 21, in <module>
    from caffe2.python import core
  File "/usr/local/caffe2/python/core.py", line 24, in <module>
    from past.builtins import basestring
ImportError: No module named past.builtins

解决方案: 安装 future package:

sudo  pip install future

2. gmock/gmock.h

ubuntu下 google gmock 安装. 下载 googletest,并解压

./travis.sh
cmake ./CMakeLists.txt
make
sudo make install

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MarkdownPicPicker - Markdown图片上传助手

    MarkdownPicPicker 是一个Markdown写作辅助工具。它能将剪贴板中的图片上传到网络图床中,并将markdown格式的图片链接(![](<图片...

    青南
  • 一日一技:Python 3.6以后,字典有序

    需要注意的是,Python 3.6以后的字典,保留的是插入时候的顺序 并不是可以被排序的那种顺序。

    青南
  • 大数据开发常用的编程语言有哪些

    如果你的数据科学家不使用R,他们可能就会彻底了解Python。如果你有一个需要NLP处理的项目,就会面临数量多得让人眼花缭乱的选择,包括经典的NTLK、使用G...

    加米谷大数据
  • Python单元测试()

    在Python的单元测试(一)中,我们讲了单元测试的概念以及一个简单的单元测试例子。

    青南
  • 记住Python变量类型的三种方式

    Python作为一门动态语言,其变量的类型可以自由变化。这个特性提高了代码的开发效率,却也增加了阅读代码和维护代码的难度。

    青南
  • Python 装饰器装饰类中的方法

    目前在中文网上能搜索到的绝大部分关于装饰器的教程,都在讲如何装饰一个普通的函数。本文介绍如何使用Python的装饰器装饰一个类的方法,同时在装饰器函数中调用类里...

    青南
  • alias导致virtualenv异常的分析和解法

    virtualenv 可以虚拟出一个独立的Python环境,在这个环境中安装的第三方库不会对系统中的Python产生影响。作为一个系统洁癖,我的系统中的Pyth...

    青南
  • 编程语言 Python,可以用来干什么?

    Python因为简单全面易用而成为近年来大热的编程语言。但是很多人学习了这门余元的语法和基本功能之后却不知道Python能干什么以及怎么做。在此,...

    加米谷大数据
  • 2018 年主流的十大编程语言解读

    IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这个排行榜已经连续发布了五年。对于每位开发者而言,想要衡量编程语言流行度则需要依赖相对...

    加米谷大数据
  • 想要找到好工作,掌握这五类数据科学技能

    也许你一直在学习数据科学,也熟读了一大堆教科书,但要获得数据科学相关的职位,你还需要向雇主展示自己的技能水平。最好的方式是作品集,你可以借此向雇主表...

    加米谷大数据

扫码关注云+社区

领取腾讯云代金券