Orange Pi安装MNN库 编译whl文件安装Python MNN包

总述

本文使用的板子是 Orange Pi Zero2,这款板子的处理器是 Allwinner H616(Cortex-A53),是 armv8 架构,因此 MNN 的官方代码是直接支持编译的。由于 Zero2 只有 1GB 的内存,编译过程中遇到了内存不足的问题,本文也给出了解决方法。

目录

  • 总述
  • 阅前参考
  • 安装步骤
    • 一、配置交换空间
      • 1) 创建并设置 swap 文件
      • 2) 添加开机启动
      • 3) 重启并查看内存
    • 二、克隆仓库并编译
      • 1) 安装编译依赖
      • 2) 克隆 github 仓库
      • 3) 编译 whl 并安装
  • 参考资料

阅前参考

  1. Orange Pi 开发板型号查询
    开发板(Orange Pi)-Orange Pi官网-香橙派开发板,开源硬件,开源软件,开源芯片,电脑键盘
  2. arm 常见架构区别速览
    arm64,aarch64,armv8,armel,armhf以及x86,arm,mips杂谈 - 江州司马
  3. MNN 官方仓库
    alibaba_MNN: MNN is a blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba

安装步骤

一、配置交换空间

由于 Orange Pi Zero2 只有 1GB 的内存,如果没有配置交换空间(虚拟内存),编译过程中会遇到内存不足的问题。因此,在编译前首先需要配置交换空间。具体命令如下:

1) 创建并设置 swap 文件

首先创建一个 4GB 的 swapfile 文件,然后启用该文件:

cd usr
sudo mkdir swap
sudo dd if=/dev/zero of=/usr/swap/swapfile bs=1M count=4096
sudo mkswap /usr/swap/swapfile
sudo swapon /usr/swap/swapfile

2) 添加开机启动

打开 /etc/fstab 文件:

sudo vim /etc/fstab

在文件末尾添加以下内容并保存:

/usr/swap/swapfile swap swap defaults 0 0

3) 重启并查看内存

运行 reboot 命令重启,运行 free -m 命令查看内存:

reboot
free -h

此时已经出现了 4GB 的名为 swap 的交换空间内存。

二、克隆仓库并编译

1) 安装编译依赖

sudo apt-get install cmake libprotobuf-dev protobuf-compiler

2) 克隆 github 仓库

git clone https://github.com/alibaba/MNN

3) 编译 whl 并安装

进入克隆下来的 MNN 目录,运行 ./schema/generate.sh。接着进入 pymnn/pip_package 目录,先运行 build_deps.py 文件编译所有依赖,再运行 build_wheel.py 编译 whl 文件。

这两个编译步骤可能要好几个小时,提前做好准备。

注意在运行 build_wheel.py 时需要指定版本号,这个可以根据在 release 里最新的版本号来填。

cd MNN
./schema/generate.sh
cd pymnn/pip_package
python build_deps.py
python build_wheel.py --version 2.2.0

编译完成后,编译好的 whl 文件在 pymnn/pip_package/dist 文件夹下。切换到该目录,ls 查看文件名,将该文件的后缀改为 manylinux2014_aarch64.whl 然后用 pip 安装该文件。

cd dist
ls
pip install MNN-2.2.0-cp39-cp39-manylinux2014_aarch64.whl

参考资料

[1] 在树莓派4B上手动编译whl文件安装python的MNN包_叼辣条闯天涯的博客-CSDN博客

[2] Linux系统设置虚拟内存_谁是笨小孩_的博客-CSDN博客

你可能感兴趣的:(Orange,Pi,mnn,python,人工智能,orangepi)