基于FPGA轻松玩转AI

news/2024/4/30 1:21:06/文章来源:https://blog.csdn.net/YEYUANGEN/article/details/137629895

启动人工智能应用从来没有像现在这样容易!受益于像Xilinx Zynq UltraScale+ MPSoC 这样的FPGA,AI现在也可以离线使用或在边缘部署、使用.可用于开发和部署用于实时推理的机器学习应用,因此将AI集成到应用中变得轻而易举。图像检测或分类、模式或语音识别推动了制造业、医疗、汽车和金融服务等产业的升级。

--

快速开启基于AIFPGA应用

人工智能正在占据越来越多的应用和生活场景,例如图像检测和分类,翻译和推荐系统等等。基于机器学习技术的应用数量庞大且还在不断增长。采用瑞苏盈科结合FPGA和ARM处理器的核心板模块,在离线和边缘使用AI前所未有的容易。

人工智能(AI)历史悠久,自1955年便被公认为一门学科。人工智能是计算机模仿人类智能、从经验中学习、适应新信息并执行类似人类活动的能力。人工智能的应用包括专家系统、自然语言处理(NLP)、语音识别和机器视觉。

AI的复兴

在经历了几波乐观和失望之后,人们对人工智能产生了新的兴趣,而且越来越感兴趣。在过去15年左右的时间里,成千上万的人工智能初创公司成立了,而且速度在不断增长。这背后有几个驱动因素:可能最重要的一个是现在可以以承担得起的价格获得巨大的计算能力。不仅硬件更快,而且现在每个人都可以访问云中的超级计算机。这使得运行人工智能所需的硬件平台变得大众化,使得初创企业得以大量涌现。

undefined

图1:一种具有2个隐含层的前馈人工神经网络的简化视图

人工神经网络(图1)现在扩展到几十到几百个隐藏层节点(图2)。即使是有10000个隐藏层的网络也已经实现了。这种进化正在增加神经网络的抽象能力,并使新的应用成为可能。如今,神经网络可以在数万个CPU或GPU核上进行训练,大大加快了开发广义学习模型的过程。

undefined

图2: ImageNet识别挑战获胜者展示了在新的神经网络架构中不断增加的隐藏层

人们对人工智能兴趣增加的另一个原因是近年来机器学习方面的突破性进展。这有助于吸引科技投资和初创企业的兴趣,进一步加速人工智能的发展和完善。

机器如何学习

人工神经网络是一种受人脑启发的计算模型。它由一个简单的处理单元相互连接的网络组成,这些网络可以通过修改它们的连接来学习经验(图1)。所谓的深度神经网络(DNN -具有许多隐藏层的神经网络)目前为许多大型计算问题提供了最佳解决方案。

目前应用最广泛的深度学习系统是卷积神经网络(Convolutional Neural Network, CNNs)。这些系统使用前馈的人工神经元网络将输入特征映射到输出,他们使用反向馈入系统进行学习(即训练),并产生一组权重来校准CNN(反向传播,图3)。

undefined

图3:神经网络需要经过训练来学习如何解决问题或挑战

机器学习中计算强度最大的过程是训练神经网络。对于一个最先进的网络来说,它可能需要数天到数周的时间,需要数十亿的浮点计算和大量的训练数据(GByte到数百GByte),直到网络达到所需的精度。幸运的是,这个步骤在大多数情况下都不需要时间限制,并且可以转移到云上。

当网络接受训练时,它可以被输入一个新的、未标记的数据集,并根据它之前学习的数据对数据进行分类。这一步称为推断,是开发应用的实际目标。

告诉我你看到了什么

输入的分类可以在云中进行,也可以在边缘(大部分是离线)进行。虽然通过神经网络处理数据通常需要专用加速器(FPGA、GPU、DSP或ASIC),但额外的任务最好由CPU处理,CPU可以用传统的编程语言编程。这就是带有集成CPU(所谓的片上系统(SoC))的FPGA的优势所在,尤其是在边缘。SoC将推理加速器(FPGA阵列)和CPU组合在一块芯片中。CPU运行控制算法和数据流管理。同时,与基于GPU或ASIC的解决方案相比,FPGA提供了许多优势,其中包括易于集成多个接口和传感器,以及适应新神经网络架构的灵活性(图4)。

