這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
從網上看 paddlepaddle 的安裝大部分都是docker 容器在運行,有一部分使用Ubuntu安裝的,比如這個
http://www.jianshu.com/p/3dd5dd27dab0
paddle 的新手入門 http://doc.paddlepaddle.org/develop/doc_cn/
安裝和編譯 http://doc.paddlepaddle.org/develop/doc_cn/getstarted/build_and_install/cmake/build_from_source_cn.html
,由於 paddlepaddle 是 百度開源的,不具備國際性,使用Google 搜尋也沒有找到合適的centos安裝paddle的教程執行個體,不過paddlepaddle 官網有 docker mac ubuntu centos 的四個平台的安裝教程,看樣子還是比較簡單,不過 隔一種語言 真如隔一座山,還是碰到了 一些問題。
centos 預設的cmake 版本低2.8要升級到3,
參看 這篇 http://blog.csdn.net/l1028386804/article/details/50779092
- 下載cmake源碼
https://cmake.org/download/
wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz
2.解壓縮
tar xzvf cmake-3.3.2.tar.gz
3.進入到cmake檔案夾中執行引導命令
註:此時會檢查gcc ,gcc-c++,是否安裝和版本,如果沒有請先安裝
yum install gcc
yum install gcc-c++
cd cmake-3.3.2
./bootstrap
4.執行make
gmake
5.執行安裝(root許可權)
make install
paddlepaddle 即使源碼安裝也要依賴 golang,所以 需要在centoS 上 搭建golang的運行環境,
goland 地址 wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz
參看這篇 http://www.cnblogs.com/chy123/p/6750347.html
https://golang.org/doc/install?download=go1.9.2.linux-amd64.tar.gz
paddle 官網的教程
http://doc.paddlepaddle.org/release/0.10.0/doc/getstarted/build_and_install/build_from_source_en.html#centos
官網 看 現在 paddle 只支援 python 2.7,所以搭建 要確定python的版本,現在不支援 python 3.*
在搭建paddlepaddle的最後兩部 卡住了,cmake 其實相當於一個類似java maven的一個建構工具,但是如果不會用還是讓你超級頭疼的
mkdir build && cd build
you can add build option here, such as:
cmake3 .. -DCMAKE_INSTALL_PREFIX=/usr/local/paddle/build #<path to install>
please use sudo make install, if you want to install PaddlePaddle into the system
make -j nproc
&& make install
set PaddlePaddle installation path in ~/.bashrc
export PATH=<path to install>/bin:$PATH
install PaddlePaddle Python modules.
sudo pip install <path to install>/opt/paddle/share/wheels/*.whl
這個坑就在執行 cmake3 .. -DCMAKE_INSTALL_PREFIX=/usr/local/paddle/build 時 報錯
通過 細細察看 報錯的log 日誌
發現
cc1: error: command line option '-Wnon-virtual-dtor' is valid for C++/ObjC++ but not for C [-Werror]
cc1: all warnings being treated as errors
也就是cmake把 警告當做錯誤來處理 ,阻礙了 建構完成,
那個這個警告其實就是C++支援 這個參數 ,而 C 不支援,也就是說 cmake 在這裡預設調用了C 編譯器而不是 C++,如果讓 cmake 的預設編譯器指定是 C++,這個環節就可以解開了,或者讓cmake 別把警告當錯誤處理
其實cmake 是可以設定參數 忽略警告的,cmake -h 可以查看到參數 及解釋,不過我嘗試了多次還是 失敗了
嗯,不瞞大家,我就卡在了這裡,過了這道坎 我估計就沒有問題了,等我解決了這個,就完整了
image.png