Impossible de trouver l'adaptateur de données qui peut gérer l'entrée: <class 'numpy.ndarray'>, (<class 'list'> contenant des valeurs de types {“<class 'int'>”})


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

le problème de ligne était-ce

Affichage d'une erreur:

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

Veuillez modifier votre question et ajouter plus de code et de contexte, ainsi que la trace d'erreur complète. Lisez comment demander .
Valentino

Qu'est-ce que c'est model? Il ne fait partie d'aucun des packages balisés. Afficher la trace complète.
hpaulj

Réponses:



8

Donc, cela se produit la version la plus récente de tensorflow, je ne sais pas d'où mais j'étais sur la version 2.0.0 et cette même chose s'est produite

Je suppose que vous ne convertissez que le tableau X en un tableau numpy Mais essayez plutôt de convertir 'X' ainsi que 'y' en tableau numpy en utilisant le dtype comme np.uint8

Cela devrait résoudre le problème


Merci pour l'aide, cela fonctionne parfaitement maintenant pour mon programme. Cela montre que je vais rétrograder mon tensorflow et tout semble fonctionner
Neo

6

J'étais confronté au même problème. Il s'avère que c'était un sous la forme d'une liste. J'ai dû convertir les champs en un tableau numpy comme:

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

c'est ça!


2

VIKI a déjà dit une bonne réponse. J'ajoute plus d'informations. Cela faisait planter l'hôte colab pour moi aussi, avant d'ajouter les wrappers np.array ().

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

Plantage de l'hôte en raison d'un problème de mémoire insuffisante a quelque chose à voir avec ceci:

Explication du gradient dense Tensorflow?


2

Dans mon cas, le problème était uniquement en y. c'était une liste. dans ce cas, j'ai dû changer

y = np.array (y)


1

La réponse de Mahmud corrige l'erreur du didacticiel TensorFlow "Régression de base: prédire l'efficacité énergétique" dans la section [30]. Ce sont les 2 lignes:

Change ça:

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

Pour ça:

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

Merci Mahmud


0

Tapez simplement cast the arrays.

par exemple:

import numpy as np
features = np.array(features,dtype='float64')
labels = np.array(labels, dtype ='float64')
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.