01. 嵌入式与人工智能是如何结合的?

news2024/11/15 14:22:57

在这里插入图片描述
CPU是Arm A57的
GPU是128cuda核

一.小车跟踪的需求和设计方法

比如有一个小车跟踪的项目。
需求是:小车识别出罪犯,然后去跟踪他。
方法:摄像头采集到人之后传入到开发板,内部做一下识别,然后控制小车去跟随。
在人工智能算法上:
先目标检测,找到人脸
然后目标识别,把人脸与库中人脸比对
然后目标追踪,运动轨迹预测。防止重新检测和识别。

二.嵌入式设备上的运算流程

模型存在 Flash卡(类似硬盘,永久存储)上面。

运行的时候把数据搬到内存里面,速度比flash快很多。现在的手机都是 Flash + 内存。

AI模型师放到Flash硬盘里的,然后加载到内存,内存再加载到GPU。

三.算法的部署流程

3.1 剪枝、蒸馏、量化

要把模型在板子上快速运行。
先把模型压缩,减少运算量。
表现为:剪枝、蒸馏、量化
剪枝:去掉权重很低的神经元。
蒸馏:找个比较大的模型去训练,蒸馏出比较关键的分布,再用小模型基于这个分布训练。
量化:对模型运算的时候,很多都是浮点数,有的场合不需要这么这么长的精度。

3.2 TensorRT 推理加速

英伟达提出的,其它公司可能有自己的工具。

推理加速可以提升到10-100秒。

3.3 cuda并发编程

基于硬件层的优化
如果对上面的速度还不满意,可以使用cuda并发编程。
网上有岗位叫GPU工程师。
怎么使GPU效率最高,读进来的时候有延迟,类似于调度算法,你看看怎么分配,使他们的时间衔接最好。个性化定制。
CPU负责任务调度,数据都是存在flash上面的。

CPU构造:
在这里插入图片描述

运算的时候CPU将内存中的数据搬到cache中,cache的速度比内存块。再通过控制器把cache的数据放到ALU运算单元中去,cpu的运算单元比较少。

GPU构造

128 cuda核的GPU就是有128个ALU运算单元
816=128。
每一行是一组,每组都有控制单元和Cache。这八组可以并行计算。

在这里插入图片描述

CPU是牛人,可以处理复杂逻辑。
GPU是人多力量大,适合逻辑简单,工作内容很多的工作。

四.补充知识

4.1 NVIDIA Jetson Nano开发板

NVIDIA Jetson Nano开发板:
NVIDIA Jetson Nano是一款基于ARM架构的高性能开发板,
它具有强大的计算能力、多种外设接口和易于使用的编程环境,
适用于各种人工智能和嵌入式系统开发。

4.2 ARM处理器架构

Advanced RISC Machine,广泛应用于嵌入式机器的处理器设计。

ARM处理器具有高性能MPU和多种并行控制单元和通信接口,
构成支持多种应用的强大架构,广泛应用于消费性电子产品、电脑外设、
甚至导弹的弹载计算机等军用设施。

参考链接

https://www.bilibili.com/video/BV19m4y1978f/?spm_id_from=333.999.top_right_bar_window_history.content.click&vd_source=ebc47f36e62b223817b8e0edff181613

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

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

相关文章

Linux ———— 管理磁盘

(一)MBR硬盘与GPT硬盘 硬盘按分区表的格式可以分为MBR硬盘与GPT硬盘两种硬盘格式。 MBR 硬盘:使用的是旧的传统硬盘分区表格式,其硬盘分区表存储在MBR(Master Boot Record,主引导区记录)内。MBR位于…

为什么引入偏向锁、轻量级锁,介绍下升级流程

Synchronized Synchronized 在 jdk1.6 版本之前,是通过重量级锁的方式来实现线程之间锁的竞争。之所以称它为重量级锁,是因为它的底层底层依赖操作系统的 Mutex Lock 来实现互斥功能。(如图)Mutex 是系统方法,由于权限…

PN7727 集成驱动及四个开关管的无线充电发射端功率芯片 20W无线发射功率

PN7727是一款用于无线充电的智能功率芯片该芯片集成了驱动及四颗高效功率级场效应管内置自举高压PMOS和5V/50mA LDO,具备自适应死区功能。 该芯片集成了欠压保护、过温保护等功能。芯片的两个输入管脚PWM1和PWM2兼容5V和3.3v信号控制,具有良好的…

小黑子—spring:第一章 Bean基础

spring入门1.0 一 小黑子对spring基础进行概述1.1 spring导论1.2 传统Javaweb开发困惑及解决方法1.3 三大的思想提出1.3.1 IOC入门案例1.3.2 DI入门案例 1.4 框架概念1.5 初识spring1.5.1 Spring Framework 1.6 BeanFactory快速入门1.7 ApplicationContext快速入门1.8 BeanFact…

浅谈智慧空开在某市科技馆项目的应用-安科瑞 蒋静

【摘要】:ASCB1系列智能微型断路器是安科瑞电气股份有限公司全新推出的智慧用电产品,产品由智能微型断路器与智能网关两部分组成,可用于对用电线路的关键电气因素,如电压、电流、功率、温度、漏电、能耗等进行实时监测&#xff0c…

工业数字化转型中的控制塔BI

工业数字化转型是当前工业领域的一个重要趋势,它通过应用先进的信息技术和数据分析方法,推动传统制造业向智能化、高效化、可持续发展的方向转变。在工业数字化转型中,控制塔BI(Business Intelligence)扮演着重要的角色…

