Nie udało się znaleźć adaptera danych, który może obsłużyć dane wejściowe: <klasa 'numpy.ndarray'>, (<lista 'klas'> zawierająca wartości typów {„<class 'int'>”}))

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

problem z linią był taki

Pokazuje błąd:

ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, (<class 'list'> containing values of types {"<class 'int'>"})
Neo
źródło
Proszę edytować swoje pytanie i dodać więcej kodu i kontekst oraz pełną błędzie traceback. Przeczytaj jak zapytać .
Valentino,
Co to jest model? Nie jest częścią żadnego z oznaczonych pakietów. Pokaż pełny ślad.
hpaulj

Odpowiedzi:

8

Dzieje się tak w nowszej wersji tensorflow Nie jestem pewien, skąd byłem, ale byłem w wersji 2.0.0 i to samo się stało

Zakładam, że konwertujesz tylko tablicę X na tablicę numpy. Spróbuj raczej przekonwertować „X” oraz „y” na tablicę numpy, używając dtype jako np.uint8

To powinno rozwiązać problem

VIKI
źródło
Dziękuję za pomoc, teraz działa idealnie dla mojego programu. To pokazuje, że obniżę mój tensorflow i wszystko wydaje się działać
Neo
6

Miałem do czynienia z tym samym problemem. Okazuje się, że była to lista. Musiałem przekonwertować pola na tablicę numpy, taką jak:

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

Otóż ​​to!

Atharva
źródło
2

VIKI powiedział już dobrą odpowiedź. Dodam więcej informacji. Kiedyś dodawałem awarię hosta colab, zanim dodałem owijki 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)

Awaria hosta z powodu braku pamięci ma coś wspólnego z tym:

Wyjaśnienie gęstego gradientu Tensorflow?

Geoffrey Anderson
źródło
2

W moim przypadku problem był tylko y. to była lista. w takim razie musiałem się zmienić

y = np. tablica (y)

Mahmud
źródło
1

Odpowiedź Mahmuda naprawia błąd samouczka TensorFlow „Regresja podstawowa: Przewiduj efektywność zużycia paliwa” w sekcji [30]. Są to 2 linie:

Zmień to:

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

Do tego:

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

Dzięki Mahmud

użytkownik2074145
źródło
0

Po prostu wpisz rzutuj tablice.

na przykład:

import numpy as np
features = np.array(features,dtype='float64')
labels = np.array(labels, dtype ='float64')
Doktor Iqbal Hossain Joy
źródło