查看: 668|回复: 0
收起左侧

哪吒系列文章之11——Tengine支持

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2022-6-21 08:23
  • 签到天数: 2 天

    [LV.1]

    发表于 2022-1-27 01:09:36 | 显示全部楼层 |阅读模式

    有人预言,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:全志资源下载

    一、版本文件目录说明
    1. $ tree ./sample
    2. sample/
    3. ├── README.md
    4. └── console
    5.     ├── CMakeLists.txt
    6.     ├── apps
    7.     │   ├── CMakeLists.txt
    8.     │   ├── common
    9.     │   │   ├── common.h
    10.     │   │   ├── compiler_fp16.h
    11.     │   │   ├── msc_getopt.h
    12.     │   │   ├── stb_image.h
    13.     │   │   ├── stb_image_write.h
    14.     │   │   ├── tengine_operations.c
    15.     │   │   └── tengine_operations.h
    16.     │   ├── test_classification.cpp
    17.     │   └── test_yolofastest.cpp
    18.     ├── cmake
    19.     │   ├── check.cmake
    20.     │   └── summary.cmake
    21.     ├── data
    22.     │   ├── cat.jpg
    23.     │   ├── mobilenet_v1.tmfile
    24.     │   ├── squeezenet.tmfile
    25.     │   ├── ssd_dog.jpg
    26.     │   └── yolo-fastest-1.1.tmfile
    27.     ├── tengine
    28.     │   └── linux-rv64
    29.     │       ├── include
    30.     │       │   └── tengine
    31.     │       │       └── c_api.h
    32.     │       └── lib
    33.     │           ├── libtengine-lite-static.a
    34.     │           └── libtengine-lite.so
    35.     └── toolchains
    36.         └── rv64-c906.toolchain.cmake
    复制代码

    二、运行示例

    交叉工具链准备

    依赖的交叉工具链压缩包:
    1. riscv64-glibc-gcc-thead_20200702.tar.gz
    复制代码
    gcc 版本信息:
    1. $ riscv64-unknown-linux-gnu-gcc -v
    2. Using built-in specs.
    3. COLLECT_GCC=riscv64-unknown-linux-gnu-gcc
    4. COLLECT_LTO_WRAPPER=/mnt/d/ubuntu/riscv64-glibc-gcc-thead_20200702/bin/../libexec/gcc/riscv64-unknown-linux-gnu/8.1.0/lto-wrapper
    5. Target: riscv64-unknown-linux-gnu
    6. 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++
    7. Thread model: posix
    8. gcc version 8.1.0 (C-SKY RISCV Tools V1.8.4 B20200702)
    复制代码
    示例编译
    1. $ cd sample/console
    2. $ mkdir build && cd build
    3. $ cmake ..
    4. $ make -j4

    5. $ export LD_LIBRARY_PATH=<project root>/tengine/linux-rv64/lib/
    复制代码
    示例运行
    1. $ ./apps/test_classification -m <your/sample/path>/tengine/squeezenet.tmfile -i <your/sample/path>/tengine/data/cat.jpg
    复制代码
    全志D1 芯片及应用-哪吒系列文章之11——Tengine支持risc-v单片机中文社区(1)
    1. $ ./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作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条


    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-19 18:20 , Processed in 0.781768 second(s), 49 queries .

    快速回复 返回顶部 返回列表