Tensorflow Data Adapter Error: ValueError: Failed to find data adapter that can handle input Tensorflow Data Adapter Error: ValueError: Failed to find data adapter that can handle input python python

Tensorflow Data Adapter Error: ValueError: Failed to find data adapter that can handle input


Have you checked whether your training/testing data and training/testing labels are all numpy arrays? It might be that you're mixing numpy arrays with lists.


You can avoid this error by converting your labels to arrays before calling model.fit():

train_x = np.asarray(train_x)train_y = np.asarray(train_y)validation_x = np.asarray(validation_x)validation_y = np.asarray(validation_y)


If you encounter this problem while dealing with a custom generator inheriting from the keras.utils.Sequence class, you might have to make sure that you do not mix a Keras or a tensorflow - Keras-import.
This might especially happen when you have to switch to a previous tensorflow version for compatibility (like with cuDNN).

If you for example use this with a tensorflow-version > 2...

from keras.utils import Sequenceclass generatorClass(Sequence):    def __init__(self, x_set, y_set, batch_size):        ...    def __len__(self):        ...    def __getitem__(self, idx):        return ...

... but you actually try to fit this generator in a tensorflow-version < 2, you have to make sure to import the Sequence-class from this version like:

keras = tf.compat.v1.kerasSequence = keras.utils.Sequenceclass generatorClass(Sequence):    ...