全志D1-H芯片Tengine支持

简介

​ 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

image-20210517160806523

$ ./apps/test_yolofastest -m <your/sample/path>/tengine/data/yolo-fastest-1.1.tmfile -i <your/sample/path>/tengine/data/ssd_dog.jpg

注意事项

模型支持限制

本次发布是 Allwinner D1-H 技术预览版 ,建议运行较小模型,例如 MobileNet v1、MobileNet v2、 ResNet18、SqueezeNet v1.1、YOLO-Fastest。

矢量计算支持

Allwinner D1-H 开发板预装的系统不支持 RSIC-V 的指令集代码运行,需要将工具链 sysroot/lib64vxthread 中的库文件拷贝到 D1-H 根目录下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/642809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(学习日记)2024.01.20:通用工具库stdlib.h里好玩的函数

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

LeetCode 2765.最长交替子数组:O(n)的做法(两次遍历)

【LetMeFly】2765.最长交替子数组&#xff1a;O(n)的做法&#xff08;两次遍历&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/longest-alternating-subarray/ 给你一个下标从 0 开始的整数数组 nums 。如果 nums 中长度为 m 的子数组 s 满足以下条件&a…

开始学习vue2基础篇(指令)

一、 内容渲染指令 > {{}} 模板渲染&#xff08;模板引擎&#xff09; 1. {{数据绑定}} 2. {{简单计算}} 3. {{简单逻辑运算}}&#xff08;三元运算&#xff09; 4. {{做简单 js 判断}} 注意&#xff1a;不能写语句、不能解析 html 渲染、不能放在在属性身上 > v-…

使用Flink的所有pom文件

Flink中所有的pom文件中的索引 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xs…

[小程序]页面的构建

一、视图容器组件 ①View 视图区域组件&#xff0c;类似于HTML中的div&#xff0c;可以用来按块实现页面布局效果&#xff0c;具体实例如下&#xff1a; <view class"dock"><view>A</view><view>B</view><view>C</view> &…

大数据基础设施搭建 - Hbase

文章目录 一、解压压缩包二、配置环境变量三、修改配置文件3.1 修改hbase-env.sh3.2 修改hbase-site.xml3.3 修改regionservers 四、解决HBase和Hadoop的log4j兼容性问题&#xff0c;使用Hadoop的jar包五、HBase远程发送到其他集群六、启动七、停止八、基本操作8.1 进入Hbase客…

常用界面设计组件 —— 按钮组件、布局组件

2.4 按钮组件2.5 布局组件 2.4 按钮组件 QPushButton、QRadioButton 、QCheckBox都从 QAbstractButton&#xff0c;拥有一些共同的属性&#xff0c;如下图所 示&#xff1a; 图标使用setIcon()来设置&#xff0c;文本可以在构造函数或通过 setText()来设置。 可以使用 isCheck…

docker运行nginx不生效

docker运行nginx镜像时&#xff0c;设置端口映射&#xff0c;则只有该映射端口起作用&#xff0c;nginx配置的其他端口无效 监听端口 server {listen 8082;server_name ip地址;} server {listen 8083;server_name ip地址;}docker运行命令 docker run --name n…

探索人工智能的发展与影响

人工智能&#xff08;AI&#xff09;的快速发展正在深刻地改变着我们的生活和社会。从聊天机器人到自动驾驶汽车&#xff0c;AI的应用正日益广泛&#xff0c;为我们带来了前所未有的便利和创新。本文将深入探讨人工智能的发展历程、应用领域以及对社会的影响。 1. 人工智能的定…

【深度学习PyTorch简介】7.Load and run model predictions 加载和运行模型预测

Load and run model predictions 加载和运行模型预测 Load the model 加载模型 在本单元中&#xff0c;我们将了解如何加载模型及其持久参数状态和推理模型预测。 %matplotlib inline import torch import onnxruntime from torch import nn import torch.onnx as onnx impo…

CSS高级技巧导读

1&#xff0c;精灵图 1.1 为什么需要精灵图&#xff1f; 目的&#xff1a;为了有效地减少服务器接收和发送请求的次数&#xff0c;提高页面的加载速度 核心原理&#xff1a;将网页中的一些小背景图像整合到一张大图中&#xff0c;这样服务器只需要一次请求就可以了 1.2 精灵…

【WPF.NET开发】克隆打印机

本文内容 大多数企业有时会购买多台同一型号的打印机。 通常&#xff0c;这些打印机都安装了几乎相同的配置设置。 安装每台打印机既费时又容易出错。 使用 Microsoft .NET Framework 公开的 System.Printing.IndexedProperties 命名空间和 InstallPrintQueue 类可以立即安装从…

化妆-护肤品选购

粉底液 在下颚线涂抹 选择贴近肤色的 在选购时不能立即选购&#xff0c;而是涂抹后逛个街吃个饭&#xff0c;再看持久程度和服帖程度&#xff0c;所有粉底液都会脱妆 品牌 韩系品牌 VDL 韩系品牌偏光泽感(因为韩国人皮肤偏好) 所以一般会带有”亮泽“ “光感” 中国品牌 …

查看并解析当前jdk的垃圾收集器

概述&#xff1a;复习的时候&#xff0c;学看一下。 命令&#xff1a; -XX:PrintCommandLineFlags 打开idea&#xff0c;配置jvm 把上面命令输入jvm options中即可。 举例代码 这个代码的解析&#xff0c;我上篇文章有写&#xff0c;这个跟本文没有任何关系&#xff1a; …

C++--enum--枚举

C/C枚举类型&#xff1a; 不限定作用域的枚举类型 关键字&#xff1a;enum 声明枚举类型&#xff0c;然后可以用枚举类型来定义变量(如同结构体)&#xff1a; enum Color{white,black,yellow}; {注意分号} Color color_type; color_type 变量的值只限于枚举类型Color中的值 枚…

深度学习|RCNNFast-RCNN

1.RCNN 2014年提出R-CNN网络&#xff0c;该网络不再使用暴力穷举的方法&#xff0c;而是使用候选区域方法&#xff08;region proposal method&#xff09;创建目标检测的区域来完成目标检测的任务&#xff0c;R-CNN是以深度神经网络为基础的目标检测的模型 &#xff0c;以R-C…

Hikvision综合安防管理平台files;.css接口存在任意文件读取漏洞 附POC软件

免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. Hikvisi…

MySQL 常规操作指南

1. 连接MySQL服务器 &#xff08;1&#xff09;通过命令行连接 mysql -u username -p在提示下输入对应用户的密码&#xff0c;即可进入MySQL命令行界面。 &#xff08;2&#xff09;指定数据库连接 mysql -u username -p -D database_name这里会直接连接到名为database_nam…

设计模式——1_6 代理(Proxy)

诗有可解不可解&#xff0c;若镜花水月勿泥其迹可也 —— 谢榛 文章目录 定义图纸一个例子&#xff1a;图片搜索器图片加载搜索器直接在Image添加组合他们 各种各样的代理远程代理&#xff1a;镜中月&#xff0c;水中花保护代理&#xff1a;对象也该有隐私引用代理&#xff1a;…

Jupyter Notebook安装使用教程

Jupyter Notebook 是一个基于网页的交互式计算环境&#xff0c;允许你创建和共享包含代码、文本说明、图表和可视化结果的文档。它支持多种编程语言&#xff0c;包括 Python、R、Julia 等。其应用场景非常广泛&#xff0c;特别适用于数据科学、机器学习和教育领域。它可以用于数…