Я пытаюсь узнать новый альфа-релиз TF 2.0.Я тренирую модель Sequential
для бинарной классификации.Мой набор данных df
, который является массивом.classification
- это горячий кадр данных кодирования классов, которые я должен предсказать.
Определение модели понятно, так как это определение функций потерь и точности и оптимизатор (Адама).Однако в момент обучения я получаю ошибку:
loss_history = []
accuracy_history = []
for epoch in range(n_epochs):
with tf.GradientTape() as tape:
# compute binary crossentropy loss (bce_loss)
current_loss = bce_loss(model(df), classification.astype(np.float64))
loss_history.append(current_loss)
# train the model based on the gradient of loss function
gradients = tape.gradient(current_loss, model.trainable_variables)
optimizer.apply_gradients([gradients, model.trainable_variables]) # optimizer = Adam
# print the training progress
print(str(epoch+1) + '. Train Loss: ' + str(metrics) + ', Accuracy: ' + str(current_accuracy))
print('\nTraining complete.')
В этот момент я получаю ошибку, указанную в optimizer.apply_gradients()
.Сообщение об ошибке гласит:
ValueError: слишком много значений для распаковки (ожидается 2)
Где моя ошибка?
Я провел небольшое исследованиеэтот тип ошибки, но я не нашел ничего полезного, связанного с этой конкретной функцией.Любая помощь приветствуется.