基于jetson nano源码编译安装paddlelite的python api

本文详细记录了在ARM设备上安装PaddleLitePythonAPI的过程,包括环境准备、源码编译和解决遇到的问题,如修改文件格式,确保Python和pip的版本正确。编译完成后,通过pip安装生成的.whl文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装paddlelite python的api过程中出现问题,记录安装问题和步骤

 

paddlelite简介

Paddle Lite - 端侧轻量化推理引擎
面向端侧场景的轻量化推理引擎Paddle Lite,可以实现飞桨模型在x86/ARM平台下多种OS内的高效部署,同时支持在10种以上的GPU/NPU异构后端上进行推理加速和混合调度;通过Paddle Lite,您在不同端侧场景下的模型部署需求都可以被完美支持。

官方文档飞桨PaddlePaddle-源于产业实践的开源深度学习平台

安装方式

1预编译

通过下载官方预编译包直接使用,缺点预编译包只有c++的api,安装方式参考官方文档不过多赘述

Paddle Lite 预编译库下载-PaddlePaddle深度学习平台

2源码包编译

准备编译环境

适用于基于 ARMv8 和 ARMv7 架构 CPU 的各种开发板,例如 RK3399,树莓派等,目前支持交叉编译和本地编译两种方式,对于交叉编译方式,在完成目标程序编译后,可通过 scp 方式将程序拷贝到开发板运行。 因为本教程使用 Host 环境为 ARM 架构,因此下面仅介绍本地编译 ARM Linux 方式。

本地编译ARM Linux

  • gcc、g++、git、make、wget、python、pip、python-dev、patchelf

  • cmake(建议使用 3.10 或以上版本)

环境安装命令

以 Ubuntu 为例介绍安装命令。其它 Linux 发行版安装步骤类似,在此不再赘述。 注意需要 root 用户权限执行如下命令。

# 1. Install basic software
apt update
apt-get install -y --no-install-recommends \
  gcc g++ make wget python unzip patchelf python-dev

# 2. install cmake 3.10 or above
wget https://www.cmake.org/files/v3.10/cmake-3.10.3.tar.gz
tar -zxvf cmake-3.10.3.tar.gz
cd cmake-3.10.3
./configure
make
sudo make install

编译步骤

# 下载 Paddle Lite 源码并切换到发布分支,如 develop
(下载太慢可以在win下使用git clone命令下载传输到板卡上)
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
cd Paddle-Lite && git checkout develop

# (可选) 删除 third-party 目录,编译脚本会自动从国内 CDN 下载第三方库文件
# rm -rf third-party

编译过程问题记录及解决方法

chmod +x ./lite/tools/build_linux.sh

#安装脚本执行时会用到oython,pip;python版本在3.0以上,系统有就忽略

python

#查看python命令python的版本如果不是3.0以上就需要安装python3.0以上版本重新建立软连接

sudo apt-get install python3.6          # (安装python)

ln     -s  /usr/bin/python3 /usr/bin/python        #(建立软连接)

sudo apt-get install python3-pip          #(安装pip3)

ln -s /usr/bin/pip3 /usr/bin/pip          #(建立软连接)

#如果需要python,添加参数--with_python=ON --with_cv=ON 详细参数说明参考

ARM Linux 环境下编译适用于 ARM Linux 的库-PaddlePaddle深度学习平台

./lite/tools/build_linux.sh --with_python=ON --with_cv=ON

vim ./lite/tools/build_linux.sh

:set ff   #底部是否显示fileformat=dos

原因windows采用的是\n\r换行,ubuntu采用的是\n换行

解决办法

:set ff=unix

:wq #保存退出

重新运行

./lite/tools/build_linux.sh --with_python=ON --with_cv=ON(时间有点久)

编译完成后在图纸上路径下有.whl文件,pipinstall 文件名 

