【发布时间】:2021-02-02 04:17:20
【问题描述】:
我正在尝试创建一个自定义Conv2D层与几个(最多数千)不同 硬编码 过滤器。
在做了一些研究之后,我知道我可以:
- 在
Conv2D中使用kerel_initializer参数(参考here) - 写我自己的
Conv2D层
我的问题是,您似乎只能使用kernel-initializer 对一个过滤器进行硬编码?所以如果我使用第一种方法,我将不得不添加几个Conv2D 层和filter=1。
但是,除了自定义过滤器和不可训练之外,我希望其他一切都像另一个 Conv2D 层一样工作,所以只实现另一个似乎有点蹩脚。
这可以用任何简单的方法实现吗?还是我别无选择,只能实现自己的Conv2D?提前致谢。
【问题讨论】:
-
是什么让您认为您只能硬编码一个过滤器?您可以使用您选择的输出形状(任意数量的过滤器)编写自定义内核初始化程序。您需要为您的过滤器编写一个生成器,并在内核初始化程序中调用它。
-
@IvanK。我发现我误解了 api,你肯定可以使用 kernel_initializer 对多个过滤器进行硬编码。感谢您的提醒:)
标签: python tensorflow keras conv-neural-network