undefined

图4:人工智能推理应用的不同技术的比较

FPGA固有的可重构性也使其能够利用不断演化的神经网络拓扑、更新的传感器类型和配置,以及更新的软件算法。使用SoC可以在需要时保证低而确定的延迟,例如,用于实时对象检测。同时,SoC也非常节能。从FPGA中获得最佳性能的主要挑战是在不失去精度的情况下将浮点模型有效地映射到定点FPGA实现(图5),这就是供应商工具的作用所在。

undefined

-

图5:将浮点模型有效映射到定点FPGA实现的过程称为压缩

选择合适的工具

现在有很多工具可以帮助我们降低实现第一个AI项目的门槛。例如,Vitis AI开发工具为用户提供了在FPGA上开发和部署用于实时推理的机器学习应用程序的工具。它们支持许多常见的机器学习框架,如Caffe和TensorFlow,PyTorch支持也将很快推出。它们使最先进的神经网络能够有效适应FPGA,用于嵌入式人工智能应用(图5)。

undefined

6核心板模块

结合标准的核心板模块(SoM),人工智能应用可以比以往更快地实现(图7)。

undefined

7:已被业界证实的人工智能应用解决方案,基于Xilinx Zynq UltraScale+ MPSoC

为了展示这种组合的性能和快速上市能力,信迈科技在短短几天内开发了一个基于人工智能的图像识别系统。这些图像是用一个连接到火星ST3底板的标准USB摄像头拍摄的。如需更高的性能,可使用底板上的MIPI接口。

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

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

相关文章

关于hive启动的相关问题记录

问题:初始化hive元数据报错 [atguiguhadoop102 software]$ schematool -initSchema -dbType mysql -verboseError: Table CTLGS already exists (state42S01,code1050) Closing: 0: jdbc:mysql://hadoop102:3306/metastore?useSSLfalse org.apache.hadoop.hive.me…

基于GAN的多变量时间序列污染训练集异常检测

论文地址:https://ieeexplore.ieee.org/document/9618824 论文源码:https://github.com/sxxmason/FGANomaly 期刊:IEEE Transactions on Knowledge and Data Engineering 多元时间序列异常检测在结构健康监测、智能运维、量化交易等诸多实际…

【Locust分布式压力测试】

Locust分布式压力测试 https://docs.locust.io/en/stable/running-distributed.html Distributed load generation A single process running Locust can simulate a reasonably high throughput. For a simple test plan and small payloads it can make more than a thousan…

推荐学习什么编程语言?

选择编程语言学习时,除了就业因素外,还可以考虑以下几个方面来决定学习哪些编程语言: 个人兴趣与目标:如果你对某个特定领域感兴趣,比如游戏开发、数据分析、人工智能等,可以选择与该领域紧密相关的编程语言…

MySql数据库从0-1学习-第三天多表设计学习

项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种: 一对多(多对一)多对多一对一 一对多 需求:根据需求,完成部门和员工表的设计 一对多,很多人会使用外键,…

记录我第一场面了40min+的面试

中冶赛迪信息技术(重庆)有限公司 国企 首先3/24投递的,4/10打了电话问是否接受劳务派遣,我当时不知道劳务派遣什么意思,问了和售前售后是不是类似,得到了不大一样的回答,后面加了微信,定了11开始面试。 这…

【Ubuntu】 Github Readme导入GIF

1.工具安装 我们使用 ffmpeg 软件来完成转换工作1.1 安装命令 sudo add-apt-repository ppa:jonathonf/ffmpeg-3sudo apt-get updatesudo apt-get install ffmpeg1.2 转换命令 (1)直接转换命令: ffmpeg -i out.mp4 out.gif(2) 带参数命令&…

uos安装lxml避坑记录

环境:紫光电脑uos系统 python:系统自带3.7.3 条件:已打开开发者模式,可以自行安装应用商店之外的软件 一、pip3 install lxml4.8.0可以正正常下载,但出现如下错误 另:为什么是4.8.0?因为这个…

【前缀合】Leetcode 寻找数组的中心下标