### 回答1: 在Jetson Nano上手动编译OpenCV-Python4.5.5支持GStreamer,需要遵循以下步骤: 1. 准备环境 首先需要安装JetPack4.5.1,安装过程中需要勾选GStreamer,然后再更新开发包: ```shell sudo apt-get update sudo apt-get upgrade ``` 2. 安装依赖项 安装必要的依赖项: ```shell sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python3-dev python3-numpy libgstreamer1.0-0 gstreamer1.0-plugins-* gstreamer1.0-libav ``` 3. 下载OpenCV 下载OpenCV源代码,并进入源代码所在目录: ```shell mkdir ~/opencv_build && cd ~/opencv_build git clone https://github.com/opencv/opencv.git cd opencv ``` 4. 编译OpenCV 创建用于编译OpenCV的目录,并进入该目录: ```shell mkdir build && cd build ``` 运行cmake来配置OpenCV的编译选项: ```shell cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_CUDA=ON \ -D CUDA_ARCH_BIN="5.3" \ -D CUDA_ARCH_PTX="" \ -D WITH_CUDNN=ON \ -D WITH_TBB=ON \ -D ENABLE_FAST_MATH=1 \ -D CUDA_FAST_MATH=1 \ -D OPENCV_ENABLE_NONFREE=ON \ -D WITH_GSTREAMER=ON \ -D BUILD_opencv_python3=ON \ -D BUILD_opencv_python2=OFF \ -D PYTHON_EXECUTABLE=/usr/bin/python3 \ -D BUILD_EXAMPLES=OFF .. ``` 其中,需要注意的是WITH_GSTREAMER选项需要设置为ON来启用GStreamer支持。 5. 编译OpenCV-Python 运行make命令来编译OpenCV和OpenCV-Python: ```shell make -j4 sudo make install ``` 6. 检验安装Python交互式环境中,测试OpenCV-Python是否支持GStreamer: ```python import cv2 print(cv2.getBuildInformation()) ``` 如果在输出信息中看到GStreamer,则说明OpenCV-Python已经成功地支持了GStreamer。 以上就是在Jetson Nano上手动编译OpenCV-Python4.5.5支持GStreamer的步骤。需要注意的是,因为编译OpenCV需要较长的时间,所以建议在空闲时间进行。 ### 回答2: Jetson Nano是一款强大的嵌入式计算机,适用于各种计算机视觉应用。而OpenCV-Python是一个广泛应用的计算机视觉库,具有高速、高度优化的特性。而支持GStreamer的OpenCV-Python4.5.5版本,更是在时延、图像传输方面具有更好的性能。 首先,我们需要准备Jetson Nano的开发环境。Jetson Nano使用的是Nvidia JetPack4.6版本,由于是以Ubuntu为基础的系统,所以需要在Jetson Nano安装一些必要的软件: sudo apt-get update sudo apt-get install build-essential cmake git unzip pkg-config sudo apt-get install libjpeg-dev libpng-dev libtiff-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get install libxvidcore-dev libx264-dev sudo apt-get install libgtk-3-dev sudo apt-get install libatlas-base-dev gfortran sudo apt-get install python3-dev python3-pip sudo apt-get install python3-opencv 接下来,我们需要手动编译OpenCV-Python4.5.5: 1. 首先,从官方网站下载OpenCV-Python4.5.5源代码: wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.5.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.5.zip unzip opencv.zip unzip opencv_contrib.zip mv opencv-4.5.5 opencv mv opencv_contrib-4.5.5 opencv_contrib 2. 创建build文件夹,并进入该文件夹: cd opencv mkdir build cd build 3. 配置编译参数,并开始编译: cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_CUDA=ON \ -D CUDA_ARCH_BIN=7.2 \ -D CUDA_ARCH_PTX="" \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -D BUILD_opencv_python3=ON \ -D BUILD_opencv_python2=OFF \ -D PYTHON_DEFAULT_EXECUTABLE=$(which python3) \ -D PYTHON3_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.6m.so \ -D PYTHON3_INCLUDE_DIR=/usr/include/python3.6m \ -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ -D BUILD_EXAMPLES=ON \ -D BUILD_DOCS=OFF \ -D BUILD_TESTS=OFF \ -D BUILD_PERF_TESTS=OFF \ -D WITH_GSTREAMER=ON \ -D WITH_LIBV4L=ON .. make -j4 sudo make install 4. 编译完成后,执行以下命令安装: sudo ldconfig 这样,我们就使用手动编译的方式,成功将OpenCV-Python4.5.5支持GStreamer的版本安装到了Jetson Nano上。您现在可以在系统中调用OpenCV-Python4.5.5库,并使用GStreamer进行图像处理和传输。 ### 回答3: Jetson Nano 是一个强大的嵌入式计算机,可用于进行深度学习和计算机视觉等任务。OpenCV 是一个流行的计算机视觉库,用于处理数字图像和视频。本文将介绍如何手动编译 OpenCV-Python 4.5.5,以支持 Jetson Nano 的 GStreamer。 首先,我们需要先安装 NVIDIA JetPack SDK,它包含了 Jetson Nano 所需的各种软件和驱动程序。如果您尚未安装,则可以从 NVIDIA 的官方网站上下载并安装。 接下来,我们需要安装 GStreamer。Jetson Nano 上默认安装了 GStreamer,但是需要安装一些插件,以便 OpenCV 可以使用它。我们可以使用以下命令来安装所需插件: sudo apt-get install gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \ gstreamer1.0-plugins-good gstreamer1.0-tools libgstreamer1.0-dev \ libgstreamer-plugins-base1.0-dev 然后,我们可以下载 OpenCV 源代码。我们可以从官方网站上下载或从 GitHub 上克隆 OpenCV 的仓库。在这里,我们将使用 GitHub 上的 OpenCV 仓库进行编译。缩短编译时间,我们可以使用 OpenCV 的 CMake 工具编译。CMake 是一个跨平台的开源构建工具,它可以自动生成各种工程文件,如 Makefile 和 IDE 项目文件。以下是编译 OpenCV 的步骤: 1. 在 Jetson Nano安装 CMake: sudo apt-get install cmake 2. 克隆 OpenCV 源代码: git clone https://github.com/opencv/opencv.git 3. 在 OpenCV 源代码目录中创建一个 build 目录: mkdir build cd build 4. 使用 CMake 配置 OpenCV 编译: cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.3" -D CUDA_ARCH_PTX="" \ -D WITH_GSTREAMER=ON -D BUILD_opencv_python3=ON \ -D PYTHON3_EXECUTABLE=/usr/bin/python3 \ -D PYTHON3_INCLUDE_DIR=/usr/include/python3.6 \ -D PYTHON3_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.6m.so \ -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ -D BUILD_EXAMPLES=OFF .. 其中,WITH_CUDA 选项启用 CUDA 支持。在 Jetson Nano 上,我们需要指定 CUDA 架构的版本,这里选为“5.3”。WITH_GSTREAMER 选项启用了 GStreamer 支持。BUILD_opencv_python3 选项启用了 Python 绑定。PYTHON3_EXECUTABLE,PYTHON3_INCLUDE_DIR 和 PYTHON3_LIBRARY 分别指定 Python3 可执行文件的路径,Python3 头文件的路径和 Python3 库文件的路径。PYTHON3_NUMPY_INCLUDE_DIRS 指定 NumPy 头文件的路径。 5. 使用 make 命令编译 OpenCV: make -j4 其中,“-j4”选项告诉 make 使用 4 个线程进行编译,以加快编译速度。 6. 使用 make 命令安装 OpenCV: sudo make install 最后一步将安装 OpenCV 到 /usr/local 目录下。接下来,我们可以使用 Python 测试 OpenCV 是否成功编译,并且支持 GStreamer: 1. 检查 OpenCV 版本: import cv2 print(cv2.__version__) 如果输出为 4.5.5,则表示 OpenCV 成功安装。 2. 检查 GStreamer 的支持是否正常: import cv2 print(cv2.getBuildInformation()) 如果在输出信息中看到了“GStreamer”,则表示成功编译支持 GStreamer 的 OpenCV-Python。 总结: Jetson Nano 是一个出色的嵌入式计算机,支持 OpenCV 和 GStreamer。手动编译 OpenCV-Python 4.5.5 并支持 GStreamer,需要先安装 JetPack SDK 和 GStreamer 插件。然后,通过编译源代码并使用 CMake 工具进行配置,可以快速地编译出支持 GStreamer 的 OpenCV 库。最后,我们可以使用 Python 进行测试,以确保 OpenCV 和 GStreamer 的支持正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值