【发布时间】:2021-08-13 11:16:24
【问题描述】:
我正在尝试学习语音识别,因此我正在使用一个简单的 MLP 作为初学者。
下面是代码:
#Simple MLP model
num_labels = Y.shape[1]
filter_size = 2
# Construct model
model = Sequential()
model.add(Dense(256, input_shape=(32,)))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(256))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(num_labels))
model.add(Activation('softmax'))
# Compile the model
model.compile(loss='categorical_crossentropy', metrics=['accuracy'], optimizer='adam')
# Display model architecture summary
model.summary()
# Calculate pre-training accuracy
score = model.evaluate(X_test, Y_test, verbose=2)
accuracy = 100*score[1]
print("Pre-training accuracy: %.4f%%" % accuracy)
我使用 MFCC 进行特征提取,使用 MLB 进行 one-hot 编码。
X_train、X_val、X_test、Y_train、Y_val和Y_test的形状如下: (54296, 99, 32) (6787, 99, 32) (6788, 99, 32) (54296, 31) (6787, 31) (6788, 31)
我收到以下错误:
- 警告:tensorflow:Model 是用形状 (None, 32) 构建的输入 Tensor("dense_21_input:0", shape=(None, 32), dtype=float32),但它是在形状不兼容的输入上调用的(无、99、32)。
当我将 input_shape 更改为 (99,32,) 时,警告消失。谁能解释一下原因?
- ValueError: Shapes (None, 31) 和 (None, 99, 31) 不兼容(这是我尝试计算预训练准确度的时候)
我不知道如何处理这个错误?
我期待得到一些帮助。
谢谢!
【问题讨论】:
标签: python tensorflow speech-recognition mlp