caffe2 安裝與介紹
http://blog.csdn.net/yan_joy/article/details/70241319
標簽: 深度學習
2017-04-19 15:31 5970人閱讀 評論(0) 收藏 舉報
分類:
版權聲明:本文為博主原創文章,轉載請標註出處。
一早發現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.matmul
和tf.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 安裝與介紹