abh*_*jha 5 python neural-network keras keras-layer keras-2
keras 中 Layer 类的每个派生类都有build()
定义。
build()
是我们为 keras 层分配权重的地方。
什么时候内部调用这个函数?我无法找到任何可能调用它的代码
在位于topology.py:580__call_()
的Layer类中,我们调用但只有当 时才会调用它。它总是被设置的,只有当 self.built 为 True 时才会被调用。self.build()
self.built = True
self.build()
你错过了not
条件(源代码):
if not self.built:
...
if len(input_shapes) == 1:
self.build(input_shapes[0])
else:
self.build(input_shapes)
Run Code Online (Sandbox Code Playgroud)
...这基本上意味着“如果尚未构建”。
顺便说一句,build()
也是在count_params()
方法中调用,同样带有守卫(源代码)。
归档时间: |
|
查看次数: |
684 次 |
最近记录: |