iOS开发之机器学习框架MediaPipe(1)【转载】

 

MediaPipe是谷歌开源的机器学习框架,用于处理视频、音频等时间序列数据
MediaPipe Solutions提供了16个Solutions: 人脸检测、Face Mesh(面部网格)、虹膜、手势、姿态、人体、人物分割、头发分割、目标检测、Box Tracking、Instant Motion Tracking、3D目标检测、特征匹配等。

本周刚开始学习MediaPipe框架,所以今天先记录一下部分准备工作和遇到的一下疑难杂症~


   
   
  1. # 在Mac上安装Homebrew
  2. /bin/bash -c "$(curl -fsSL \
  3. https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  4. //国内用户可用一键安装脚本:
  5. /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
  6. # 安装Xcode及命令行工具
  7. xcode-select --install
  8. # 安装Bazelisk,
  9. brew install bazelisk
  10. # 克隆MediaPipe库文件
  11. git clone https://github.com/google/mediapipe.git
  12. cd mediapipe
  13. # 安装OpenCV
  14. brew install opencv@3

当你在执行 brew install opencv@3 时,你肯定会遇到类似下面的问题:

这是因为缺少对应的依赖库,上面就是缺少了 harfbuzz 库,所以下载好对应的库就可以解决,执行:brew install harfbuzz

之后再遇见一样的错误,还是执行:brew install (缺少的库),直到下载依赖库不再报错,或者执行完一次:1、brew install (缺少的库),无论结果如何,接着执行:2、brew install opencv@3,看opencv@3结果缺少哪个库,然后多次执行1、2两个终端命令,直到执行:brew install opencv@3 不再error,那么执行

brew info opencv@3 # 查看opencv的版本及信息
   
   

显示结果如图:

之后下载python3的six库,一定要注意,在终端上将python3设置为默认,下载完成后,查看安装结果


   
   
  1. # 安装 six库
  2. pip 3 install --user six
  3. # 查验安装结果
  4. # cd 到 mediapipe 所在的目录,执行下面操作
  5. export GLOG_logtostderr = 1
  6. / / 需要bazel设置环境变量 'MEDIAPIPE_DISABLE_GPU=1',因为桌面GPU当前不受支持
  7. bazel run --define MEDIAPIPE_DISABLE_GPU = 1 \
  8. mediapipe /examples /desktop /hello_world:hello_world

此时如果你很顺利的输出了以下结果,那么恭喜你,最初的配置已经成功。

但是很不幸的是,我遇到了下面的大坑,

问题很明显是缺少了numpy库


   
   
  1. ERROR: Analysis of target '//mediapipe/examples/desktop/hello_world:hello_world' failed; build aborted: Problem getting numpy include path.
  2. Traceback (most recent call last):
  3. File "<string>", line 1, in <module >
  4. ModuleNotFoundError: No module named 'numpy'
  5. Is numpy installed?

于是我就使用各种终端命令安装numpy,命令显示已经安装上了,然后再执行hello_world语句,依然是相同的报错,然后 import numpy 导入库,发现竟然没有,最后使用下面命令安装:

python3 -m pip install numpy
   
   

报错如下:

查看了各种英文,各种尝试都不管用,最后终于在github上理解了原因是什么:Failed pip install for numpy in python 3.9 on macOS using conda,这是一个python的bug!!!在这个版本上安装会失败!!!Failed pip install for numpy in python 3.9 on macOS using conda · Issue #17569 · numpy/numpy · GitHub

于是我更新了python3.10.5的版本:https://www.python.org/ftp/python/3.10.5/python-3.10.5-macos11.pkg

然后再次执行

python3 -m pip install numpy
   
   

成功效果如下:

最后再次执行操作语句:


   
   
  1. export GLOG_logtostderr = 1
  2. / / 需要bazel设置环境变量 'MEDIAPIPE_DISABLE_GPU=1',因为桌面GPU当前不受支持
  3. bazel run --define MEDIAPIPE_DISABLE_GPU = 1 \
  4. mediapipe /examples /desktop /hello_world:hello_world

终于让我看到了世界语言:


   
   
  1. INFO: Analyzed target / /mediapipe /examples /desktop /hello_world:hello_world ( 81 packages loaded, 1836 targets configured).
  2. INFO: Found 1 target...
  3. Target / /mediapipe /examples /desktop /hello_world:hello_world up-to-date:
  4. bazel-bin /mediapipe /examples /desktop /hello_world /hello_world
  5. INFO: Elapsed time: 575.843s, Critical Path: 487.45s
  6. INFO: 776 processes: 156 internal, 620 darwin-sandbox.
  7. INFO: Build completed successfully, 776 total actions
  8. INFO: Build completed successfully, 776 total actions
  9. I 20221013 17: 40: 34.163226 179693056 hello_world.cc: 57] Hello World!
  10. I 20221013 17: 40: 34.165056 179693056 hello_world.cc: 57] Hello World!
  11. I 20221013 17: 40: 34.165071 179693056 hello_world.cc: 57] Hello World!
  12. I 20221013 17: 40: 34.165081 179693056 hello_world.cc: 57] Hello World!
  13. I 20221013 17: 40: 34.165088 179693056 hello_world.cc: 57] Hello World!
  14. I 20221013 17: 40: 34.165097 179693056 hello_world.cc: 57] Hello World!
  15. I 20221013 17: 40: 34.165105 179693056 hello_world.cc: 57] Hello World!
  16. I 20221013 17: 40: 34.165114 179693056 hello_world.cc: 57] Hello World!
  17. I 20221013 17: 40: 34.165122 179693056 hello_world.cc: 57] Hello World!
  18. I 20221013 17: 40: 34.165131 179693056 hello_world.cc: 57] Hello World!

真是遇到了一个大坑啊,第一步大坑已经迈过去了,距离胜利越来越近了,未完待续~~

整理不易,转载请注明,谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值