ไม่พบอะแดปเตอร์ข้อมูลที่สามารถจัดการอินพุต: <class 'numpy.ndarray'>, (<class 'list'> ที่มีค่าประเภท {{<<class 'int'>”})


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

ปัญหาบรรทัดคือสิ่งนี้

แสดงข้อผิดพลาด:

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

โปรดแก้ไขคำถามของคุณและเพิ่มรหัสและบริบทเพิ่มเติมและการติดตามข้อผิดพลาดทั้งหมด อ่านวิธีการขอ
Valentino

คือmodelอะไร มันไม่ได้เป็นส่วนหนึ่งของแพ็คเกจที่ติดแท็ก แสดงการติดตามย้อนกลับแบบเต็ม
hpaulj

คำตอบ:


11

ValueError ใน TensorFlow

https://pythonprogramming.net/convolutional-neural-network-deep-learning-python-tensorflow-keras/

ฉันลองรหัสต่อไปนี้และทำงานให้ฉัน:

IMG_SIZE = 50

X = np.array(X).reshape(-1, IMG_SIZE, IMG_SIZE, 1)

y = np.array(y)

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

ฉันต้องทำ y = np.array (y) ด้วย
bikram

ขอบคุณ. y = np.array (y) ทำกลอุบาย
Saikat หยุดงาน

8

ดังนั้นนี่คือสิ่งที่เกิดขึ้นกับรุ่นใหม่ของเทนเซอร์กระแสฉันไม่แน่ใจจากที่ แต่ฉันอยู่ในรุ่น 2.0.0 และสิ่งเดียวกันนี้เกิดขึ้น

ฉันสมมติว่าคุณเพียงแปลง X ให้เป็น Numpy Array แต่ลองเปลี่ยน 'X' และ 'y' เป็น Numpy Array โดยใช้ dtype เป็น np.uint8

ที่ควรแก้ไขปัญหา


ขอบคุณสำหรับความช่วยเหลือตอนนี้มันทำงานได้อย่างสมบูรณ์แบบสำหรับโปรแกรมของฉัน มันแสดงให้เห็นว่าฉันกำลังจะลดระดับการไหลของเทนเซอร์และทุกอย่างดูเหมือนจะใช้ได้
Neo

6

ฉันกำลังเผชิญกับปัญหาเดียวกัน ปรากฎว่ามันเป็นรูปแบบของรายการ ฉันต้องแปลงฟิลด์เป็นอาร์เรย์ numpy เช่น:

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

แค่นั้นแหละ!


2

VIKI ตอบว่าเป็นคำตอบที่ดี ฉันกำลังเพิ่มข้อมูลเพิ่มเติม มันเคยโฮสต์ colab ขัดข้องสำหรับฉันเช่นกันก่อนที่ฉันจะเพิ่ม np.array () wrappers

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

โฮสต์ที่ล้มเหลวเนื่องจากปัญหาหน่วยความจำไม่เพียงพอมีส่วนเกี่ยวข้องกับสิ่งนี้:

Tensorflow คำอธิบายการไล่ระดับสีหนาแน่น?


2

ในกรณีของฉันปัญหาเกิดขึ้นเฉพาะใน y มันเป็นรายการ ในกรณีนั้นฉันต้องเปลี่ยน

y = np.array (y)


1

คำตอบของมาห์มุดแก้ไขข้อผิดพลาดของ TensorFlow Tutorial "การถดถอยพื้นฐาน: คาดการณ์ประสิทธิภาพการใช้เชื้อเพลิง" ในส่วน [30] เหล่านี้คือ 2 บรรทัด:

เปลี่ยนสิ่งนี้:

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

สำหรับสิ่งนี้:

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

ขอบคุณมะห์มุด


0

เพียงพิมพ์ cast อาร์เรย์

ตัวอย่างเช่น:

import numpy as np
features = np.array(features,dtype='float64')
labels = np.array(labels, dtype ='float64')
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.