我试图使用tensorflow-wavelet将其用作图层。到目前为止一切都很好,问题是我的输入是信号序列,当我运行代码时,它给了我下面的错误1。当我在tensorflow-wavelet的代码中搜索时,我发现代码使用了填充,这是专门用于图像的,我不知道该怎么做。有什么帮助或建议吗?此外,我试图使用自定义层或自定义函数,以避免使用tensorflow小波,但它给了我错误2。请帮忙好吗?
错误1:
ValueError: Exception encountered when calling layer "db1" (type DWT).
in user code:
File "C:Usersmaaanaconda3envspy37libsite-packagestensorflow_waveletsLayersDWT.py", line 52, in call *
inputs_pad = tf.pad(inputs, [[0, 0], [0, 0], [self.dec_len-1, self.dec_len-1], [0, 0]], self.border_padd)
ValueError: Shape must be rank 4 but is rank 2 for '{{node db1/MirrorPad}} = MirrorPad[T=DT_FLOAT, Tpaddings=DT_INT32, mode="SYMMETRIC"](Placeholder, db1/MirrorPad/paddings)' with input shapes: [?,512], [4,2].
Call arguments received by layer "db1" (type DWT):
• inputs=tf.Tensor(shape=(None, 512), dtype=float32)
• training=None
• mask=None
错误2:
NotImplementedError: Exception encountered when calling layer "activation_3" (type Activation).
Cannot convert a symbolic tf.Tensor (Placeholder:0) to a numpy array. This error may indicate that you're trying to pass a Tensor to a NumPy call, which is not supported.
Call arguments received by layer "activation_3" (type Activation):
• inputs=tf.Tensor(shape=(None, 512), dtype=float32)
所以我找到了一个解决方案,这是改变我的音频数据的形状,所以它可以适合DWT神经层,但我仍然有输出形状的问题。就像我之前说的,这个TensorFlow小波包显然是用来处理图像的,而不是信号。另一个解决方案是改变小波-张量流代码,使其可以应用于信号。对我来说,它不起作用,导致其他错误,如"AttributeError: 'Tensor'对象没有属性'numpy'",即使我尝试了eagly模式和graph模式,也没有任何帮助。如果有人找到了其他解决方案,请随意发表评论,以便其他人可以使用您的解决方案。