我们正在尝试在FPGA上构建正向卷积神经网络。我们构建的配置基于LeNet-5架构。
在第一卷积层中,没有问题。只需1个输入(照片),就可以通过6个(5 * 5)滤镜获得6个输出(6个特征图)。
顺便说一下,我们在spyder-tensorflow等上训练了我们的网络和数据。
但是在第二个卷积层,有6个输入(它们是第一最大池化层的输出),有16个输出带有16个(5 * 5 * 6)滤波器。我们的研究助理对我们说:“您有6个输入和(5 * 5)过滤器,其深度为6。这意味着每个输入都对应于过滤器的相邻过滤器深度。在卷积结束时,您可以将所有乘法结果,因此1个过滤器只有1个输出。“
但是我们将在哪个过程中相乘结果相加。
在python / spyder / tensorflow conv2d函数中执行某些操作,我们得到了结果。但是在硬件方面,我必须知道如何进行。
谢谢您的帮助。对不起,我的英语。
花一点时间看看这个:
http://cs231n.github.io/assets/conv-demo/index.html
我发现在学习如何详细计算和完成卷积时,此gif非常有用。希望这可以帮助您了解如何在“硬件”中进行处理。