Jetson Xavier NX(3)Bazel Mediapipe 安装

Jetson Xavier NX(3)Bazel Mediapipe 安装,第1张

一、安装 Bazel

1 - 下载
2 - 拷贝过去解压
3 - 安装依赖

sudo apt-get install build-essential openjdk-8-jdk

如果定位不到 openjdk-8-jdk 应该是 apt 源的问题,自己修改一下,可以参考我之前的博客内容

4 - 编译

env EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" bash ./compile.sh

会比较久,耐心等待(开启最大性能模式)

5 - 将生成的bazel文件放在PATH目录中

sudo cp output/bazel /usr/local/bin/

检查一下

bazel --version
二、Mediapipe安装

1 - 下载

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

2 - 上传解压

3 - 安装依赖

sudo apt install -y python3-dev
sudo apt install -y cmake

4 - 删除非必要模块
进入 mediapipe 文件夹下,删除不必要的模块和标志

cd mediapipe
sed -i -e "/\"imgcodecs\"/d;/\"calib3d\"/d;/\"features2d\"/d;/\"highgui\"/d;/\"video\"/d;/\"videoio\"/d" third_party/BUILD
sed -i -e "/-ljpeg/d;/-lpng/d;/-ltiff/d;/-lImath/d;/-lIlmImf/d;/-lHalf/d;/-lIex/d;/-lIlmThread/d;/-lrt/d;/-ldc1394/d;/-lavcodec/d;/-lavformat/d;/-lavutil/d;/-lswscale/d;/-lavresample/d" third_party/BUILD

5 - 修改 BUILD 文件

打开/mediapipe/third_party/BUILD

#定位到
“WITH_WEBP”: “OFF”,

# 在后面增加以下两句内容:
“ENABLE_NEON”: “OFF”,
“WITH_TENGINE”: “OFF”,

6 - 修改OpenCV和FFMpeg的编译文件
在 mediapipe 下执行如下代码

sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/g" third_party/opencv_linux.BUILD
sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/g" third_party/ffmpeg_linux.BUILD

7 - 安装编译器protobuf-compiler
下载,注意是 linux-aarch64.zip结尾

然后将protobuf-compilerv3.19.1中的“bin”和include下的“google”复制到 mediapipe 下 并修改mediapipe/setup.py

protoc_command = [self._protoc, ‘-I.’, ‘–python_out=.’, source]

修改为:(注意符号英文格式)
protoc_command = [self._protoc, ‘-I.’, ‘-I/usr/local/include’,’–python_out=.’, source]

8 - gcc版本是否是8,如果不是请升级(不升级会报错,都是泪啊,请务必升级)

sudo apt-get update
sudo apt-get install gcc-8
sudo apt-get install g++-8
cd /usr/bin
sudo rm gcc g++
sudo ln -s gcc-8 gcc
sudo ln -s g++-8 g++

如果报错在回来升级gcc,继续执行编译文件的话,又会报错 this rule is missing dependency declarations for the following fles 清理缓存继续:

sudo rm -rf ~/.cache/bazel/

9 - 编译
尽可能使用科学上网,否则下载包会中断什么的,耐心重试吧…
在 mediapipe 下执行:

python3 setup.py gen_protos && python3 setup.py bdist_wheel

等很久之后会在一个 dist 文件夹生成 .whl 文件

10 - install
进入到你的虚拟环境(如果有)

pip install *****.whl

写在最后:
整个流程断断续续很多次,参考了好几篇文章,表示感谢
我试图在电脑端科学上网然后开 WiFi 给开发板,事实证明这样是不行滴
我用的 python36 如果有朋友想要我的 whl 可以私信或是留言

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/715020.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存