Я пытаюсь преобразовать мою старую модель tflearn в модель keras, поскольку я перешел с TF 1.15 на TF 2.0, где tflearn больше не поддерживается. Моя модель keras:
model = tf.keras.Sequential([
tf.keras.layers.Dense(8, input_shape=(None, len(train_x[0]))),
tf.keras.layers.Dense(8),
tf.keras.layers.Dense(len(train_y[0]), activation="softmax"),
])
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])
model.fit(train_x, train_y, epochs=epochs, batch_size=batch_size)
test_loss, test_acc = model.evaluate(train_x, train_y)
print("Tested Acc:", test_acc)
Когда я ее запускаю, я получаю следующую ошибку:
ValueError: Ошибка при проверке ввода: ожидается, что плотность_произведения имеет 3 измерения, но получена массив с формой (49, 51)
Я понятия не имею, как исправить эту ошибку. Нужно ли как-то изменить размер модели? Что я делаю не так?
Для справки, моя старая модель tflearn была:
tf.reset_default_graph()
net = tflearn.input_data(shape=[None, len(train_x[0])])
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, len(train_y[0]), activation='softmax')
net = tflearn.regression(net)
model = tflearn.DNN(net, tensorboard_dir='tflearn_logs')
model.fit(train_x, train_y, n_epoch=epochs, batch_size=batch_size, show_metric=True)