当先锋百科网

首页 1 2 3 4 5 6 7

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



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

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

       # Create the input data
       data = np.random.rand(, ).astype(np.float32)

       # Create labels for the data as integers [0, 9].
       label = (np.random.rand() * ).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=, dim_out=)
  
pred = m.Sigmoid(fc_1, "pred")
[softmax, loss] = m.SoftmaxWithLoss([pred, "label"], ["softmax", "loss"])
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

网络的编写也向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

  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 针对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
  • 2

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' >/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
  
  • 1
  • 2
  • 3
  • 4
  • 5

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

sudo vim /etc/profile
  
  • 1

在最后加上

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

就可以了。

总结


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