当前位置: 首页 > news >正文

MediaPipe ARM aarch64 构建实战:两条路径把 mediapipe 装进你的设备

MediaPipe ARM aarch64 构建实战:两条路径把 mediapipe 装进你的设备

【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe

把 MediaPipe 部署到 ARM(aarch64)设备时,一条pip install mediapipe就会让你卡在门口:PyPI 上没有 aarch64 的 wheel,安装直接失败。这篇文章给出当前可行的两条路——社区预编译包和源码构建——目标是在 Jetson、树莓派等 aarch64 平台上装好 mediapipe 并跑通最小验证,全程只贴必要命令。

官方支持现状:PyPI 没有 aarch64 wheel

先说清楚事实,免得你在 pip 的报错里绕弯路。官方 Python 文档明确写了:MediaPipe PyPI 目前不提供 aarch64 的 Python wheel 文件,在 Nvidia Jetson、Raspberry Pi 这类 aarch64 Linux 系统上构建和使用,需要走专门途径(见 docs/getting_started/python.md 的 "Building MediaPipe Python Package" 一节)。

所以 ARM 用户的选项只有两个:

  • 用社区维护的 aarch64 预编译版本,装完即用;
  • 从源码构建自己的 mediapipe 包,可控但耗时。

下面分别展开。

路径一:社区维护的 mediapipe-python-aarch64

如果你只是想在 Jetson 或树莓派上把 mediapipe 跑起来、不打算改 C++ 源码,这条路径成本最低。社区项目mediapipe-python-aarch64提供了针对 ARM 架构优化的构建脚本和预编译包,专门覆盖 Jetson、Raspberry Pi 等设备的部署场景,省掉了本地编译 Bazel 工程的全部时间。

使用时的注意事项:

  • 安装前确认包对应的 mediapipe 版本和你的 Python 版本匹配;
  • 社区项目是第三方维护的,升级节奏跟官方不同,锁定版本后建议在业务里做回归验证。

路径二:mediapipe 源码构建

⚠️ 源码构建会本地编译 C++ 工程,耗时和依赖都比路径一重得多,但它不受第三方包版本限制,也适合你有本地修改的场景。

环境与前置工具:venv、Bazel、OpenCV

源码构建依赖 Bazel 作为构建系统、OpenCV 作为图像处理库,二者必须装对版本并正确配置,否则后面一步就会报错。Bazel 与 OpenCV 的安装和配置方法见 docs/getting_started/install.md。

Python 侧建议 3.6 以上版本,并强制使用虚拟环境隔离依赖:

python3 -m venv mp_env && source mp_env/bin/activate

按系统安装系统依赖

Debian / Ubuntu 系统需要这几个包,cmake仅在你需要源码构建 OpenCV 时才装:

sudo apt install python3-dev sudo apt install python3-venv sudo apt install -y protobuf-compiler sudo apt install cmake

macOS 上对应安装:

brew install protobuf brew install cmake

拉取仓库并安装 Python 依赖

克隆 mediapipe 源码并安装 requirements.txt 中列出的 Python 依赖(absl-py、numpy、opencv-contrib-python 等):

git clone https://gitcode.com/GitHub_Trending/med/mediapipe cd mediapipe pip3 install -r requirements.txt

两种构建方式对比:setup.py install 与 bdist_wheel

构建入口都是仓库根目录的 setup.py,两种方式按需选择。

方式一:直接安装到当前环境。--link-opencv让构建直接链接已安装的 OpenCV 库,不重复编译:

python3 setup.py install --link-opencv

方式二:构建 wheel 包。产物落在dist/目录,适合跨设备安装——在一台配置完整的机器上编译一次,把 wheel 拷到目标板子上pip install即可:

python3 setup.py bdist_wheel pip install dist/mediapipe-*.whl

简单判断:单机使用选方式一;多台设备或想固定版本回滚选方式二。

验证安装:最小冒烟测试

先跑一段最小 import 测试,确认包能加载:

import mediapipe as mp print(mp.__version__) print("MediaPipe imported successfully")

