断言失败:[条件x == y不按元素保存:]函数调用堆栈:train_function

时间:2020-09-17 10:40:55

标签: python python-3.x tensorflow keras

嗨,我有以下代码

model = tf.keras.Sequential()
model.add(tf.keras.layers.LSTM(64, return_sequences=True, recurrent_regularizer=l2(0.0015), 
input_shape=(timesteps, input_dim)))
model.add(tf.keras.layers.LSTM(64, return_sequences=True, recurrent_regularizer=l2(0.0015), 
input_shape=(timesteps, input_dim)))
model.add(tf.keras.layers.Dense(64, activation='relu'))
model.add(tf.keras.layers.Dense(n_classes, activation='softmax'))

model.summary()

model.compile(optimizer=Adam(learning_rate = 0.0025), loss = 'sparse_categorical_crossentropy', 
metrics = ['accuracy'])

model.fit(X_train, y_train, batch_size=64, epochs=10),

为什么会出现此错误

InvalidArgumentError:  assertion failed: [Condition x == y did not hold element-wise:] [x 
(sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/Shape_1:0) = ] [64 1] [y 
(sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/strided_slice:0) = ] [64 100]
 [[node 
sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/assert_equal_1/Assert/Assert 
(defined at <ipython-input-37-7217e69c04b0>:15) ]] [Op:__inference_train_function_22603]

 Function call stack:
   train_function

当我运行以下代码时,代码执行正常

model = Sequential()
model.add(LSTM(64, return_sequences=True, recurrent_regularizer=l2(0.0015), 
input_shape=(timesteps, input_dim)))
model.add(Dropout(0.5))
model.add(LSTM(64, recurrent_regularizer=l2(0.0015), input_shape= 
(timesteps,input_dim)))


model.add(Dense(64, activation='relu'))
model.add(Dense(64, activation='relu'))

model.add(Dense(n_classes, activation='softmax'))
model.summary()

model.compile(optimizer=Adam(learning_rate = 0.0025), loss = 
'sparse_categorical_crossentropy', metrics = ['accuracy'])

model.fit(X_train, y_train, batch_size=32, epochs=1)
我正在使用tensorflow 2.2.0。为什么会引发错误。与批量大小有关?

0 个答案:

没有答案