1

在 TF2 中重新初始化某些层的权重的正确方法是什么?

TF1 存在一个有效的方法: https ://stackoverflow.com/a/51727616/11836236

以及 TF2 的一些解决方法: https ://stackoverflow.com/a/57826239/11836236 但此解决方案不使用在每一层中指定的初始化程序。

4

1 回答 1

0

这对我来说适用于 tf 2.3.0:(从这个答案编辑)

for layer in model.layers:         
    if hasattr(layer, 'kernel_initializer') and \
            hasattr(layer, 'bias_initializer'):
        layer.set_weights([layer.kernel_initializer(shape=np.asarray(layer.kernel.shape)), \
            layer.bias_initializer(shape=np.asarray(layer.bias.shape))])

希望它可能会有所帮助。

于 2020-09-15T21:34:25.123 回答