编译 Tengine
OPEN AI LAB 在 Github 上提供了开源的 Tengine 版本,并提供了比较详细的参考文档,所以可以直接下载源码,根据文档进行编译。
得益于 i.MX8MMini 强大的性能,我们可以直接在 i.MX8MMini 上下载代码,进行编译,免去交叉编译的诸多不便。
1. 下载源码
git clone --recurse-submodules https://github.com/OAID/tengine/
注意 clone 的时候一定要带 --recurse-submodules 这个参数,否则会下载不完整。
2. 安装依赖
apt install libprotobuf-dev protobuf-compiler libopencv-dev pkg-config
3. 修改配置文件
在源码的 default_config 目录下提供了基于 arm32、arm64、x86 这三个平台的配置文件。
RK3399 是 Arm64, 所以对应的配置文件为:arm64_linux_native.config。
这里要做的修改是,在配置文件中打开 BUILD_SERIALIZER=y 这个选项,否则后面运行的时候可能会遇到Shared library not found: libcaffe-serializer.so: cannot open shared object file: No such file or directory 这个错误。
4. 编译
在源码根目录执行如下命令进行编译:
。/linux_build.sh default_config/arm64_linux_native.config
5. 下载 model 文件
运行这些 AI 应用的时候,需要加载对应的 model 文件,这些文件可以从 OPEN AI LAB 提供的网盘里下载:
https://pan.baidu.com/s/1Ar9334MPeIV1eq4pM1eI-Q , 提取码为 hhgc 。
下载完后需要把这些 model 文件放在 Tengine 源码根目录下的 models 文件夹,所有的 model 文件加在一起比较大,我只上传了后面测试需要用到的部分:
6. 运行 benchmark
编译完成后默认会在 build/benchmark/bin/ 目录下生成两个供测试用的 benchmark 文件,可以直接执行这两个文件,用来简单的测试,确实是否真正编译成功。
。/build/benchmark/bin/bench_sqz 。/build/benchmark/bin/bench_mobilenet
编译 Tengine
OPEN AI LAB 在 Github 上提供了开源的 Tengine 版本,并提供了比较详细的参考文档,所以可以直接下载源码,根据文档进行编译。
得益于 i.MX8MMini 强大的性能,我们可以直接在 i.MX8MMini 上下载代码,进行编译,免去交叉编译的诸多不便。
1. 下载源码
git clone --recurse-submodules https://github.com/OAID/tengine/
注意 clone 的时候一定要带 --recurse-submodules 这个参数,否则会下载不完整。
2. 安装依赖
apt install libprotobuf-dev protobuf-compiler libopencv-dev pkg-config
3. 修改配置文件
在源码的 default_config 目录下提供了基于 arm32、arm64、x86 这三个平台的配置文件。
RK3399 是 Arm64, 所以对应的配置文件为:arm64_linux_native.config。
这里要做的修改是,在配置文件中打开 BUILD_SERIALIZER=y 这个选项,否则后面运行的时候可能会遇到Shared library not found: libcaffe-serializer.so: cannot open shared object file: No such file or directory 这个错误。
4. 编译
在源码根目录执行如下命令进行编译:
。/linux_build.sh default_config/arm64_linux_native.config
5. 下载 model 文件
运行这些 AI 应用的时候,需要加载对应的 model 文件,这些文件可以从 OPEN AI LAB 提供的网盘里下载:
https://pan.baidu.com/s/1Ar9334MPeIV1eq4pM1eI-Q , 提取码为 hhgc 。
下载完后需要把这些 model 文件放在 Tengine 源码根目录下的 models 文件夹,所有的 model 文件加在一起比较大,我只上传了后面测试需要用到的部分:
6. 运行 benchmark
编译完成后默认会在 build/benchmark/bin/ 目录下生成两个供测试用的 benchmark 文件,可以直接执行这两个文件,用来简单的测试,确实是否真正编译成功。
。/build/benchmark/bin/bench_sqz 。/build/benchmark/bin/bench_mobilenet
举报