问题描述
我想为下载的模型更改 Batchnormalization
层的默认伽玛初始化。
例如:
我有一个下载的 EfficientNetB0 模型:
from tensorflow.python.keras.applications.efficientnet import EfficientNetB0
model = EfficientNetB0(include_top=False,weights=None,input_shape=(200,200,3))
下载后已经用gamma = 1
初始化:
for layer in model.layers:
if isinstance(layer,Batchnormalization):
pprint(layer.gamma.numpy())
break
# prints:
# array([1.,1.,# 1.,1.],# dtype=float32)
所以像下面这样的代码不起作用:
from tensorflow.keras.layers import Batchnormalization
for layer in model.layers:
if isinstance(layer,Batchnormalization):
layer.gamma_initializer = 'zeros'
# layer.gamma.numpy() is still:
# array([1.,# dtype=float32)
有没有办法强制零伽马初始化?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)