keras - Keras Conv2D 参数顺序
问题描述
如果我有一个包含 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 内核。我只是做错了吗?
解决方案
奇怪的kernel
是 存储在 shape(h, w, channels, filters)
中,正如实现所暗示的那样:
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)
.
推荐阅读
- mysql - innoDB 如何获取多行和子查询的锁?
- python - 如何将悬停工具添加到 python bokeh 中的 add_layout?
- python - Windows 10 上的 Python 多个可点击通知
- excel - 将工作表从当前工作簿复制到另一个打开的工作簿,该工作簿始终具有相同的名称开头
- java - AnyLogic 中的代理群体状态变化
- javascript - 在 Node.js 中执行 PowerShell 脚本
- python - GTK Python 更新树形视图
- c# - 是否可以创建始终设置为 true 的不可见 xaml 命令?
- javascript - 如何从浏览器检查 .NET 版本
- javascript - 陷入下载循环