小编not*_*lic的帖子

类型错误:预期的 float32 传递给 op 'Equal' 的参数 'y',而是得到了类型为 'str' 的 'auto'

我正在制作一个神经网络来预测音频数据(以了解有关神经网络如何运作以及如何使用 tensorflow 的更多信息),到目前为止一切都进展顺利,只有一个例外。我环顾四周以解决这个问题,但找不到任何足够具体的东西来帮助我。我设置了数据集和模型,这些工作正常,但是由于某种原因,当我尝试训练模型时,它给了我一个类型错误,即使数据集中的所有值都是 32 位浮点数。如果有人能为我回答这个问题,或者至少朝着正确的方向努力解决这个问题,我将不胜感激。代码和控制台输出如下。(顺便说一句,数据集中的所有值都在 0 和 1 之间,我不知道这是否相关,但我想我会添加它)

编辑:我也包含了 AudioHandler 类,您可以使用它来重现错误。get_audio_arrayget_audio_arrays可用于将单个 mp3 或 mp3 目录转换为音频数据数组。您还可以使用dataset_from_arrays从创建的音频数组生成数据集dataset_from_arrays

from AudioHandler import AudioHandler
import os

seq_length = 22050
BATCH_SIZE = 64
BUFFER_SIZE = 10000

audio_arrays = AudioHandler.get_audio_arrays("AudioDataset", normalized=True)

dataset = AudioHandler.dataset_from_arrays(audio_arrays, seq_length, BATCH_SIZE, buffer_size=BUFFER_SIZE)

print(dataset)

rnn_units = 256

def build_model(rnn_units, batch_size):
    model = tf.keras.Sequential([
        tf.keras.layers.InputLayer(batch_input_shape=(batch_size, None, 2)),

        tf.keras.layers.GRU(rnn_units, return_sequences=True, stateful=True),

        tf.keras.layers.Dense(2)
    ])
    return model


model = build_model(rnn_units, BATCH_SIZE)

model.summary()

model.compile(optimizer='adam', loss=tf.keras.losses.MeanSquaredError)

EPOCHS = 10

history …
Run Code Online (Sandbox Code Playgroud)

python machine-learning keras tensorflow recurrent-neural-network

15
推荐指数
2
解决办法
6649
查看次数