caffe2 介绍

来源:互联网 发布:dota2比赛数据未找到 编辑:程序博客网 时间:2024/06/05 03:36

Caffe2的特性


Caffe2框架可以通过一台机器上的多个GPU或具有一个及多个GPU的多台机器来进行分布式训练。

  • 也可以在iOS系统、Android系统和树莓派(Raspberry Pi)上训练和部署模型。

  • 只需要运行几行代码即可调用Caffe2中预先训练好的Model Zoo模型。

  • Caffe2框架已经应用在Facebook平台上。

  • NVIDIA(英伟达),Qualcomm(高通),Intel(英特尔),Amazon(亚马逊)和Microsoft(微软)等公司的云平台都已支持Caffe2。

  • GitHub上有Caffe2的源代码

  • Caffe2的首页:http://caffe2.ai/

Facebook 部署 Caffe2 旨在帮助开发人员和研究人员 训练大规模机器学习模型,并在移动应用中提供 AI 驱动的用户体验。现在,开发人员可以获取许多相同的工具,能够在大规模分布式场景训练模型,并为移动设备创建机器学习应用。

Caffe2 是一个兼具表现力、速度和模块性的深度学习框架,是 Caffe 的实验性重构,能以更灵活的方式组织计算。


Caffe2安装


官网上的安装教程

这里写图片描述


依赖库

sudo apt-get updatesudo 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支持

Ubuntu 16.04

sudo apt-get update && sudo apt-get install wget -y --no-install-recommendswget "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.debsudo apt-get updatesudo apt-get install cuda

安装 cuDNN(所有都是 Ubuntu 版本)

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/localrm cudnn-8.0-linux-x64-v5.1.tgz && sudo ldconfig

可选择的依赖项

# for Ubuntu 16.04sudo apt-get install -y --no-install-recommends libgflags-dev
# for both Ubuntu 14.04 and 16.04sudo 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-pydotsudo pip install \      flask \      graphviz \      hypothesis \      jupyter \      matplotlib \      pydot python-nvd3 \      pyyaml \      requests \      scikit-image \      scipy \      setuptools \      tornado

检查下面的 Python 部分,并在建立 Caffe2 之前安装可选择的程序包。

mkdir build && cd buildcmake ..make

Clone & Build

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

通过显示为 Success

出现问题见 gflags.cc’ is being linked both statically and dynamically into this execut


GPU测试执行:

python -m caffe2.python.operator_test.relu_op_test

在/usr/local/caffe2、/home/bids/softwares/caffe2/build(你的build路径)路径生成caffe2的python文件,在/usr/local/lib路径生成库文件。


环境变量设置

具体设置更改对应shell的配置文件

sudo vim ~/.bashrc

添加

export PYTHONPATH=/usr/local:$PYTHONPATHexport PYTHONPATH=$PYTHONPATH:/home/bids/softwares/caffe2/buildexport LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

环境变量生效

source ~/.bashrc

Caffe2 Tutorials


Caffe2 Tutorials Overview

TUTORIAL ON DEEP LEARNING FOR VISION

Hacker’s guide to Neural Networks

Neural Networks and Deep Learning


Caffe2原理


Caffe2 的原理与 Caffe 相同,开发原则可以概括为以下5点:

  • 表达(Expression):模型和优化被定义为纯文本模式(plaintext schema)而不是代码。
  • 速度:对学界和产业界都一样,速度对于最先进的模型和大数据至关重要。
  • 模块化:新任务和设置需要灵活性和扩展性。
  • 开放性:科学和应用进步需要通用代码(common code),参考模型和– 重现性(reproducibility)。
  • 社区:学术研究、startup prototypes 和工业应用通过在 BSD-2 项目中联合讨论和开发,共享实力。


Caffe2和Caffe有何不同?


Caffe2的基本计算单位是Operator。对于适当数量和类型的输入参数,每个Operator都包括所需的计算逻辑。Caffe和Caffe2的总体差异如下图所示:

这里写图片描述

官方提供了从Caffe迁移到Caffe2的教程,据说这个迁移非常简单。


Caffe2和PyTorch有何不同?


Caffe2长于移动和大规模部署。虽然Caffe2新增了支持多GPU的功能,这让新框架与Torch具有了相同的GPU支持能力,但是如前所述,Caffe2支持一台机器上的多个GPU或具有一个及多个GPU的多台机器来进行分布式训练。

PyTorch适合进行研究、实验和尝试不同的神经网络;而Caffe2更偏向于工业应用,而且重点关注在移动端上的表现。

Caffe2视作一种生产力的选择,而Torch视作研究型的选择。


参考文献


Caffe2正式发布!新框架有何不同?贾扬清亲自解答

caffe2 安装与介绍

caffe2

【重磅】Facebook 开源产业级深度学习框架 Caffe2,带来跨平台机器学习工具

Caffe2 Open Source Brings Cross Platform Machine Learning Tools to Developers

0 0
原创粉丝点击