文章目錄
前言
一、完成本地編譯環境的準備
1、更新系統軟體包目錄:
2、下載安裝依賴庫:
3、本地編譯ARMLinux最新版的cmake:
二、原始碼編譯
1. 下載Paddle-Lite 原始碼
2. 編譯Paddle-Lite 預測庫
3. 編譯結果
4. pip3直接安裝whl檔案
參考
前言
使用樹莓派4B的Ubuntu Server 20.04.3 LTS系統本地原始碼編譯Paddle-Lite 2.9部署C/C++、Python3支持庫,(with_python現在僅支持armlinux的本地編譯)
一、完成本地編譯環境的準備
注意:本編譯方法暫時只適用于ARMLinux的設備
1、更新系統軟體包目錄:
sudo apt update
另外擴展:(看個人需求)
sudo apt upgrade -y #更新軟體包
sudo apt autoremove #自動洗掉無效依賴包
2、下載安裝依賴庫:
patchelf、libssl-dev、gcc、g++、make、wget、python3、unzip、patchelf、python3-dev、python3-pip(需要編譯python2支持庫,另外安裝python、python-pip和python-dev)
sudo apt install patchelf libssl-dev gcc g++ make wget python3 unzip patchelf python3-dev python3-pip -y
3、本地編譯ARMLinux最新版的cmake:
下載安裝cmake原始碼壓縮包并解壓:
wget https://cmake.org/files/v3.21/cmake-3.21.0-rc3.tar.gz
tar -zxvf cmake-3.21.0-rc3.tar.gz
然后進行cmake配置:
cd cmake-3.21.0-rc3
./configure
開始編譯:
sudo make && sudo make install
查看cmake版本以驗證安裝成功:
cmake --version
二、原始碼編譯
1. 下載Paddle-Lite 原始碼
首先下載官方GitHub上的Paddle-Lite原始碼:
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
切換release分支2.9版本分支:
cd Paddle-Lite
git checkout release/v2.9
原始碼下載完成后將其中的third-party目錄洗掉,編譯腳本會自動下載存盤于國內 CDN 的第三方依賴的壓縮包,節省從git repo同步第三方庫代碼的時間,
rm -rf third-party
注意:在此樹莓派4B默認的4執行緒編譯,建議切換成單執行緒編譯,由于設備配置較低導致多執行緒同步出現編譯錯誤,
export LITE_BUILD_THREADS=1
2. 編譯Paddle-Lite 預測庫
./lite/tools/build_linux.sh --arch=armv8 --with_python=ON
上述指令有多種引數配置,可以按照自己的實際需求進行配置:
--arch: (armv8|armv7|armv7hf) arm版本,默認為armv8(arm64)
--toolchain: (gcc|clang) 編譯器型別,默認為gcc
--with_extra: (OFF|ON) 是否編譯OCR/NLP模型相關kernel&OP,默認為OFF,
只編譯CV模型相關kernel&OP
--with_python: (OFF|ON) 是否編譯python預測庫, 默認為 OFF
--python_version: (2.7|3.7|3.8|3.9) 編譯whl的最低Python版本,默認為 None
--with_cv: (OFF|ON) 是否編譯CV相關預處理庫, 默認為 OFF
--with_log: (OFF|ON) 是否輸出日志資訊, 默認為 ON
--with_exception: (OFF|ON) 是否在錯誤發生時拋出例外,默認為 OFF
3. 編譯結果
位于 Paddle-Lite/build.lite.linux.armv8.gcc/inference_lite_lib.armlinux.armv8 :
inference_lite_lib.armlinux.armv8
├── cxx C++ 預測庫和頭檔案
│ ├── include C++ 頭檔案
│ │ ├── paddle_api.h
│ │ ├── paddle_image_preprocess.h
│ │ ├── paddle_lite_factory_helper.h
│ │ ├── paddle_place.h
│ │ ├── paddle_use_kernels.h
│ │ ├── paddle_use_ops.h
│ │ └── paddle_use_passes.h
│ └── lib C++ 預測庫
│ ├── libpaddle_api_light_bundled.a C++ 靜態庫
│ └── libpaddle_light_api_shared.so C++ 動態庫
├── demo
│ └── python Python 預測庫demo
│
└── python Python 預測庫(需要打開with_python選項)
├── install
│ └── dist
│ └── paddlelite-*.whl Python whl包
└── lib
└── lite.so Python 預測庫
4. pip3直接安裝whl檔案
找到python whl包目錄,然后直接運行安裝命令:
pip3 install *.whl #把*改成編譯生成的whl名稱
參考:
【超詳細】樹莓派4B 安裝Paddle-Lite 2.8.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301627.html
標籤:其他
