谷歌Mediapipe运行环境配置

因为公司有Android项目需要卡片识别,想用谷歌的mediapipe的例子。

谷歌的Mediapipe官网 和 Mediapipe的github地址

本人下载好Github的项目下来之后,人都傻了,除了facedetection、facemesh和hands的demo代码之外,没有我想要的卡片识别的demo代码,然后相应的文件夹全是BUILD文件。一脸懵逼,再看Mediapipe官网,看不懂,一脸懵逼。

 后面百度到了这个老哥的博客 ,一顿整,反正他博客有些是对的,有些地方是巨坑,解决他埋的坑花了一天时间,特别特别注意他的bazel版本和配置sdk、ndk那里,巨坑来着,不要用他的方式,因为bazel目前最新都到4.2.2了,用他的0.24.0简直要死。

本篇博客只保证到能成功运行Hello world这里,后面打包那里不保证,因为,因为我自己也卡住了,有些资源是下载国外的,下载不动,死活过不去,所以,所以只保证到Hello World。

本人电脑是windows 10专业版,别的环境不保证跟我一样能成功,只能做参考。

本人linux小白,仅仅只会一点点命令操作,所以,同样小白的,应该看得懂操作,大佬勿鄙视。

本人一开始就是按他的博客一步步执行到Hello world,所以下面环境配置不能保证百分百成功,还是需要根据报错来百度解决

linux命令操作窗口,用鼠标按住左键选完需要的字符串之后,再按右键就是复制选中的内容

在其他地方复制内容之后,比如在我博客复制命令之后,到linux命令操作窗口粘贴是按一下鼠标右键,千万千万不要ctr + v!!!

vim命令是编辑文本工具,一般Ubuntu自带,下面执行vim命令报错没有安装的话,百度一下安装vim,很简单的。

1.WSL环境

去MicroStore那里,搜索wsl-->应用,我选的Ubuntu20.04 LTS这个(ps:我本人linux小白,不知道选哪个,看到Ubuntu这个应用的评价里有“解决C盘占用过大”,然后傻傻的跑去手动下载安装一顿操作,反正安装成功后是20.04lts版)

安装完之后,关机开机进入BOIS开启虚拟化,百度上搜自己电脑是怎么进入BOIS和开启虚拟化的,这个不难吧。

打开刚安装的ubuntu,创建你用户名和密码,最好保持跟你自己电脑的用户名和密码一样,怕你自己记不住(ps:用户名全小写,最好不要有特殊字符)

2.jdk环境

我用他博客里的命令配置的jdk环境,反正linux自己一顿操作,不会有什么错误

sudo apt-get update && sudo apt-get install -y build-essential git python zip adb openjdk-8-jdk

3.下载Mediapipe库到本地

这个要先下载下来(我之前是全程按他博客操作,结果运行hello world各种奇葩问题,还百度不到解法,因为他的博客太老旧了,时代变了,大人),因为后面的操作跟他博客不一样,要相信谷歌没那么SB的操作了。

git clone https://github.com/google/mediapipe.git
cd mediapipe

输入以上两条命令之后,就进入到mediapipe目录了,输入ls命令之后可以看到目录结构,看到下面截图,说明你已经进入到这个目录了,进到这个目录结构很重要,影响到你运行Hello world(因为本人是linux小白啊,运行博主和Mediapipe官网的命令,老是说找不到该路径)

 4.配置sdk和ndk环境

看到上面截图目录没?人家谷歌帮你指定好并自动配环境变量了,对运行.sh脚本就好了

sudo ./setup_android_sdk_and_ndk.sh

这个sudo不一定要写的啊,有些环境可以直接运行,反正我的电脑需要sudo

然后会提示两次(Y/N),都是输入y再回车就行

只要没报错,顺利安装就行了。在下载ndk的时候会比较慢,因为是外网的,有可能会失败。

成功的话,直接继续下面第5步,失败的话,有点麻烦,我同事说下载失败要删掉刚才下载的文件夹。

vim WORKSPACE

进入编辑,滚动到最下面,输入A进入编辑状态,删掉

android_sdk_repository(name = "androidsdk", path = "/root/Android/Sdk")
android_ndk_repository(name = "androidndk", path = "/root/Android/Sdk/ndk-bundle/android-ndk-r21")

这两行,按Esc键,再按输入:wq退出保存

再输入下面查看命令看看有没有删除成功

cat WORKSPACE

再删掉刚才下了sdk和ndk的文件

sudo rm -rf /roor/Android

再来一遍运行

sudo ./setup_android_sdk_and_ndk.sh

直到成功安装不报错

输入adb能出现一大堆东西就是成功了

不用按他的安装adb那样子,我就是完全按他的来,运行了报错没有安装Android的sdk和ndk,搞得我各种百度,各种配环境变量都不行,时代变了,大人。

5.安装opencv

也是不要按他博客来,看到上面第3步截图没?有个setup_opencv.sh又是个安装脚本,运行它

sudo ./setup_opencv.sh

6.安装python环境

这个我是跟他一样的,输入下面命令

sudo apt-get install libopencv-core-dev libopencv-highgui-dev \
                       libopencv-calib3d-dev libopencv-features2d-dev \
                       libopencv-imgproc-dev libopencv-video-dev

这个一般不会有错误

7.安装Bazel

这一步你要是复制他的命令安装,那就成功不了。

我是安装最新的Bazel最新的4.2.2之后运行Hello world,提示Mediapipe执行的4.2.1版本不一致,

所以我有卸载重新安装了4.2.1版本。

安装命令(把下面的命令字符串都复制了,再粘贴运行,每行的\是连接符,其实,删掉每行\连接符,变成一行命令,效果是一样的)

