keras中每个派生类的Layer类都有build()
定义。
build()
是我们为keras层分配权重的地方。
该函数何时在内部调用?我无法找到任何可能正在调用它的代码
在__call_()
的Layer类的topology.py:580中,我们称self.build()
,但只有在self.built = True
时才会调用它。这总是在self.build()
中设置,而not
只有在self.built为True时才会被调用。
在条件(source code)中你错过了if not self.built:
...
if len(input_shapes) == 1:
self.build(input_shapes[0])
else:
self.build(input_shapes)
:
build()
......这基本上意味着“如果还没有建造”。
顺便说一句,count_params()
也被称为source code方法,再次与一名后卫(qazxswpoi)。