我听说可以使用复杂数据馈送使用tensorflow/keras构建的神经网络,并获得指定每层= tf.complex64(或类似(的"dtype"的复杂输出。
X = K.Input(shape = (n_taps,1), dtype = tf.complex64)
fc1 = K.layers.LSTM(n_fc1,activation="tanh",dtype = tf.complex64) (X)
每个单层的声明不会给出错误,但调用第二层给出第一层(我的意思是第二行(作为参数会给出以下预期错误:
类型错误:输入"MatMul"操作的"b"的类型 float32 与参数"a"的类型 complex64 不匹配。
我不明白是否有这种网络。 有没有人对此的更多信息? 提前致谢
这是因为K.layers.LSTM
不支持tf.complex64
类型。您需要自己实现该层。您应该从子类化tf.keras.layers.Layer
开始,您可以在tf.keras.layers.Layer
的文档中找到其中的示例。该示例称为SimpleDense
层。