ValueError: Несоответствие между ожидаемым размером пакета и размером пакета вывода модели. Форма вывода = (16, 6248), ожидаемая форма вывода = shape (1, 6248)
Я определил в последних плотных слоях моей модели (Нет, 6248)
Я не могу понять, какое число 16 в этом выводе. Весь код без цифр 16.
Описание: я использую TPU V3 в Kaggle для обучения. но если я использую графический процессор, я не получаю никаких ошибок при прогнозировании "model.predict (...)".
Создаю модель с функциональным API Keras
Пожалуйста, объясни мне. Благодарить! Вот моя модель.
embedding_layer = Embedding(len(word_index) + 1,
EMBEDDING_DIM,
weights=[embedding_matrix],
input_length= max_sequence_len - 1,
trainable=False)
sequence_1_input = Input(shape=(max_sequence_len - 1,), dtype='int32')
embedded_sequences_1 = embedding_layer(sequence_1_input)
activations = Bidirectional(LSTM(num_lstm, dropout=rate_drop_lstm, recurrent_dropout=rate_drop_lstm, return_sequences=True))(embedded_sequences_1)
activations = LSTM(num_lstm, dropout=rate_drop_lstm, recurrent_dropout=rate_drop_lstm)(activations)
merged = Dense(num_dense, activation=act)(activations)
merged = Dropout(rate_drop_dense)(merged)
merged = BatchNormalization()(merged)
preds = Dense(vocab_size, activation='softmax')(merged)
model = Model(inputs=sequence_1_input, outputs=preds)
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['categorical_accuracy'])
Вот мои данные:
train = predictors[0:10240]
test = label[0:10240]
dataset = tf.data.Dataset.from_tensor_slices((train, test))
dataset = dataset.shuffle(200).batch(1024).repeat()
dataset = dataset.prefetch(AUTO)
#Here is the shape of dataset:
<PrefetchDataset shapes: ((None, 87), (None, 6248)), types: (tf.int32, tf.float32)>
Подходящая модель:
model.fit(dataset, epochs=100, steps_per_epoch=10240//1024, verbose=1)
Резюме