不废话了,开撸!

官方教程

官方教程里面很多没有讲解到,安装过程中出现了各种各样的问题,以下是对官方教程的补充,有什么问题,欢迎指正!

一、cmake

Paddle依赖cmake进行编译构建,需要cmake版本>=3.15,如果操作系统提供的源包括了合适版本的cmake,直接安装即可,否则需要源码安装

# 移除之前版本的cmake
yum remove cmakewget 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 -DCMAKE_CXX_FLAGS="-Wno-error -w"

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 -DCMAKE_CXX_FLAGS="-Wno-error -w"

错误一:编译过程中可能遇到的错误: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上下载各种包,速度很慢,可以通过这种方式加快包下载:​​​​​​​

2022目前三种有效加速国内Github - SegmentFault 思否

鲲鹏arm服务器编译安装PaddlePaddle相关推荐

  1. ARM服务器编译安装ClickHouse

    目录 一.编译安装ClickHouse背景 二.编译安装ClickHouse方法 三.编译安装ClickHouse环境 四.编译安装ClickHouse步骤 1,安装依赖项 2,编译安装cmake 3 ...

  2. linux ntpd服务器,Linux运维知识之Linux升级NTPD服务器-编译安装ntp-4.2.8p9与配置NTPD服务器...

    本文主要向大家介绍了Linux运维知识之Linux升级NTPD服务器-编译安装ntp-4.2.8p9与配置NTPD服务器,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 1. 系 ...

  3. 鲲鹏物理服务器如何安装操作系统,服务器如何安装操作系统

    服务器如何安装操作系统 内容精选 换一换 建议不要在分析任务执行过程中卸载,否则可能出现异常.IDE插件只支持以Web模式卸载工具,不支持以CLI模式卸载工具.没有正在运行中的任务.配置参数后单击&q ...

  4. mysql 5.6 linux 64_Linux64位服务器编译安装MySQL5.6(CentOS6.4)

    首先到MySQL官网下载MySQL最新版(目前是mysql-5.6.12)上传到服务器上,下面说一下详细的安装过程. 安装依赖包,可以在线更新也可以配置本地源(CentOS本地源配置) yum -y ...

  5. 技术分享 | 国产麒麟 arm 上编译安装 xtrabackup8

    作者:王向 爱可生 DBA 团队成员,负责公司 DMP 产品的运维和客户 MySQL 问题的处理.擅长数据库故障处理.对数据库技术和 python 有着浓厚的兴趣. 本文来源:原创投稿 *爱可生开源社 ...

  6. linux安装ntpd服务端,Linux升级NTPD服务器-编译安装ntp-4.2.8p9与配置NTPD服务器

    1. 系统与软件版本 1.1 系统版本 CentOS6.5 x86_64 1.2 ntpd软件版本 ntp-4.2.8p9.tar.gz 1.3 下载地址 官方下载地址:http://support. ...

  7. squid3.0缓存服务器编译安装

    squid的官方站点http://www.squid-cache.org/下载最新发布版本 #tar zxvf squid-3.0.STABLE13.tar.gz #cd squid-3.0.STAB ...

  8. linux-centos7中lnmp服务器编译安装含systemctl启动service(转)

    centos7 nginx  mysql  php 可以分开安装  然后在配置nginx互php的 先安装一些必要的库 ---------------------------------------- ...

  9. 鲲鹏服务器设置ip文件,IPFS在鲲鹏云服务器中的安装与编译过程记录

    IPFS星际文件系统是一个旨在创建持久且分布式存储和共享文件的网络传输协议.它是一种内容可寻址的对等超媒体分发协议.在IPFS网络中的节点将构成一个分布式文件系统.它综合了几十年来学术界和开源领域成功 ...

最新文章

  1. php use,php use和include区别总结
  2. 前端学习(741):通过榨汁机看透函数
  3. Anaconda jupyter-notebook 添加kernel
  4. 5-2 面向可维护性的设计模式
  5. linux自动点击软件上的按钮有什么用,教会你Linux Shell自动交互的三种方法
  6. 对理想团队模式的构想以及对软件流程的理解
  7. 学堂在线计算机通信网络,第二章 数据通信的基础知识 计算机网络笔记 学堂在线 2.4差错控制...
  8. 【工具推荐】免费的思维导图软件——Blumind
  9. 淘宝返利微信公众号怎么使用微信返利机器人查淘宝优惠券及淘宝购物返利?
  10. 计算机高程知识点,测量学复习基本知识点(全).doc
  11. 红尘一醉,愿得一人心;烟火夫妻,白首不相离
  12. Java实现扫码枪二维码自动跳转网页(基于键盘监听)
  13. 《HelloGitHub》第 65 期
  14. 【Bugfix系列】/usr/bin/ld: cannot find -lxxx 的解决办法
  15. VS2008 工程运行时候的一个R6034问题
  16. Nginx安装在服务器
  17. 选购电脑cpu 酷睿 区别 GPU选择
  18. 大数据分析培训课程有哪些?初级阶段学什么?
  19. MySQL图形界面创建数据库
  20. js绘制超炫酷3D化学元素周期表

热门文章

  1. iOS直播(流媒体)基础原理篇
  2. 远程入侵原装乘用车(上)
  3. jos lab 2-3函数说明
  4. 那些我们对2019技术世界趋势的预测都说准了吗?
  5. Ubuntu14.04下C++程序编辑、编译、运行入门篇
  6. 太用力的人跑不远[致刚毕业奋斗的自己,永不止步]
  7. 一键代理浏览器_支持IPv6的防关联指纹浏览器 VMLogin 支持模拟电脑名称、支持修改MAC地址、支持模拟真人输入、支持自定义经纬度...
  8. Python避免缩进错误
  9. 《培根随笔》读书笔记 (一)
  10. 中国哪些云主机比较靠谱?