curl -sLO --retry 5 --retry-max-time 10 \
https://storage.googleapis.com/bazel/4.2.1/release/bazel-4.2.1-installer-linux-x86_64.sh && \
sudo mkdir -p /usr/local/bazel/4.2.1 && \
chmod 755 bazel-4.2.1-installer-linux-x86_64.sh && \
sudo ./bazel-4.2.1-installer-linux-x86_64.sh --prefix=/usr/local/bazel/4.2.1 && \
source /usr/local/bazel/4.2.1/lib/bazel/bin/bazel-complete.bash

再执行下面命令(把下面的命令字符串都复制了,再粘贴运行,每行的\是连接符,其实,删掉每行\连接符,变成一行命令,效果是一样的)

/usr/local/bazel/4.2.1/lib/bazel/bin/bazel version && \
alias bazel='/usr/local/bazel/4.2.1/lib/bazel/bin/bazel'

开始配置bazel环境变量

sudo vim /etc/profile

按 a ,进去编辑模式,复制

alias bazel='/usr/local/bazel/4.2.1/lib/bazel/bin/bazel'

粘贴在最后面(鼠标右键就是粘贴,别按Ctrl+V)。
按 Esc 退出编辑模式,输入:wq保存并退出。

再输入下面命令执行生效

source /etc/profile

可以输入cat /etc/profile命令查看是否修改成功。

输入bazel version可以查看bazel是否配置好了以及版本信息

8.运行hello world

在运行之前,确保你当前目录是在mediapipe目录里,可以输入ls查看当前文件夹的目录结构,看看是不是跟上面第3部截图一样。(其实你在其他目录下也可以,只是下面命令的路径里做成全路径)

先输入一行命令

export GLOG_logtostderr=1

再输入执行

bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
    mediapipe/examples/desktop/hello_world:hello_world

最后出现一堆的Hello World!表示运行成功。

我执行到最后这步的时候,出现过很多各种错误,主要是是按那个博主的步骤来搞导致bazel有问题,版本号对不上以及没有安装sdk和ndk导致的,后面出现了

Traceback (most recent call last): ModuleNotFoundError: No module named 'numpy'

这个错误,解决办法很简单(因为我装的是python3,所以命令是python3),可以参考一下:

python3 -m ensurepip

然后 

python3 -m pip install --upgrade pip

再然后

pip install numpy

再执行python命令

python3

再输入执行

from numpy import *

结果是这样的(下面的截图是别人的):

输入

exit()

退出python命令 

总结

可以参考官方配置 来配置,反正对我这种bazel新手和linux小白来说,看不懂

后面的打aar包,阿里云镜像也配置了,我死活卡在一个地方过不去,

Fetching @mave: Resolving and fetching the transitive closure of 29 artifact(s).

有人解决了的话,麻烦告诉我一声

--------------------------------------- 分割线 ---------------------------------------

后续:

前面还傻傻在wsl里配置maven环境,后面百度到了上面Fetching @mave的解决办法,看到这个网址之后琢磨的,我前面还说咋不跟AS一样配置阿里云maven仓简单,结果人家就是这么简单的配置,就在mediapipe目录下的WORKSPACE这个文件里配置。

先在浏览器打开一下阿里云仓,找一下对应的代理仓库

在mediapipe目录下输入下面的命令进行编辑WORKSPACE文件

vim WORKSPACE

A键进入编辑状态

往下滚动找到maven_install这个关键字,括号里的repositories这个里面的字段,就是程序下载资源的仓,是不是很熟悉?把下面两行字符串复制进去

 "https://maven.aliyun.com/nexus/content/groups/public",
 "https://maven.aliyun.com/repository/google",

然后把这个[]里的对应的"https://maven.google.com",和"https://jcenter.bintray.com",删掉,不然编译的时候还是走这两个仓库里下载资源,修改好之后如下图

 按Esc键,输入:wq保存退出编辑,再输入下面命令检查一下

cat WORKSPACE

然后开始愉快的进行打包吧

打包Android包参考我写的谷歌MediaPipe KNIFT的打包​​​​​​​

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要开发一个AI系统,通常需要以下步骤: 1. 确定问题:确定您想要解决的问题,例如对话系统、图像分类、机器翻译或文本生成等。 2. 数据收集:收集与问题相关的数据,并准备好用于训练模型的数据集。 3. 模型选择:选择适当的模型来解决您的问题。这可能需要进行一些试验和测试。 4. 训练模型:使用数据集训练模型,并根据需要进行调整和优化。 5. 测试和评估:测试模型的性能,并根据需要进行改进。 6. 部署模型:将模型部署到生产环境中,以便应用程序可以使用它。 在进行以上步骤之前,您需要设置开发环境运行环境。以下是常见的配置: 1. Python环境:Python是AI开发的主要语言之一,因此需要安装Python。您可以使用Anaconda或Miniconda等Python发行版来管理Python环境。 2. 开发工具:您可以使用各种IDE工具来开发AI应用程序,例如PyCharm、Spyder或Jupyter Notebook。 3. AI库和框架:您需要安装一些AI库和框架来开发AI应用程序,例如TensorFlow、PyTorch、Keras或Scikit-Learn。 4. GPU加速:如果您需要训练大型模型或处理大量数据,则需要使用GPU来加速计算。您可以选择使用云服务提供商(如AWS、Google Cloud或Microsoft Azure)提供的GPU实例。 5. 数据库:如果您需要存储和管理大量数据,则需要使用数据库。常见的AI应用程序使用的数据库包括MySQL、PostgreSQL和MongoDB等。 以上是一些常见的配置,具体配置因应用场景而异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值