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

文章目录

  • 前言
  • 一、Tengine是什么?
  • 二、部署步骤
    • 1.前期准备(升级cmake,jetpack4.6刷机后cmake版本只有3.13 不够用的)
    • 2.setup nvcc enva(应该有用)
    • 3.build
  • 三、问题解决
    • [1] 此处可能报错,大概就是指/home/nvidia/下没有CMakelist.txt
    • [2] 此处可能报错,应该是CMakelist.txt 不知道要用cuda进行编译
  • 总结


前言

本文将介绍在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


总结

加油吧

你可能感兴趣的:(Jeston,tx2,linux,深度学习,神经网络)