我试着用tensorflow小波把它作为一个层。到目前为止一切都很好,问题是我的输入是信号序列,当我运行代码时,它给了我下面的错误1。当我搜索tensorflow-wavelets的代码时,我发现代码使用了填充,这是专门用于图像的,我不知道该怎么办。任何帮助或建议?此外,我尝试使用自定义层或自定义函数以避免使用tensorflow-wavelets,但它给了我错误2。有什么需要帮忙的吗?
错误1:
ValueError: Exception encountered when calling layer "db1" (type DWT).
in user code:
File "C:\Users\maa\anaconda3\envs\py37\lib\site-packages\tensorflow_wavelets\Layers\DWT.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)
1条答案
按热度按时间6pp0gazn1#
所以我找到了一个解决方案,那就是改变我的音频数据的形状,这样它就可以适合DWT神经层,但我仍然有输出形状的问题。就像我之前说的,这个TensorFlow小波包显然应该处理图像,而不是信号。另一种解决方案是改变小波-tensorflow 代码,使其可以应用于信号。对我来说,它不起作用,导致其他错误,如“AttributeError:'Tensor'对象没有属性'numpy'“,即使我尝试了eagrly模式和图形模式,也没有任何帮助。如果有人找到了其他解决方案,请随时发表评论,以便其他人可以使用您的解决方案。