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'>"})

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


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!


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?


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)


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


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')
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.