如何将可训练的权重添加到自定义 Keras 层?

时间:2021-03-20 13:56:38

标签: tensorflow tf.keras

在处理傅里叶变换的keras模型中,我有一层Layer_qq,我想将距离设置为可训练参数(初始值为1到10),但结果证明距离保持在相同的。为什么这不起作用,谢谢!

class Layer_qqD(layers.Layer):
def __init__(self):
    super(Layer_qqD, self).__init__()
    d_init = tf.random_uniform_initializer(minval=1.0, maxval=10.0, seed=None)
    self.d = tf.Variable(name='d',
        initial_value = d_init(shape=(1,), dtype="float32"),
        trainable=True,
    )

def call(self, x):
    return tf.dtypes.cast(x*tf.dtypes.cast(tf.exp(1j*2*np.pi*q*self.d), tf.complex64),tf.complex64)

0 个答案:

没有答案