转载:http://blog.csdn.net/yan_joy/article/details/70241319
Caffe2 中基本计算单元之一是 Operators。每个 Operator 包含给定适当数量和类型的输入和参数来计算输出所需的逻辑。Caffe 和 Caffe2 功能的总体差异如下图所示:
看到这段话,是不是更觉得像是tensorflow了?之前layer的概念被弱化,数据与操作完全分开,不就是tensorflow里面需要定义的tf.matmul
和tf.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不就应该就会在这上面放出源码,可以稍稍再期待一下。