迅为RK3588开发板使用 tflite 框架

news2024/11/19 9:37:37

1 TensorFlow Lite 是 TensorFlow 移动和嵌入式设备轻量级解决方案。它使设备机器学习具有低延迟和更小的二进制体积。TensorFlow Lite 同时支持 Android 神经网络 API 的硬件加速。

TensorFlow Lite 使用多项技术降低延迟,例如移动 app 内核优化、pre-fused 激活、允许更快更小(定点)模型的量化内核。

2 现在选择 tflite 作为我们的人工智能框架。输入以下命令:

cd examples/tflite

3 MobileNet 是基于深度级可分离卷积构建的网络,其实这种结构最早是出现在 GoogleNet v3的 inception 中,它是将标准卷积拆分为了两个操作:深度卷积(depthwise convolution) 和逐点

卷积(pointwise convolution),Depthwise convolution 和标准卷积不同,对于标准卷积其卷积核是用在所有的输入通道上(input channels),而 depthwise convolution 针对每个输入通道采用不同的卷积核,就是说一个卷积核对应一个输入通道,所以说 depthwise convolution 是 depth级别的操作。我们选择 mobilenet_v1 做进一步的测试,输入以下命令:

cd mobilenet_v1

4 打开 test.py,确认使用板载 npu 推理识别图片

vi test.py

修改 test.py 文件,我们修改对应的平台为 rk3588,修改如下所示,“-”代表需要删除的内容,“+” 代表需要新增的内容。

if __name__ == '__main__':

# Create RKNN object - rknn = RKNN(verbose=True)

+ rknn = RKNN()

# Pre-process config

print('--> Config model')

- rknn.config(mean_values=[128, 128, 128], std_values=[128, 128, 128])

+ rknn.config(mean_values=[128, 128, 128], std_values=[128, 128, 128], target_platform='rk3588')

print('done')

# Load model

@@ -62,7 +62,7 @@ if __name__ == '__main__':

# Init runtime environment

print('--> Init runtime environment')

- ret = rknn.init_runtime()

+ ret = rknn.init_runtime(target='rk3588')

if ret != 0:

print('Init runtime environment failed!')

exit(ret)

修改完,保存文件并退出。

5 进入到 examples/tflite/mobilenet_v1 文件夹,输入以下命令,执行模型转换和推理模型的test.py 脚本。

python3 test.py

6 运行结果如下图所示。TOP5 记录了推理结果,其中概率最高也就是 0.935,对应第 156 个标签的物体

更多文档可以查看

B站搜索-北京迅为RK3568开发板,

公众Hao关注:北京迅为,

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

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

相关文章

目标检测数据集格式转换:txt格式转换为xml格式(以VisDrone数据集为例)

1.准备好两个文件夹 VisDroneTxt文件夹里面装的是原图片以及txt格式的标签 VisDroneVoc里面的labels文件夹是目标文件夹,用来装转换之后的xml格式标签 2.给出原转换程序 # .txt-->.xml # ! /usr/bin/python # -*- coding:UTF-8 -*- import os import cv2def t…

如何在 Spring Boot 中进行分布式追踪

在 Spring Boot 中进行分布式追踪 分布式系统中的应用程序由多个微服务组成,它们可以位于不同的服务器、容器或云中。当出现问题时,如性能瓶颈、错误或延迟,了解问题的根本原因变得至关重要。分布式追踪是一种用于跟踪和分析分布式应用程序性…

Ceph入门到精通-Nginx超时参数分析设置

nginx中有些超时设置,本文汇总了nginx中几个超时设置 Nginx 中的超时设置包括: “client_body_timeout”:设置客户端向服务器发送请求体的超时时间,单位为秒。 “client_header_timeout”:设置客户端向服务器发送请…

【Azure 架构师学习笔记】-Azure Data Factory (5) --Data Flow

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Data Factory】系列。 接上文【Azure 架构师学习笔记】-Azure Data Factory (4)-触发器详解-事件触发器 前言 Azure Data Factory, ADF 是微软Azure 的ETL 首选服务之一, 是Azure data platfor…

gogs和drone如何配合使用

上篇介绍了drone和gogs安装方法,这次介绍这两个如何使用,此篇文章主要介绍在物理机上进行发布。 此处用到的java项目地址:https://gitee.com/huningfei/demo-test 一 配置gogs 1.1 在Gogs中配置指定仓库的”.drone.yml“文件 1.2 ssh-drone…

美容院微信小程序怎么添加会员管理功能

要为美容院的微信小程序添加会员管理功能,需要遵循以下步骤: 一、明确会员管理功能的定位和目标 首先,要明确会员管理功能的定位和目标。会员管理功能是美容院微信小程序的重要功能之一,它能够帮助美容院更好地管理会员信息、了解…

Cobalt Strike 4.9

