我担心在(tensorflow)keras层中使用相同的initializer、regularizer和constraint创建的变量可能会在层之间连接。如果它们可以是字符串(例如,'he_normal'),那么就没有问题,但对于那些带有参数的变量,我必须传递实际的函数。例如,在自定义层的
__init__
中。initializer_1 = tf.keras.initializers.he_normal()
regularizer_1 = tf.keras.regularizers.l2(l=0.001)
constraint_1 = tf.keras.constraints.MaxNorm(max_value=2, axis=[0,1,2])
layer_A = tf.keras.layers.Conv2D(
...
kernel_initializer=initializer_1,
kernel_regularizer=regularizer_1,
kernel_constraint=constraint_1,
...
)
layer_B = tf.keras.layers.Conv2D(
...
kernel_initializer=initializer_1,
kernel_regularizer=regularizer_1,
kernel_constraint=constraint_1,
...
)
这安全吗?