입력을 처리 할 수있는 데이터 어댑터를 찾지 못했습니다 : <class 'numpy.ndarray'>, (({“<class 'int'>”} 유형의 값을 포함하는 <class 'list'>))


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

TensorFlow의 ValueError

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

그래서 이것은 최신 버전의 tensorflow에서 발생합니다. 어디에서 확실하지 않지만 버전 2.0.0에 있었는지와 동일한 일이 발생했습니다.

X 배열을 numpy 배열로만 변환한다고 가정하지만 dtype을 np.uint8을 사용하여 'X'와 'y'를 numpy 배열로 변환하십시오.

문제를 해결해야합니다


도움을 주셔서 감사합니다. 이제 내 프로그램에서 완벽하게 작동합니다. 그것은 내가 내 tensorflow를 다운 그레이드하고 모든 것이 작동하는 것 같습니다
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는 이미 좋은 대답을했습니다. 더 많은 정보를 추가하고 있습니다. 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)

메모리 부족 문제로 인한 호스트 충돌은 다음과 관련이 있습니다.

텐서 플로우 고밀도 그래디언트 설명?


2

제 경우에는 문제가 y에만있었습니다. 그것은 목록이었다. 그 경우에 나는 변화해야했다

y = np. 배열 (y)


1

Mahmud의 답변은 섹션 [30]의 TensorFlow Tutorial "기본 회귀 : 연료 효율 예측"오류를 수정합니다. 다음은 두 줄입니다.

이것을 변경하십시오 :

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)

감사합니다 Mahmud


0

배열을 캐스트하십시오.

예를 들면 다음과 같습니다.

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.