实测!AlexNet卷积核在FPGA占90%资源仍跑750MHz|算力达288万张图像/秒
MLP_Conv2D是功能齐全的设计,可将2D输入图像与多个内核同时进行卷积 。该设计充分利用了MLP和BRAM模块,每个MLP一个周期执行12个int8乘法 。此外,MLP列和BRAM块均等级联以有效地将图像数据传递,从而允许同时处理多个内核 。
该设计使用NoC接入点(NAP)从片上网络(NoC)读取或写入数据 。NoC连接到Speedster7t器件中的GDDR6控制器再到外部存储器 。
AlexNet尽管最初为AlexNet图像和内核大小配置了MLP_Conv2D设计,但是2D卷积是一个通用过程,因此可以重新配置该设计并使其适应许多不同的2D方法 。
2D卷积的一般原理是在图像(实际上是另一个2D矩阵)上传递内核(2D矩阵) 。对于每次计算,内核均以输入图像的像素为中心,并对每个内核值(称为权重)与其当前对齐的像素执行乘法运算 。这些乘法的总和给出了原始图像像素的特定卷积结果 。然后将内核移至下一个像素,并重复该过程 。
经过训练的内核,2D卷积生成一个输出结果图像,突出显示输入图像的特定特征,例如垂直线,水平线,变化角度的对角线和变化半径的曲线 。然后可以将这些特征输入到其他处理层(包括其他2D卷积),然后可以将其标识为(通常在软件中)为特定对象 。
因此,二维卷积处理不应被视为图像识别的完整解决方案,而应被视为处理操作链中的单个关键组件 。
乘法密度2D卷积的挑战是所需的乘法数量,这就是MLP中专用的乘法器阵列 。对于AlexNet配置,每个内核为11×11= 121个权重值 。但是,卷积实际上是3D的,因为输入图像具有三层(RGB),因此一组内核有121×3 = 363个乘法来产生单个输出结果 。AlexNet输入图像为227×227;但是,此图像的stride为4(在计算之间内核移动了四个像素) 。此过程导致输出结果矩阵为54×54 = 2916个结果 。因此,对于一幅图像需要363×2916 = 1,058,508次乘法;即处理一个图像需要进行一百万次以上的累加运算 。其中单个Kernel进行2D卷积的动态示意图如下:
推荐阅读
- 荣耀V40实测支持双超级快充
- 实测主流输入法可收集个人数据推送广告
- 媒体实测比亚迪宋DM-i油耗 百公里仅2.6L
- 骨传导耳机优缺点有哪些,无线骨传导式耳机实测分享
- 深圳先进院等提出基于卷积神经网络的低剂量光声成像方法
- 华为手机信号好吗?实测信号最好的手机!什么手机信号最好最强?
- 真实测评曝光分享 铁三角麦克风2020和2035区别对比哪个好
- Intel主板启用AMD SAM加速技术性能实测
- 特斯拉全自动驾驶_FDS上路实测!
- 实测:苹果M1设备能安装/运行任意iOS应用