Datenadapter konnte nicht gefunden werden, der Eingaben verarbeiten kann: <class 'numpy.ndarray'>, (<class 'list'> enthält Werte vom Typ {“<class 'int'>”})

12
history = model.fit(X, y, batch_size=32, epochs=40, validation_split=0.1)

Das Leitungsproblem war dies

Fehler anzeigen:

ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, (<class 'list'> containing values of types {"<class 'int'>"})
Neo
quelle
Bitte bearbeiten Sie Ihre Frage und fügen Sie mehr Code und Kontext sowie den vollständigen Fehler-Traceback hinzu. Lesen Sie, wie Sie fragen .
Valentino
Was ist model? Es ist nicht Teil eines der getaggten Pakete. Zeigen Sie den vollständigen Traceback an.
Hpaulj

Antworten:

8

Das passiert also in der neueren Version von Tensorflow. Ich bin mir nicht sicher, woher, aber ich war in Version 2.0.0 und das gleiche ist passiert

Ich gehe davon aus, dass Sie nur das X-Array in ein Numpy-Array konvertieren. Versuchen Sie jedoch, 'X' sowie 'y' in ein Numpy-Array zu konvertieren, indem Sie den dtype als np.uint8 verwenden

Das sollte das Problem lösen

VIKI
quelle
Vielen Dank für die Hilfe, es funktioniert jetzt perfekt für mein Programm. Es zeigt, dass ich meinen Tensorflow herabstufen werde und alles zu funktionieren scheint
Neo
6

Ich stand vor dem gleichen Problem. Es stellte sich heraus, dass es sich um eine Liste handelte. Ich musste die Felder in ein numpy Array umwandeln wie:

training_padded = np.array(training_padded)
training_labels = np.array(training_labels)
testing_padded = np.array(testing_padded)
testing_labels = np.array(testing_labels)

das ist es!

Atharva
quelle
2

VIKI hat bereits eine gute Antwort gegeben. Ich füge weitere Informationen hinzu. Früher stürzte der Colab-Host auch für mich ab, bevor ich die Wrapper np.array () hinzufügte.

# Need to call np.array() around pandas dataframes.
# This crashes the colab host from TF attempting a 32GB memory alloc when np.array() wrappers are not used around pandas dataframes.
# Wrapping also cures warning about "Failed to find data adapter that can handle input"
history = model.fit(x=np.array(tr_X), y=np.array(tr_Y), epochs=3, validation_data=(np.array(va_X), np.array(va_Y)), batch_size=batch_size, steps_per_epoch=spe, validation_freq=5)

Ein Absturz des Hosts aufgrund eines Speichermangels hat Folgendes zu tun:

Erklärung des Tensorflow-Dichtegradienten?

Geoffrey Anderson
quelle
2

In meinem Fall war das Problem nur in y. Es war eine Liste. in diesem Fall musste ich mich ändern

y = np.array (y)

Mahmud
quelle
1

Mahmuds Antwort behebt den Fehler des TensorFlow-Tutorials "Grundlegende Regression: Vorhersage der Kraftstoffeffizienz" in Abschnitt [30]. Dies sind die 2 Zeilen:

Ändere das:

example_batch = normed_train_data[:10]
example_result = model.predict(example_batch)

Dazu:

example_batch = np.array(normed_train_data[0:10]) 
example_result = model.predict(example_batch)

Danke Mahmud

user2074145
quelle
0

Geben Sie einfach cast the arrays ein.

zum Beispiel:

import numpy as np
features = np.array(features,dtype='float64')
labels = np.array(labels, dtype ='float64')
Md. Iqbal Hossain Joy
quelle