没有异常、版本号正常输出,说明 aarch64 编译产物是健康的。想进一步确认功能面,可以逐个 import solutions 里用到的模块做冒烟测试,按需覆盖这些能力:

  • Face Detection(face_detection)
  • Face Mesh(face_mesh)
  • Hands
  • Holistic
  • Objectron
  • Pose
  • Selfie Segmentation

下一步清单

  • 在 Jetson / 树莓派上先装路径一的社区包跑通业务,再评估是否需要源码构建;
  • 关注 PyPI 上 mediapipe 新版本的发布说明,看 aarch64 wheel 是否已补上——一旦官方提供,源码路径可以直接退役;
  • 走源码构建时,把bdist_wheel产物按日期归档,版本升级整体换包,不做增量修补;
  • Jetson 上安装前核对 Python 版本与 CUDA 环境的匹配关系,避免 wheel 与运行时 Python 不一致;
  • 需要深入自定义计算图时,继续读 docs/getting_started/python_framework.md 了解 Python framework。

参考资料

  • 官方 Python 使用与构建文档:docs/getting_started/python.md
  • Bazel / OpenCV 安装指南:docs/getting_started/install.md
  • Python framework 进阶文档:docs/getting_started/python_framework.md
  • 社区 aarch64 适配项目:mediapipe-python-aarch64(以项目名检索获取最新地址)

【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4349587.html

相关文章:

  • 基于C#的FANUC FOCAS数据采集方案:从环境搭建到设备监控实现
  • 基于DeepSeek Harness构建Obsidian智能助手:从零开发AI知识管理Agent
  • 大模型多轮训练实战:从SFT到强化学习的迭代优化方法
  • Marin Pulumi基础设施即代码:一个Stack管理全部云资源的终极方案
  • WeChat本地数据库深度解析:WeFlow破解的加密盒子就藏在你电脑里
  • iFixAi 裁判选择完全参考:单裁判 vs 多裁判集成,成本与可靠性怎么算
  • Semantica Datalog推理深度解析:递归规则与传递关系实战
  • DESIGN.md pre-commit钩子实战:让坏设计令牌提交不了仓库
  • Munder Difflin的GOD编排器Michael:你的克隆体老板如何调度整个Agent办公室
  • Shortcircuit XT主题自定义教程:内置6大主题与JSON主题创建方法
  • 用友畅捷通升级迁移服务厂家怎么选
  • 用Skill统一图片生成流程:告别重复调参,让AI稳定出图
  • OpenClaw AI Agent 运行时框架部署与业务接入全指南
  • 1Panel 批量操作:一条命令库,下发到整组主机
  • 破解无限免费误区:云工作流自动化与成本控制实践
  • 腾讯音乐移动客户端秋招笔试复盘:考点、编程题与时间分配策略
  • kitty 终端使用指南:GPU 加速的跨平台终端,从安装到远程编辑文件
  • 贝壳找房春招C++笔试卷2复盘:八股、算法与工程思维全解析
  • UrbanMind AI:融合遥感与POI数据的城市空间智能决策平台
  • 大模型Agent开发进阶:上下文引擎设计与实战
  • 大模型多轮训练:从SFT到RLHF的迭代精修指南
  • 南京街道乡镇边界矢量数据包:SHP、坐标系与GIS实操全解析
  • 美团运维安全岗笔试复盘:Linux排错到K8s容器安全全解析
  • 24LC512 EEPROM读写例程:I2C页写、写周期等待与避坑指南
  • 智能体AI验证框架:让大模型Agent从不确定走向可信
  • 微信QQ消息撤回后还能不能找回?RevokeMsgPatcher 防撤回工具使用指南
  • 升降压电路设计实战:从原理到应用,掌握宽电压输入DC-DC转换
  • jq 完整使用指南:从零上手指令行 JSON 处理,5 分钟跑通第一个实战
  • 论文分章节检测合格、合并全文后AI率变高怎么办:三款AIGC工具对比
  • ROS2双臂机器人视觉抓取全流程:手眼标定与MuJoCo仿真实践