入力を処理できるデータアダプターが見つかりませんでした:<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

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)も実行する必要がありました。
ビクラム

ありがとうございました。y = np.array(y)がうまくいきました。
サイカットホルダー

8

つまり、これは新しいバージョンのtensorflowで発生しています。どこからかはわかりませんが、バージョン2.0.0を使用していたので、同じことが起こりました。

私はあなたがX配列をnumpy配列に変換しているだけだと思いますが、むしろdtypeをnp.uint8として使用して「X」と「y」をnumpy配列に変換してみてください

これで問題は解決します


助けてくれてありがとう、私のプログラムでは完全に機能します。それは私がテンソルフローをダウングレードするつもりであり、すべてが機能しているように見えることを示しています
Neo

6

私は同じ問題に直面していました。それはリストの形でした。フィールドを次のような派手な配列に変換する必要がありました:

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()ラッパーを追加する前は、colabホストもクラッシュしていました。

# 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

Mahmudの回答は、セクション[30]のTensorFlowチュートリアル「基本回帰:燃料効率の予測」エラーを修正します。これらは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)

ありがとうマフムド


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.