Impossibile trovare l'adattatore dati in grado di gestire l'input: <class 'numpy.ndarray'>, (<class 'list'> contenente valori di tipi {"<class 'int'>"})


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

il problema di linea era questo

Mostra errore:

ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, (<class 'list'> containing values of types {"<class 'int'>"})

Per favore, modifica la tua domanda e aggiungi più codice e contesto e la traccia di errore completa. Leggi come chiedere .
Valentino

Che cosa è model? Non fa parte di nessuno dei pacchetti con tag. Mostra il traceback completo.
hpaulj,

Risposte:



8

Quindi sta succedendo la versione più recente di tensorflow, non sono sicuro da dove ma ero nella versione 2.0.0 e la stessa cosa è successa

Suppongo che stai solo convertendo l'array X in un array numpy Ma piuttosto prova a convertire 'X' e 'y' in array numpy usando il dtype come np.uint8

Questo dovrebbe risolvere il problema


Grazie per l'aiuto, funziona perfettamente ora per il mio programma. Mostra che declasserò il mio tensorflow e che tutto sembra funzionare
Neo,

6

Stavo affrontando lo stesso problema. Si scopre che era un sotto forma di un elenco. Ho dovuto convertire i campi in un array intorpidito come:

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

questo è tutto!


2

VIKI ha già detto una buona risposta. Sto aggiungendo ulteriori informazioni. Prima di aggiungere i wrapper np.array (), veniva utilizzato anche per arrestare l'host colab.

# 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)

L'arresto anomalo dell'host a causa di un problema di memoria insufficiente ha a che fare con questo:

Spiegazione del gradiente denso di Tensorflow?


2

Nel mio caso il problema era solo in y. era un elenco. in quel caso ho dovuto cambiare

y = np.array (y)


1

La risposta di Mahmud risolve l'errore "regressione di base: predire il consumo di carburante" nella sezione [30] di TensorFlow. Queste sono le 2 linee:

Cambia questo:

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

A questo:

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

Grazie Mahmud


0

Basta digitare il cast degli array.

per esempio:

import numpy as np
features = np.array(features,dtype='float64')
labels = np.array(labels, dtype ='float64')
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.