Gagal menemukan adaptor data yang dapat menangani input: <class 'numpy.ndarray'>, (<class 'list'> yang mengandung nilai-nilai tipe {"<class 'int'>"})

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

masalahnya adalah ini

Menampilkan kesalahan:

ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, (<class 'list'> containing values of types {"<class 'int'>"})
Neo
sumber
Tolong, edit pertanyaan Anda dan tambahkan lebih banyak kode dan konteks, dan traceback kesalahan penuh. Baca cara bertanya .
Valentino
Apa model? Itu bukan bagian dari salah satu paket yang ditandai. Perlihatkan traceback penuh.
hpaulj

Jawaban:

8

Jadi ini terjadi versi tensorflow yang lebih baru Saya tidak yakin dari mana tetapi saya berada di versi 2.0.0 dan hal yang sama terjadi

Saya berasumsi bahwa Anda hanya mengubah array X menjadi array numpy Tapi coba konversi 'X' dan juga 'y' menjadi array numpy menggunakan dtype sebagai np.uint8

Itu harus menyelesaikan masalah

VIKI
sumber
Terima kasih atas bantuannya, sekarang berfungsi dengan baik untuk program saya. Ini menunjukkan bahwa saya akan menurunkan versi tensorflow saya dan semuanya tampak berfungsi
Neo
6

Saya menghadapi masalah yang sama. Ternyata itu dalam bentuk daftar. Saya harus mengubah bidang menjadi array numpy seperti:

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

itu dia!

Atharva
sumber
2

VIKI sudah mengatakan jawaban yang bagus. Saya menambahkan lebih banyak informasi. Dulu crash host colab untuk saya juga, sebelum saya menambahkan pembungkus 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)

Crashing host karena kehabisan memori ada hubungannya dengan ini:

Penjelasan gradien padat Tensorflow?

Geoffrey Anderson
sumber
2

Dalam kasus saya masalahnya hanya pada y. itu daftar. dalam hal ini saya harus berubah

y = np.array (y)

Mahmud
sumber
1

Jawaban Mahmud memperbaiki kesalahan TensorFlow Tutorial "Regresi dasar: Prediksi efisiensi bahan bakar" di bagian [30]. Ini adalah 2 baris:

Ubah ini:

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

Untuk ini:

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

Terima kasih, Mahmud

pengguna2074145
sumber
0

Cukup ketik lemparkan array.

sebagai contoh:

import numpy as np
features = np.array(features,dtype='float64')
labels = np.array(labels, dtype ='float64')
Iqbal Hossain Joy
sumber