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

FPGA_YOLO(三)

上一篇讲的是完全映射,也就是block中的所包含的所有的卷积以及归一,池化卷积 举例总共6个等都在pl侧进行处理(写一个top 顶层 里面conv 1 bn1 relu1 pool1  conv1*1   conv 2 bn2 relu2 pool2  conv1*1 ....总共6个 ),最后在送给ps进行解码的。

部分映射

也就是conv 以及relu pool  conv1*1 各个只有一个模块在PL侧 。

当数据在pl侧进行读取时,通过axi协议将采集到的数据送给ps测进行处理的时候,如果接下来进行conv1的话,ps会给pl进行conv1 处理,ps因为是流水操作只等待处理好的卷积1 再进行下次RELU1的操作,依次往后,在进行conv2等等。

在上述处理中会遇到没有数据的时候,因为需要ps是串行等待,而pl是并行操作 

部分映射流程

就是如果对第一图来说 

ps 下达指令需要卷积,送给pl只有一个的conv模块进行处理,处理结束把计算的结果通过axi送给ps。ps在下达指令进行relu,然后再送给PL的RELU模块进行处理,处理完后再送给PS,PS在下达指令进行池化,等等处理完后。在处理第二张图,送给pl只有一个的conv模块进行处理,处理结束把计算的结果通过axi送给ps。依次往后类推

但是完全映射是ps将图片送给PL的 conv 1 bn1 relu1 pool1  conv1*1   conv 2 bn2 relu2 pool2  conv1*1 多个模块进行处理。

 对于分析加速了多少,软件工程师会有一个网络架构,硬件需要实现什么东西,硬件就做,硬件做完后告诉软件工程师输出接口输出的内容。软件工程师调用输出的数据即可。

软件工程师先在ps侧将整个工程进行串行处理有一个结果1.然后再把ps中一些功能用PL侧进行做,得出结果2 ,将结果1与结果2 进行对比就可知结果2 加速了多少。


http://www.kler.cn/a/612625.html

相关文章:

  • 记录一次渗透测试/常用命令
  • 系统与网络安全------网络应用基础(6)
  • 【力扣hot100题】(005)三数之和
  • (Kotlin)Android 自定义蓝牙扫描动画:多波浪扩散效果
  • 初阶8 list
  • [力扣每日一练]关于MySQL和pandas的正则表达式应用
  • 大文件版本管理git-lfs
  • 第 7 章 | Solidity 合约安全工具全指南:Slither、Echidna、Foundry 实战解析
  • 小程序中过滤苹果设备中的表情(即 emoji)
  • TCP 的 time_wait 有什么作用
  • React 18 核心技术深度解析:从并发渲染到异步数据流优化
  • NLP高频面试题(二十)——flash attention原理
  • vllm 离线推理Qwen2.5-VL-Instruct,API部署,支持max_pixels
  • WPF ContentPresenter详解
  • 机器人能否回到原点 - 简单
  • OpenHarmony NativeC++应用开发speexdsp噪声消除案例
  • 基于动态光影融合的缺陷实时检测和材质量化方法,并且整合EventPS、VMNer和EvDiG
  • “十五五”时期航空弹药发展环境分析
  • 【Portainer】Docker可视化组件安装
  • 人工智能与无人机:无人机的进步与应用技术详解