如果我在其中包含32个卷积5x5 rgb内核的层,我希望形状为(32,5,5,3)为(count,h,w,rgb),但实际上是 (5、5、3、32)。由于
for kern in kernels:
无法正常工作。我得到了一系列的(5,3,32)ndarrays。我没有得到每个5x5 rgb内核。 我只是做错了吗?
答案 0 :(得分:0)
奇怪的是,kernel
以(h, w, channels, filters)
的形式存储,就像implementation暗示的那样:
kernel_shape = self.kernel_size + (self.filters, input_dim)
self.kernel = self.add_weight(shape=kernel_shape, ...)
...
但是,如果这是您所看到的,并且需要遍历每个过滤器,为什么不直接使用np.moveaxis
移动轴:
kernel = np.moveaxis(kernel, -1,0)
获得所需的(kernels, h, w, channels)
。