当前位置: 首页 > news >正文

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

在这里插入图片描述
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.lryc.cn/news/209032.html

相关文章:

  • vue3.0运行npm run dev 报错Cannot find module node:url
  • 26. 删除排序数组中的重复项、Leetcode的Python实现
  • 荣耀推送服务消息分类标准
  • [数据结构]-二叉搜索树
  • 力扣每日一题79:单词搜索
  • ChatGPT如何应对用户提出的道德伦理困境?
  • SpringBoot运行流程源码分析------阶段三(Spring Boot外化配置源码解析)
  • 环形链表-力扣
  • 人生岁月年华
  • 电脑QQ如何录制视频文件?
  • python:多波段遥感影像分离成单波段影像
  • 天堂2游戏出错如何解决
  • 『力扣刷题本』:合并两个有序链表(递归解法)
  • C++设计模式_12_Singleton 单件模式
  • 67 内网安全-域横向smbwmi明文或hash传递
  • 面向对象(类/继承/封装/多态)详解
  • 【Python机器学习】零基础掌握GradientBoostingRegressor集成学习
  • 【tio-websocket】12、应用层包—Packet
  • OpenCV官方教程中文版 —— 模板匹配
  • 如何为3D模型设置自发光材质?
  • UI组件库基础
  • 数据结构与算法之矩阵: Leetcode 48. 旋转矩阵 (Typescript版)
  • 大厂面试题-JVM中的三色标记法是什么?
  • Leetcode—121.买卖股票的最佳时机【简单】
  • 【云原生】portainer管理多个独立docker服务器
  • Command集合
  • 【QT开发(17)】2023-QT 5.14.2实现Android开发
  • JVM相关面试题(每日一练)
  • OpenCV 相机相关函数
  • 微信小程序之投票管理