自定义图层Keras中可训练变量的激活功能

时间:2020-05-23 08:52:53

标签: python tensorflow keras layer

我正在尝试创建一个自定义图层以合并网络的两个不同分支:

输出= alpha A + beta B

其中A和B是每个分支的输出向量,而alpha和beta是可训练的向量参数。

Keras Guide之后,我写了这个自定义层:

class MergeTwo(keras.layers.Layer):

def __init__(self, nout, **kwargs):
    super(MergeTwo, self).__init__(**kwargs)
    alpha = tf.zeros_initializer()
    beta = tf.zeros_initializer()

    self.alpha = tf.Variable(initial_value=alpha(shape=(nout,)),dtype='float32',trainable=True)

    self.beta = tf.Variable(initial_value=beta(shape=(nout,)),dtype='float32',trainable=True)

def call(self, inputs):
    A, B = inputs
    result = keras.layers.add([self.alpha*A ,self.beta*B])
    return result

对吗?

我想为alpha和beta设置激活功能(tanh)。我该怎么办?

谢谢!

0 个答案:

没有答案