ant design vue 的getPopupContainer

在 ant design vue 中,有几个组件是有 getPopupContainer 属性的,比如:下拉菜单 默认是渲染到body 上的,所以如果你想要对 下拉选择组件 的样式,做修改,如果 style 标签上开启了 scoped,肯定不会…

快手极速版app拉新推广和抖音极速版app地推拉新,哪个收益更高?

抖音极速版和快手极速版可以通过“聚量推客”申请,是两个常年霸榜地推app拉新行业的项目,说他们是推广拉新行业的旗帜性项目,也丝毫不为过。许多推广员,就是从抖音极速版和快手极速版中间二选一,开启了自己的地推赚钱生…

jsp简单实现新闻发布系统中用户注册确认和用户模拟登录功能的开发

jsp简单实现新闻发布系统中用户注册确认和用户模拟登录功能的开发 <jsp:include page"common/top.jsp" /> 以及left和bottom为三个公共页面 主页面为index.jsp 简单的实现了可以设置用户名和登录等功能 Login.jsp <%page language"java" pa…

【ROS入门】机器人运动控制以及里程计信息显示

文章结构 运动控制实现流程&#xff08;Gazebo&#xff09;为joint添加传动装置以及控制器xacro文件集成启动gazebo并控制机器人运动 Rviz查看里程计信息启动Rviz添加组件 运动控制实现流程&#xff08;Gazebo&#xff09; 运动控制基本流程: 已经创建完毕的机器人模型&#x…

MySQL主从同步-binlog

MySQL主从同步-binlog 服务器准备 IP节点配置系统版本191.168.117.143master2c2g40gcentos 7.9192.168.117.142slave2c2g40gcentos 7.9 环境准备 下面操作需要在两台机器都操作 关闭防火墙 systemctl stop firewalld && systemctl disable firewalldsetenforce 0…

高可用系统架构——关于语雀宕机的思考

语雀系统崩溃了&#xff0c;并且经过8个多小时才恢复&#xff0c;估计语雀的小伙伴们已经哭晕在厕所里了。 本次稳定性故障再次给架构师敲响警钟&#xff1a;系统高可用一直是架构的重点&#xff0c;它涉及到系统的方方面面&#xff0c;并且是一件持续性的长期工作。 故障起因…

1200*A. Trust Nobody(贪心)

Problem - 1826A - Codeforces 解析&#xff1a; 从大到小枚举说谎人的个数x&#xff0c;然后查看是否有 x个人说谎即可。 #include<bits/stdc.h> using namespace std; #define int long long const int N2e55; int t,n,a[N]; signed main(){scanf("%lld",&a…

TS中类型别名和接口区别

在很多场景下&#xff0c;interface 和 type都能使用&#xff0c;因此两者在很多时候会被混淆&#xff1a; 接口可以通过之间的继承&#xff0c;实现多种接口的组合 使用类型别名也可以实现多种的&#xff0c;通过&连接,有差异&#xff1a; 子接口中不能重新覆盖父接口中…

安防监控项目---boa服务器的移植

文章目录 前言一、boa服务器简介二、移植步骤三、测试结果四、A9平台移植BOA总结 前言 书接上期&#xff0c;在配置完成环境后&#xff0c;那么接下来呢还得移植两个非常关键的东西&#xff0c;一个呢时boa服务器&#xff0c;另一个呢时cgi接口&#xff0c;boa服务器能够使得我…

医学影像乳腺肿瘤分割的同学看过来:PDPNet:用于通用乳腺肿瘤分割的渐进式双先验网络

PDPNet&#xff1a;一种渐进式双先验网络&#xff0c;可以来从动态增强的图像中分割乳腺肿瘤&#xff0c;性能表现SOTA&#xff01;并提高了模型的泛化能力&#xff0c;单位&#xff1a;贵州大学, 哈医大肿瘤医院, 贵州省人民医院 为了提高乳腺肿瘤分割模型的泛化能力&#xf…

中文编程工具免费版下载,中文开发语言工具免费版下载

中文编程工具免费版下载&#xff0c;中文开发语言工具免费版下载 中文编程工具开发的实际部分案例如下图 编程系统化课程总目录及明细&#xff0c;点击进入了解详情。 https://blog.csdn.net/qq_29129627/article/details/134073098?spm1001.2014.3001.5502

轻量封装WebGPU渲染系统示例<4>-CubeMap/天空盒(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/version-1.01/src/voxgpu/sample/ImgCubeMap.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 2. 高频调用与低频调用隔离。 3. 面向用户的易用性封装。 4. 渲染数据和渲染机制分离。 5. 用户…

【linux】文件系统+软硬连接+动静态库

文件系统软硬连接动静态库 1.理解文件系统1.1磁盘的物理结构1.2磁盘的存储结构1.3磁盘的逻辑结构1.4文件系统 2.软硬链接2.1什么是软硬链接2.2软硬链接的作用 3.动静态库3.1什么是库3.1静态库和静态链接3.2动态库和动态链接3.2.1通过环境变量找到动态库路径3.2.2把动态库拷贝到…

包含(has it)、继承(is it)

包含关系&#xff08;has it&#xff09; 继承关系&#xff08;is it&#xff09; class Person:def __init__(self, no, name, salary):self.no noself.name nameself.salary salarydef __str__(self):msg self.no "---" self.name --- self.salaryreturn m…