首页 > 解决方案 > 'Equal' Op 的输入 'y' 的 bool 类型与参数 'x' 的 float32 类型不匹配

问题描述

我正在从事口语数字识别项目。

型号定义:

input_layer = Input(shape = (max_length, 1))      //Takes input vectors
input_mask = Input(shape = (max_length))          //Takes boolean mask vectors (False for zero else true)
LSTM_layer = LSTM(25)(input_layer, mask = input_mask)
dense = Dense(50, 'relu')(LSTM_layer)
dense_1 = Dense(10, 'softmax')(dense)
model = Model(inputs = [input_layer, input_mask], outputs = dense_1)

错误截图: 在此处输入图像描述

标签: pythontensorflowkerasdeep-learninglstm

解决方案


我想到了。只需在两个输入层中指定 dtype,如下所示:

input_layer = Input(shape = (max_length, 1), dtype='float32')
input_mask = Input(shape = (max_length), dtype='bool')
LSTM_layer = LSTM(25)(input_layer, mask = input_mask)
dense = Dense(50, 'relu')(LSTM_layer)
dense_1 = Dense(10, 'softmax')(dense)
model = Model(inputs = [input_layer, input_mask], outputs = dense_1)

推荐阅读