题目解析 724. 寻找数组的中心下标 算法讲解 我们使用一个前缀和数组&#xff0c;一个后缀和数组 class Solution { public:int pivotIndex(vector<int>& nums) {// lsum[i] 表⽰&#xff1a;[0, i - 1] 区间所有元素的和// rsum[i] 表⽰&#xff1a;[i 1, n - …

计算机网络----第七天

交换机与路由器 路由器的作用&#xff1a; 作用&#xff1a;寻IP地址 路由转发 隔离广播域 交换和维护路由信息 路由器的特点&#xff1a; 特点&#xff1a;位于网络层 转发流量 实现从源地址到目的地址转发 支持丰富的接口类型 支持多种路由协议 支持数据链路层协议 交换…

机器学习——模型融合:平均法

机器学习——模型融合&#xff1a;平均法 在机器学习领域&#xff0c;模型融合是一种通过结合多个基本模型的预测结果来提高整体模型性能的技术。模型融合技术通常能够降低预测的方差&#xff0c;提高模型的鲁棒性&#xff0c;并在一定程度上提高预测的准确性。本文将重点介绍…

pyside6的QSpinBox自定义特性初步研究(二)

当前的需求是&#xff0c;蓝色背景的画面&#xff0c;需要一个相对应色系的QSpinBox部件。已有的部件风格是这样的&#xff0c;需要新的部件与之般配。 首先新建一个QDoubleSpinBox&#xff0c;并定义其背景色和边框&#xff1a; QDoubleSpinBox { color: white; border:1px…

【精选】发布应用到应用商店的基本介绍

摘要 本文旨在介绍如何在各大应用商店发布应用&#xff0c;包括市场选择、准备材料、上架步骤以及常见被拒原因及解决方法。通过详细的步骤和经验分享&#xff0c;帮助开发者顺利将应用推向市场。 引言 随着移动应用市场的不断发展&#xff0c;越来越多的开发者希望将他们的…

VScode代码查找、替换

VScode代码查找、替换 快捷方法按CtrlF &#xff08;Mac为CommandF&#xff09; 右上角出现的框就是查找框&#xff0c;可以输入想找的内容 点击左边的小尖儿&#xff0c;输入替换的内容后 按回车是替换一个&#xff0c;按Ctrl回车&#xff08;Command回车&#xff09;是全替换…

Vue通过自定义指令实现元素平滑上升的动画效果(可以自定义动画时间、动画效果、动画速度等等)。

1、演示 2、介绍 这个指令不是原生自带的&#xff0c;需要手动去书写&#xff0c;但是这辈子只需要编写这一次就好了&#xff0c;后边可以反复利用。 3、关键API IntersectionObserver IntersectionObserver 是一个用于监测元素是否进入或离开视口&#xff08;viewport&#x…

【Java】Java使用Swing实现一个模拟计算器(有源码)

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 今天翻了翻之前写的代码&#xff0c;发现自己之前还写了一个计算器&#xff0c;今天把我之前写的代码分享出来。 我记得那会儿刚学不会写&#xff0c;写的乱七八糟&#xff0c;但拿来当期末作业还是不错的哈哈。 直接上…

学透Spring Boot — 004. Spring Boot Starter机制和自动配置机制

如果你项目中一直用的是 Spring Boot&#xff0c;那么恭喜你没有经历过用 Spring 手动集成其它框架的痛苦。 都说 Spring Boot 大大简化了 Spring 框架开发 Web 应用的难度&#xff0c;这里我们通过配置 Hibernate 的两种方式来深刻体会这一点&#xff1a; 使用 Spring 框架集…

golang的引用和非引用总结

目录 概述 一、基本概念 指针类型&#xff08;Pointer type&#xff09; 非引用类型&#xff08;值类型&#xff09; 引用类型&#xff08;Reference Types&#xff09; 解引用&#xff08;dereference&#xff09; 二、引用类型和非引用类型的区别 三、golang数据类型…

java学习之线程池

java线程池优点&#xff1a; 降低线程创建和销毁的开销&#xff0c;提高系统性能。 提高线程的利用率和系统的吞吐量。 统一线程的管理和监控&#xff0c;避免线程泄漏和线程安全问题。 支持任务队列和拒绝策略等机制&#xff0c;提供灵活的任务调度和任务处理能力。 并不…

String类(1)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&a…