前段時間賈揚清大牛在Facebook推出了caffe2版本,相比caffe來說感覺更加輕量級和高效。
Caffe2的安裝相比於caffe在安裝的時候更加簡便,略去了Makefile.config的各種配置,對於有無GPU以及各種可選庫例如OpenCV,anaconda的支持也更簡單。(其實你直接裝好庫以後make就好,以GPU爲例,在make的時候,自動檢測你是否安裝了CUDA,若沒有,就自動CPU only)
在開始安裝之前,附上caffe2的官方鏈接,官網對於安裝還是講的非常詳細易懂。博主底下會給出安裝之後具體截圖,方便大家理解,當然對於大神們可以直接點鏈接然後略過後文了。
https://caffe2.ai/docs/getting-started.html?platform=ubuntu&configuration=compile
Caffe2 中基本計算單元之一是 Operators。每個 Operator 包含給定適當數量和類型的輸入和參數來計算輸出所需的邏輯。
Caffe 和 Caffe2 功能的總體差異如下圖所示:
看到這段話,是不是更覺得像是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"])
最後還要說一點就是對Python的支持大大增強了,當然這也是深度學習的趨勢。
一、依賴庫的安裝
裝過caffe的這個應該都比較清楚
sudo apt update
sudo apt 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
若版本爲Ubuntu16.04,則安裝libgflags-dev
sudo apt install -y --no-install-recommends libgflags-dev
若版本爲Ubuntu14.04,則安裝libgflags2
sudo apt-get install -y --no-install-recommends libgflags2
這兩個不能搞混,否則安裝會報錯
其他的一些optional dependencies(ubuntu16.04與14.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 -H pip install --upgrade pip
這裏更新一下pip,否則後面pip安裝jupyter有可能會報錯
sudo pip install \
flask \
graphviz \
hypothesis \
jupyter \
matplotlib \
pydot python-nvd3 \
pyyaml \
requests \
scikit-image \
scipy \
setuptools \
tornado
二、安裝
首先是Git
git clone --recursive https://github.com/caffe2/caffe2.git
cd caffe2
make
caffe2的好處就是makefile中會根據你的庫進行make,省去了各種makefile.config的設置,不像caffe有的時候真的是會被CUDA還有各種庫折騰很久。
之後:
cd build
sudo make install
可以用下面這行import Python:
python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
最後可以用來檢測你的GPU是否安裝成功,如果沒有安裝GPU,他會給以個warning說是CPU only,最後test pass。這樣說明我們安裝成功.
python -m caffe2.python.operator_test.relu_op_test
三、環境變量設置
臨時變量設置(貌似重啓失效):
#修改環境變量
export PYTHONPATH=/usr/local:$PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/home/lemon(user)/caffe2/build ##這裏大家別忘記該路徑
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
#查看環境變量是否修改成功
echo $PYTHONPATH
echo $LD_LIBRARY_PATH
具體設置更改對應shell的配置文件,一般來說
sudo vim /etc/profile
在最後加上
export PYTHONPATH=/usr/local:$PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/home/lemon(user)/caffe2/build
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
參考:
http://blog.csdn.net/weierqiuba/article/details/71099349?utm_source=itdadao&utm_medium=referral