我写了一个代码,它接受一个6x6 2d数组,将其与卷积滤波器相乘,并在没有激活函数或偏置且没有反向传播的情况下将其最大池化。
6x6的二维数组就是一个0和1的数组,看起来像这样:
[[0, 0, 1, 1, 0, 0],
[0, 1, 0, 0, 1, 0],
[1, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 1],
[0, 1, 0, 0, 1, 1],
[0 ,0 , 1, 1, 0, 0]]
当我maxpool这个大小为4的1D数组(从2x2到4重塑),每次我运行代码,我得到不同的值,我不应该得到相同的6x6数组相同的值?
下面是一个例子:
- 首次运行:
[0.33306642 0.09141601 0.26856917 0.37411067]
- 第二运行:
[0.38857161 0.21194122 0.17829732 0.49700163]
- 第三运行:
[0.14906256 0.1589051 0.23767894 0.35767743]
是有什么问题,或者是正常的,每次得到不同的值,即使, 6x6数组没有改变
?在我的例子中,它应该具有相同的值。我没有做反向传播,所以我没有更新卷积过滤器,它每次都得到随机值。
所以我通过硬编码卷积滤波器来解决它。