PaddlePaddle 是百度開源的一個深度學習架構,Paddle 提供的 Paddle book 對於那些深度學習入門的人簡直再方便不過。
想用 Paddle 進行模型訓練必然先進行安裝,這篇文章主要詳細的記錄一下 Paddle cpu 和 gpu 的源碼編譯安裝。 個人認為源碼的方式最簡單粗暴,而且透明。 內容 安裝依賴 PaddlePaddle CPU 源碼編譯安裝 PaddlePaddle GPU 源碼編譯安裝 在正式安裝之前必須解決以下幾個依賴問題
Note ️️️ 這塊非常關鍵,以下的依賴只要有一個不滿足的話,肯定編譯出問題。無論 cpu 還是 gpu 安裝都得解決以下依賴。 1.1
用 gcc –version 命令 查看一下自己電腦上 gcc 的版本,如果低於 4.8, 那麼請看這篇文章將 gcc 進行升級到 4.8 以上。 1.2
用 cmake –version 查看 cmake 的版本,如果版本低於 3.0(對於 linux)3.4(對於 mac os), 請升級自己電腦的 cmake 版本。以下的命令可以安裝 cmake3.4。
curl -sSL https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz | tar -xz && \ cd cmake-3.4.1 && ./bootstrap && make -j4 && sudo make install && \ cd .. && rm -rf cmake-3.4.1
1.3
用 python –version 查看以下自己的 python 是不是 python27, 一般情況,mac 和 linux 都內建 python27。 1.4
用 go version 命令查看自己電腦是否有 go 的環境,如果沒有的話, 用 sudo apt-get install golang 這條命令來安裝 1.5 安裝其他依賴
$ sudo apt-get install -y git curl gfortran make build-essential automake swig libboost-all-dev$ sudo apt-get install -y python-pip python-numpy libpython-dev bison$ pip install --upgrade pip$ sudo pip install 'protobuf==3.1.0.post1' $ sudo pip install wheel
Paddle CPU 編譯和安裝 1. 從 github 上把 Paddle 代碼 clone 到本地
$ git clone https://github.com/PaddlePaddle/Paddle.git paddle$ cd paddle
2. cmake 產生 Makefile
$ mkdir build$ cd build$ cmake ..
Note : 如果使用命令 cmake .. 來產生 makefile,最終的 paddle 會安裝到/usr/local 下,如果想安裝到其他路徑(我們假定這個路徑為 $PADDLE_INSTALL_PATH), 我們可以這麼寫:
cmake .. -DCMAKE_INSTALL_PREFIX=$PADDLE_INSTALL_PATH,這樣最終編譯的 paddle 會安裝到 $PADDLE_INSTALL_PATH 下。 3. 編譯安裝
$ make -j `nproc`$ sudo make install
Note : 因為我使用的是預設安裝路徑,最終要再全域環境(/usr/local下)中組建檔案,所以 make 時候得加 sudo。運行結束後,Paddle 已經編譯完成,在我的電腦上會顯示以下 log:
這就說明我們的 paddle 已經安裝完成,我們可以用命令 paddle version 來查看是否安裝成功:
$ paddle versionPaddlePaddle 0.10.0, compiled with with_avx: OFF with_gpu: OFF with_mkldnn: OFF with_mklml: OFF with_double: OFF with_python: ON with_rdma: OFF with_timer: OFF
4. 安裝 Paddle python 介面
根據上一步驟的 log 可以看出,通過make install後, 產生了一個/usr/local/opt/paddle/share/wheels/paddlepaddle-0.10.0-cp27-none-linux_x86_64.whl檔案。 運行以下命令進行 paddle python 安裝:
$ sudo pip install -U /usr/local/opt/paddle/share/wheels/paddlepaddle-0.10.0-cp27-none-linux_x86_64.whl
5. 測試
$ python>>> import paddle.v2 as paddle
如果沒有出現 ImportError: No module named paddle,那恭喜,你已成功編譯安裝 paddle for cpu。 6. 跑一個 demo
從 github 上 clone paddle book 中的代碼:
$ cd ~/$ git clone https://github.com/PaddlePaddle/book.git paddle_book$ cd paddle_book/01.fit_a_line$ python train.py
Paddle GPU 編譯和安裝 1. 安裝 CUDA 和 cuDNN
安裝 CUDA 8.0
$ sudo apt-get update && sudo apt-get install wget -y --no-install-recommends$ wget "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb"$ sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb$ sudo apt-get update$ sudo apt-get install cuda
安裝 cuDNN5.1
$ wget http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz$ sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local$ rm cudnn-8.0-linux-x64-v5.1.tgz && sudo ldconfig
2. 編譯安裝(和 cpu 過程一樣)
$ git clone https://github.com/PaddlePaddle/Paddle.git paddle_gpu$ cd paddle_gpu$ mkdir build$ cd build$ cmake .. $ make -j `nproc`$ sudo make install$ sudo pip install -U /usr/local/opt/paddle/share/wheels/paddlepaddle-0.10.0-cp27-none-linux_x86_64.whl
3. 測試
$ paddle versionPaddlePaddle 0.10.0, compiled with with_avx: OFF with_gpu: ON with_mkldnn: OFF with_mklml: OFF with_double: OFF with_python: ON with_rdma: OFF with_timer: OFF
可以看出 with_gpu 是 ON 的狀態 4. Run a Demo
從 github 上 clone paddle book 中的代碼:
$ cd ~/$ git clone https://github.com/PaddlePaddle/book.git paddle_book$ cd paddle_book/01.fit_a_line$ export WITH_GPU=1$ python train.py
到這裡,paddle 的編譯安裝已經說的差不多了,不過因為每個人的機器環境不一樣,很可能你按照上述的方法去安裝時候還會遇到問題,可以在下方留言,或者去這裡提 issue,paddle 的同志們回複還是很快的。
最後, 非常推薦去看一下 paddle book,對想入門深度學習的筒子來說,這個 book 能能讓你快速的瞭解學習深度學習在映像 nlp 以及推薦領域的應用。