numpy 关于tensorflow 小波

mkh04yzy  于 2023-05-17  发布在  其他
关注(0)|答案(1)|浏览(130)

我试着用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)
6pp0gazn

6pp0gazn1#

所以我找到了一个解决方案,那就是改变我的音频数据的形状,这样它就可以适合DWT神经层,但我仍然有输出形状的问题。就像我之前说的,这个TensorFlow小波包显然应该处理图像,而不是信号。另一种解决方案是改变小波-tensorflow 代码,使其可以应用于信号。对我来说,它不起作用,导致其他错误,如“AttributeError:'Tensor'对象没有属性'numpy'“,即使我尝试了eagrly模式和图形模式,也没有任何帮助。如果有人找到了其他解决方案,请随时发表评论,以便其他人可以使用您的解决方案。

相关问题