Cobalt Strike 4.9 1. 工具介绍1.1. 工具添加1.2. 工具获取 2. 工具使用2.1. 添加权限并运行2.2. 连接服务端2.3. 连接成功 3. 安全性自查 1. 工具介绍 CS 是Cobalt Strike的简称,是一款渗透测试神器,常被业界人称为CS神器。Cobalt Strike已经不再使用MS…

软件测试简历项目经验怎么写?大厂面试手拿把掐

前言 在写简历之前,我们先来看看失败者的简历和成功者的简历之间有什么区别。为什么成功者的简历可以在求职中起到“四两拨千斤”的作用,而失败者的简历却被丢进了垃圾桶,这两者到底有什么不同? 成功的简历与失败的简历 我们发现…

每日一面系列之@Component和@Configuration区别

Configuration 和 Component 到底有何区别呢?我先通过如下一个案例,在不分析源码的情况下,小伙伴们先来直观感受一下这两个之间的区别。 Configurationpublic class JavaConfig01 { }Componentpublic class JavaConfig02 { } 首先&#xff…

常见算法-双骰子游戏(Craps)

常见算法-双骰子游戏(Craps) 1、说明 一个简单的双骰子游戏,游戏规则如下: 玩家掷两个骰子,点数为1到6, 如果第一次点数和为7或11,则玩家胜,如果点数和为2、3或12,则…

使用Jetson AGX Orin进行口罩识别

在 https://gitee.com/gpus/maskDetection_jetson 代码仓有个口罩识别的案例,我们来看看能不能在Jetson AGX Orin上搞定。 先将该代码仓fork到自己的代码仓(以便魔改) 回到自己的代码仓: 根据README.md来操作吧! 首先…

Feign(替代RestTemplate)远程调用

Feign初步学习 定义 Feign 是一个基于 Java 的 HTTP 客户端库,它是 Spring Cloud 中的一部分,用于简化微服务之间的 HTTP 通信。与传统的使用 RestTemplate 来调用 RESTful 服务不同,Feign 提供了一种声明式、基于接口的方式来定义和调用 H…

YB2419是一款功能齐备,内置mos100%占空比高效率同步降压IC

产品描述: YB2419是一款功能齐备,应用极为简单,并兼顾应用的灵活性和广泛性,高性能,以及超高性价比的恒压恒流降压型DC-DC可持续输出4.2A,支持两路USB口同时输出。是一款输入耐压可达40V,4.5-40V输入电压条件正常工作&#xff0c…

基于SpringBoot的厨艺交流平台设计与实现

目录 前言 一、技术栈 二、系统功能介绍 食材分类管理 用户信息管理 菜谱分类管理 菜谱信息管理 食材信息管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 使用旧方法对厨艺交流信息进行系统化管理已经不再让人们信赖了,把现在的网络信息…

查找算法——二分查找法

一、介绍 首先需要将查找的数据排好序,再进行二分查找法来进行查找,二分查找是将数据范围不断分割为两份,不断比较中间值与待查找值的大小来确定其在哪个区间范围的一种方法。例如:在一组数据(1,4&#xff…

零基础Linux_14(基础IO_文件)缓冲区+文件系统inode等

目录 1. 缓冲区 1.1 缓冲区的存在 1.2 缓冲区的刷新策略 1.3 模拟C标准库中的文件操作 完整代码及验证: 1.4 重看缓冲区 1.5 stdout和stderr的区别 2. 文件系统 2.1 磁盘的物理结构CHS等 2.2 磁盘的抽象结构LBA等 2.3 文件管理inode等 2.4 对文件的操作…

Bytebase 2023 第三季度回顾

开工快乐!2023 的第三个季度转眼过去了,一起来看看 Bytebase 过去几个月干得如何? 📰 公司动态 Bytebase 突破百万下载。和 GitLab 签署 Technology Partner 技术合作伙伴协议。中东 Shopify 使用 Bytebase 构建一站式数据库开发…

节能减排 | AIRIOT智慧工厂节能管理解决方案

工厂作为高能耗的生产型企业,降低能耗和提升资源利用率方面就显得很重要,对实施国家倡导的节能降耗、绿色发展有着很大程度上的必要性。然而,工厂能源管理从传统手段向智能化升级转型的过程中,企业也不可避免的面临一些痛点和挑战…

在线刷题答题小程序开发现成源码搭建 功能丰富 支持在线考试+刷题 源码开源可二开

在线考试和刷题成为了学习的一种趋势,越来越多的人开始通过在线平台进行自我学习和提升。为了满足这一需求,开发一款功能丰富、支持在线考试和刷题的答题小程序成为了热门的需求。分享一款在线刷题答题小程序源码,功能丰富,支持在…

分布式搜索系统的设计

介绍 如今,我们几乎在每个网站上都看到一个搜索栏。搜索栏使我们能够快速找到我们需要的内容。 让我们举个例子。想象一下,如果YouTube没有提供搜索栏,我们如何在数百万个视频中找到特定的视频,这些视频多年来都已上传到YouTube&a…