离线
TA的每日心情 奋斗 2022-6-21 08:23
签到天数: 2 天
[LV.1]
有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 塞巴斯蒂安 于 2022-1-27 01:09 编辑
简介
Tengine 是 OPEN AI LAB 推出的边缘 AI 计算框架,致力于解决 AIoT 产业链碎片化问题,加速 AI 产业化落地。Tengine 为了解决 AIoT 应用落地问题,重点关注嵌入式设备上的边缘 AI 计算推理,为海量 AIoT 应用和设备提供高性能 AI 推理的技术赋能。
一方面Tengine通过异构计算技术同时调用 CPU、GPU、DSP、NPU 等不同计算单元来完成 AI 网络计算,另一方面,它支持 TensorFlow、Caffe、MXNet、PyTorch、MegEngine、DarkNet、ONNX、ncnn 等业内主流框架,简化并加速面向场景的 AI 算法在嵌入式边缘设备上快速迁移,以及实际应用部署落地,提升十倍基础开发的效率。
Tengine 向下几乎兼容所有主流国产 AI 芯片;向上则支撑所有主流训练框架及网络模型,包括 TensorFlow、PyTorch、Caffe、PaddlePaddle等。是国际上为数不多的通过 ONNX 官方认证的战略合作伙伴之一。在 CSDN 发布的《中国 AI 应用开发者报告》上,被评为“开发者最喜爱的本土 AI 框架工具”。
Tengine 与 OpenCV 合作共同加速边缘智能,成为 OpenCV 的全球合作伙伴。Tengine 还与老牌跨平台计算机视觉库 OpenCV 进一步深入合作,共同加速边缘智能,成为其全球合作伙伴。
Tengine 示例使用说明见:https://github.com/OAID/Tengine
下载
【威力加强包】Tengine D1-H哪吒开发板Demo: 全志资源下载
一、版本文件目录说明
$ tree ./sample
sample/
├── README.md
└── console
├── CMakeLists.txt
├── apps
│ ├── CMakeLists.txt
│ ├── common
│ │ ├── common.h
│ │ ├── compiler_fp16.h
│ │ ├── msc_getopt.h
│ │ ├── stb_image.h
│ │ ├── stb_image_write.h
│ │ ├── tengine_operations.c
│ │ └── tengine_operations.h
│ ├── test_classification.cpp
│ └── test_yolofastest.cpp
├── cmake
│ ├── check.cmake
│ └── summary.cmake
├── data
│ ├── cat.jpg
│ ├── mobilenet_v1.tmfile
│ ├── squeezenet.tmfile
│ ├── ssd_dog.jpg
│ └── yolo-fastest-1.1.tmfile
├── tengine
│ └── linux-rv64
│ ├── include
│ │ └── tengine
│ │ └── c_api.h
│ └── lib
│ ├── libtengine-lite-static.a
│ └── libtengine-lite.so
└── toolchains
└── rv64-c906.toolchain.cmake 复制代码
二、运行示例
交叉工具链准备
依赖的交叉工具链压缩包:
riscv64-glibc-gcc-thead_20200702.tar.gz 复制代码 gcc 版本信息:
$ riscv64-unknown-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=riscv64-unknown-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/mnt/d/ubuntu/riscv64-glibc-gcc-thead_20200702/bin/../libexec/gcc/riscv64-unknown-linux-gnu/8.1.0/lto-wrapper
Target: riscv64-unknown-linux-gnu
Configured with: /ldhome/software/toolsbuild/slave/workspace/riscv64_build_linux_x86_64/build/../source/riscv/riscv-gcc/configure --target=riscv64-unknown-linux-gnu --with-mpc=/ldhome/software/toolsbuild/slave/workspace/riscv64_build_linux_x86_64/lib-for-gcc-x86_64-linux/ --with-mpfr=/ldhome/software/toolsbuild/slave/workspace/riscv64_build_linux_x86_64/lib-for-gcc-x86_64-linux/ --with-gmp=/ldhome/software/toolsbuild/slave/workspace/riscv64_build_linux_x86_64/lib-for-gcc-x86_64-linux/ --prefix=/ldhome/software/toolsbuild/slave/workspace/riscv64_build_linux_x86_64/install --with-sysroot=/ldhome/software/toolsbuild/slave/workspace/riscv64_build_linux_x86_64/install/sysroot --with-system-zlib --enable-shared --enable-tls --enable-languages=c,c++,fortran --disable-libmudflap --disable-libssp --disable-libquadmath --disable-nls --disable-bootstrap --src=../../source/riscv/riscv-gcc --enable-checking=yes --with-pkgversion='C-SKY RISCV Tools V1.8.4 B20200702' --enable-multilib --with-abi=lp64d --with-arch=rv64gcxthead 'CFLAGS_FOR_TARGET=-O2 -mcmodel=medany' 'CXXFLAGS_FOR_TARGET=-O2 -mcmodel=medany' CC=gcc CXX=g++
Thread model: posix
gcc version 8.1.0 (C-SKY RISCV Tools V1.8.4 B20200702) 复制代码 示例编译
$ cd sample/console
$ mkdir build && cd build
$ cmake ..
$ make -j4
$ export LD_LIBRARY_PATH=<project root>/tengine/linux-rv64/lib/ 复制代码 示例运行
$ ./apps/test_classification -m <your/sample/path>/tengine/squeezenet.tmfile -i <your/sample/path>/tengine/data/cat.jpg 复制代码 $ ./apps/test_yolofastest -m <your/sample/path>/tengine/data/yolo-fastest-1.1.tmfile -i <your/sample/path>/tengine/data/ssd_dog.jpg 复制代码
三、注意事项
01、模型支持限制
本次发布是 Allwinner D1-H 技术预览版 ,建议运行较小模型,例如 MobileNet v1、MobileNet v2、 ResNet18、SqueezeNet v1.1、YOLO-Fastest。
02、矢量计算支持
Allwinner D1-H 开发板预装的系统不支持 RSIC-V 的指令集代码运行,需要将工具链 sysroot/lib64vxthread 中的库文件拷贝到 D1-H 根目录下。
四、Tengine技术支持
Tengine 开源社区:https://github.com/OAID/Tengine
完
上一篇:
哪吒系列文章之10——MIPI屏幕TFT08006支持 下一篇:
哪吒系列文章之12——ncnn支持
RISCV作者优文