不废话了,开撸!
官方教程
官方教程里面很多没有讲解到,安装过程中出现了各种各样的问题,以下是对官方教程的补充,有什么问题,欢迎指正!
一、cmakePaddle依赖cmake进行编译构建,需要cmake版本>=3.15,如果操作系统提供的源包括了合适版本的cmake,直接安装即可,否则需要源码安装
# 移除之前版本的cmake yum remove cmake wget https://github.com/Kitware/CMake/releases/download/v3.16.8/cmake-3.16.8.tar.gz tar -xzf cmake-3.16.8.tar.gz && cd cmake-3.16.8 ./bootstrap && make && sudo make install
本人安装过程中遇到了如下错误:
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR)
解决办法,使用下面命令安装:
yum install openssl-devel
然后再执行一遍cmake安装命令。
二、patchelf安装官方文档的意思,这个目前还是需要的,流程如下
一定要下载aarch64分支的
git clone -b aarch64 https://github.com/NixOS/patchelf.git ./bootstrap.sh ./configure make make check sudo make install
安装过程中可能会报如下错误:failed to run aclocal: No such file or directory
解决办法,使用下面命令安装:
yum install autoconf yum install automake
然后再执行一遍make安装命令。
三、paddle流程跟官方一致,但官方用的develop分支的,我这里用的是正式版的分支
git clone -b release/2.3 https://github.com/PaddlePaddle/Paddle.git cd Paddle mkdir build && cd build
链接过程中打开文件数较多,可能超过系统默认限制导致编译出错,设置进程允许打开的最大文件数:
ulimit -n 4096
执行cmake:
Python2环境中命令:
cmake .. -DPY_VERSION=2 -DPYTHON_EXECUTABLE=`which python2` -DWITH_ARM=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DON_INFER=ON -DWITH_XBYAK=OFF
Python3环境命令:
cmake .. -DPY_VERSION=3 -DPYTHON_EXECUTABLE=`which python3` -DWITH_ARM=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DON_INFER=ON -DWITH_XBYAK=OFF
错误一:编译过程中可能遇到的错误:Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
解决办法
https://felaim.blog.csdn.net/article/details/105832560
错误二:没有numpy包
安装numpy也可能出现找不到‘Python.h’文件,解决办法,下载python3的开发包:
yum install python3-devel
错误三:
解决办法:
pip3 install wheel -i https://mirror.baidu.com/pypi/simple pip3 install protobuf -i https://mirror.baidu.com/pypi/simple四、make
使用以下命令来编译,注意,因为处理器为ARM架构,如果不加TARGET=ARMV8则会在编译的时候报错。
make TARGET=ARMV8 -j$(nproc)
编译成功后进入Paddle/build/python/dist目录下找到生成的.whl包。
make过程中会从git上下载各种包,速度很慢,可以通过这种方式加快包下载:加速github访问和下载 - GitClone



