<Class 'numpy.ndarray'>, (<class 'list'> {“<class 'int'>”} türünde değerler içeren veri işleyici işlenemedi


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

hat problemi buydu

Gösterilen hata:

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

Lütfen sorunuzu düzenleyin ve daha fazla kod, bağlam ve tam hata izleme ekleyin. Nasıl soracağınızı okuyun .
Valentino

Nedir model? Etiketli paketlerin hiçbirinin parçası değildir. Geri izlemenin tamamını göster.
hpaulj

Yanıtlar:



8

Yani bu, tensorflow'un yeni sürümünden nereden emin değilim ama 2.0.0 sürümündeydim ve aynı şey oldu

Ben sadece bir numpy diziye X dizisini dönüştürdüğünü varsayıyorum Ama yerine 'X' yanı sıra 'y' npy.uint8 dtype kullanarak numpy diziye dönüştürmeyi deneyin

Bu sorunu çözmeli


Yardımınız için teşekkür ederim, şimdi programım için mükemmel çalışıyor. Bu tensorflow'umu indireceğim ve her şeyin işe yaradığını gösteriyor
Neo

6

Aynı sorunla karşı karşıyaydım. Bir liste şeklinde olduğu ortaya çıktı. Alanları gibi bir numpy diziye dönüştürmek zorunda kaldı:

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

bu kadar!


2

VIKI zaten iyi bir cevap söyledi. Daha fazla bilgi ekliyorum. Ben np.array () sarmalayıcıları eklemeden önce benim için de colab host çöküyordu.

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

Bellek yetersiz sorunu nedeniyle ana bilgisayarın çökmesi bununla ilgili bir şey var:

Tensorflow yoğun gradyan açıklaması?


2

Benim durumumda sorun sadece y idi. bir listeydi. bu durumda değiştirmek zorunda kaldım

y = np. dizi (y)


1

Mahmud'un cevabı, TensorFlow “Temel regresyon: Yakıt verimliliğini tahmin et” hatasını [30] bölümündeki sorunu düzeltir. Bunlar 2 satırdır:

Bunu değiştir:

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

Buna:

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

Teşekkürler Mahmud


0

Sadece dizileri döküm yazın.

Örneğin:

import numpy as np
features = np.array(features,dtype='float64')
labels = np.array(labels, dtype ='float64')
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.