从网上看 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 可以查看到参数 及解释,不过我尝试了多次还是 失败了
嗯,不瞒大家,我就卡在了这里,过了这道坎 我估计就没有问题了,等我解决了这个,就完整了
有疑问加站长微信联系(非本文作者)