Jeston Tx2 上部署Tengine-lite(及遇到的问题)


前言

本文将介绍在Jeston Tx2上部署Tengine-lite模型的方法 以及这几天来踩的坑。
采用CUDA部署的方法而非openCL
内容简洁有效


一、Tengine是什么?

Tengine 由 OPEN AI LAB 主导开发,该项目实现了深度学习神经网络模型在嵌入式设备上的快速、高效部署需求。为实现在众多 AIoT 应用中的跨平台部署,本项目基于原有 Tengine 项目使用 C 语言进行重构,针对嵌入式设备资源有限的特点进行了深度框架裁剪。同时采用了完全分离的前后端设计,有利于 CPU、GPU、NPU 等异构计算单元的快速移植和部署,同时降低评估和迁移成本。

二、部署步骤

1.前期准备(升级cmake,jetpack4.6刷机后cmake版本只有3.13 不够用的)

删除默认的cmake

  sudo apt remove cmake
    sudo apt purge --auto-remove cmake

从官网下载所需版本,解压,创建build文件夹

version=3.20
build=3
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz
tar -xzvf cmake-$version.$build.tar.gz
cd cmake-$version.$build/

编译安装

./bootstrap
make -j4
sudo make install

移动路径

sudo cp ./bin/cmake /usr/bin/

验证

 cmake --version

2.setup nvcc enva(应该有用)

$ export CUDACXX=/usr/local/cuda/bin/nvcc

3.build

$ git clone https://github.com/OAID/Tengine.git  tengine-lite #也可以自己下载通过邮箱发到Tx2上
$ cd <tengine-lite-root-dir>
$ mkdir -p build-linux-cuda && cd build-linux-cuda
$ cmake -DTENGINE_ENABLE_CUDA=ON ..   #(可能会出现问题 [1])

$ make -j4   #(建议使用sudo)(可能出现问题[2])
$ make install  #(建议使用sudo)

三、问题解决

[1] 此处可能报错,大概就是指/home/nvidia/下没有CMakelist.txt

解决方案就是把tengine-lite下的所有文件都复制到home下,等指令运行结束后再删掉就好

[2] 此处可能报错,应该是CMakelist.txt 不知道要用cuda进行编译

解决方案就是在CMakelist.txt里面添加

project(CUDA_MAT_MUL LANGUAGES CXX CUDA)

参考文章
https://zhuanlan.zhihu.com/p/105721133
https://github.com/OAID/Tengine
https://tengine.readthedocs.io/zh_CN/latest/source_compile/compile_cuda.html#setup-nvcc-enva


总结

加油吧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值