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

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


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!


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?


2

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

y = np. tablica (y)


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


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')
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.