是否可以对 CNN 进行矢量化?

人工智能 神经网络 卷积神经网络 卷积
2021-11-10 08:02:29

我正在尝试从头开始编写 CNN,并且想知道是否可以对卷积步骤进行矢量化。

例如,如果我有一个包含 500 个大小为 32x32x3 的 RGB 图像的数据集,并且希望第一个卷积层有 64 个过滤器,我将如何进行该层的矢量化?

目前,我正在一个for循环中运行所有 500 张图像,分别进行卷积。我对所有图像执行此操作,直到展平阶段(它基本上再次成为正常的 NN),此时我可以实施法线矢量化方法来获得我的输出等。

对该过程的整体概述将不胜感激,因为我正在努力理解它并且正在努力在线查找有关此事的信息。

1个回答

是的,您可以矢量化 CNN。有关详细信息,请参阅此 github 文件:https ://github.com/parasdahal/deepnet/blob/master/deepnet/layers.py

通过它查看后,它基本上将输入转置到某个维度,并通过某种其他类型的转换将矩阵乘法应用于权重。详情请参考 github 仓库。

希望这可以帮助你,并有一个美好的一天!