http://blog.csdn.net/yan_joy/article/details/70241319

标签: 深度学习
2017-04-19 15:31 5970人阅读 评论(0) 收藏 举报
分类:
caffe2

版权声明:本文为博主原创文章,转载请标注出处。

一早发现caffe2的较成熟的release版发布了(the first production-ready release),那么深度学习平台在之后一段时间也是会出现其与tensorflow相互竞争的局面。
从打开这个caffe2的官网就会发现,有了Facebook的支持,连界面也好看多了。不过再仔细看看,觉得又和tensorflow有一丝像,从内到外。

Caffe 2 Caffe2


Caffe2 中基本计算单元之一是 Operators。每个 Operator 包含给定适当数量和类型的输入和参数来计算输出所需的逻辑。Caffe 和 Caffe2 功能的总体差异如下图所示:

One of basic units of computation in Caffe2 are the Operators. Each
operator contains the logic necessary to compute the output given the
appropriate number and types of inputs and parameters. The overall
difference between operators’ functionality in Caffe and Caffe2 is
illustrated in the following graphic, respectively:


看到这段话,是不是更觉得像是tensorflow了?之前layer的概念被弱化,数据与操作完全分开,不就是tensorflow里面需要定义的tf.matmultf.Variable这类吗?
其次提出的workspace概念很像是tf中的Session:

# Create the input data
data = np.random.rand(16, 100).astype(np.float32) # Create labels for the data as integers [0, 9].
label = (np.random.rand(16) * 10).astype(np.int32) workspace.FeedBlob("data", data)
workspace.FeedBlob("label", label) # Create model using a model helper
m = cnn.CNNModelHelper(name="my first net")
fc_1 = m.FC("data", "fc1", dim_in=100, dim_out=10)
pred = m.Sigmoid(fc_1, "pred")
[softmax, loss] = m.SoftmaxWithLoss([pred, "label"], ["softmax", "loss"])
54

网络的编写也向tf靠拢了(学了点tf还是有点用的)。

最后还要说一点就是对Python的支持大大增强了,当然这也是深度学习的趋势。

安装


4.18发布的版本号为v0.7.0,官网上的安装教程比较详细,也比较好操作Install

依赖库

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

这一部分主要是CUDA与cuDNN,在之前的博客中有讲到过。

可选库

# 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
  • 针对Ubuntu 14.04:
sudo apt-get install -y --no-install-recommends libgflags2
  • 1
  • 针对Ubuntu 16.04:
sudo apt-get install -y --no-install-recommends libgflags-dev
  • 1

Clone & Build

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"
  • 1
  • 2
  • 3

这一步在我这边很慢,clone的速度大概只有几十kb,而且中途也出现了错误。如果选择用zip打包下载,就会出现caffe2/third_party/目录中第三方包缺失的情况,这时还要自己手动下载。

GPU测试可以执行:

python -m caffe2.python.operator_test.relu_op_test
  • 1

这步安装完成之后,会在/usr/local/caffe2/home/user/caffe2/build(你的build路径)路径生成caffe2的python文件,在/usr/local/lib路径生成库文件。

设置环境变量

设置正确的话,执行命令会有#后这样的输出

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

具体设置更改对应shell的配置文件,一般来说

sudo vim /etc/profile

在最后加上

export PYTHONPATH=/usr/local:$PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/home/ubuntu/caffe2/build
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
  • 1

就可以了。

总结


目前caffe2还不是很成熟,某些文档也还不齐,安装也可以不用很着急,熟悉一下操作就好。mask-rcnn不就应该就会在这上面放出源码,可以稍稍再期待一下。

 
 

caffe2 安装与介绍的更多相关文章

  1. Sikuli图形脚本测试工具安装及介绍(适合小白的测试神器)

    sikuli简单安装以及介绍附图: 一.简单介绍 SikuliX官方网站:https://launchpad.net/sikuli/(官方的最新版本是SikuliX1.1.0更新于2015-10-06 ...

  2. python Scrapy安装和介绍

    python Scrapy安装和介绍 Windows7下安装1.执行easy_install Scrapy Centos6.5下安装 1.库文件安装yum install libxslt-devel ...

  3. Visual Studio 2017正式版离线安装及介绍

    Visual Studio 2017 RTM正式版离线安装及介绍. 首先至官网下载:https://www.visualstudio.com/zh-hans/downloads/ VS 2017 正式 ...

  4. ansible安装 使用 介绍

    1.介绍安装 a.介绍 Ansible:—基于 Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作. b.安装 ...

  5. mongodb可视化工具 studio3t robo3T 下载安装使用介绍

    mongodb可视化工具 studio3t  robo3T 下载安装使用介绍 下载地址: https://studio3t.com/download robo3T

  6. mysql 源代码目录及安装目录介绍

    1.源代码目录介绍: 1.BUILD    BUILD目录是编译.安装脚本目录,绝大部分以compile-开头,其中的SETUP.sh脚本为C和C++编译器设置了优化选项.2.client    cl ...

  7. Linux 下安装 resync 介绍

    Linux 下安装 resync 介绍 这是官网,找到对应版本的下载地址. 这里提供Linux_X64的安装包 wget '' https://download-cdn.resilio.com/sta ...

  8. Badboy安装和介绍

    Badboy安装和介绍 [前言] 欢迎来到我的博客 Badboy是用C++开发的动态应用测试工具,拥有强大的屏幕录制和回放功能,可提供图形结果分析功能,同时Badboy提供了将Web测试脚本直接导出生 ...

  9. detectron安装+caffe2安装

    detectron安装+caffe2安装 因为想跑一下facebook最近开源的detectron物体检测平台,所以安装caffe2+detectron 总结: 一定要好好看官方安装教程:https: ...

随机推荐

  1. cf524C The Art of Dealing with ATM

    ATMs of a well-known bank of a small country are arranged so that they can not give any amount of mo ...

  2. poj 3168 Barn Expansion

    Barn Expansion Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2465   Accepted: 666 Des ...

  3. 关于django rest framework里token auth的实现及答疑

    http://stackoverflow.com/questions/14838128/django-rest-framework-token-authentication ============= ...

  4. 证书锁定Certificate Pinning技术

    证书锁定Certificate Pinning技术   在中间人攻击中,攻击主机通常截断客户端和服务器的加密通信.攻击机以自己的证书替代服务器发给客户端的证书.通常,客户端不会验证该证书,直接接受该证 ...

  5. luogu P2158 [SDOI2008]仪仗队

    题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...

  6. 【APIO2015】Bali Sculptures

    题目描述 印尼巴厘岛的公路上有许多的雕塑,我们来关注它的一条主干道. 在这条主干道上一共有 $N$ 座雕塑,为方便起见,我们把这些雕塑从 $1$ 到 $N$ 连续地进行标号,其中第 $i$ 座雕塑的年 ...

  7. netty-类图对比

  8. Linux下快速删除输错的密码技巧(快速删除输入的命令)

    1.[Esc]+[退格键(Backspace)] 2.[Ctrl]+[U] 说明:以上两个快捷键都会删除全部输错的命令或密码. 参考: http://blog.csdn.net/u013895662/ ...

  9. Cesium热力图实现

    转自原文 Cesium热力图实现 生成热力图的算法我是用的一个热力图插件 heatmap.js.   heatmap中热力图生成原理: heatmap中首先会根据输入的渐进色参数,在内部生成一个0-2 ...

  10. golang 版本升降之后报错——imports runtime: C source files not allowed when not using cgo or SWIG

    问题: golang 升级或者降级版本之后,执行编译报错如下: package github.com/onsi/ginkgo/ginkgo imports runtime: C source file ...