Bonjour à tous,

J'ai un soucis pour faire reconnaitre mon tuple (labels, targets) au model.fit de Tensorflow.

Voici le message d'erreur qu'il m'affiche :

"Failed to find data adapter that can handle input: (<class 'tuple'> containing values of types {"<class 'tensorflow.python.data.ops.dataset_ops.MapDataset'>"}), <class 'NoneType'>"


Voici comment j'ai construit le tuple en question :

J'importe mes données et les conditionne de la manière suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
df=pd.read_excel(fname)
features = df[selected_features]
features = normalize(features.values, train_split)
features = pd.DataFrame(features)
train_data = features.loc[0 : train_split - 1]
Le train_data a 14 colonnes ; je réalise un dataset pour chaque colonne puis je concatène les datasets :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
...
dataset_train13 = tf.keras.preprocessing.timeseries_dataset_from_array(
    train_data[:,12],
    None,
    sequence_length=sequence_length,
    sampling_rate=step,
    batch_size=batch_size,
)
 
dataset_train14 = tf.keras.preprocessing.timeseries_dataset_from_array(
    train_data[:,13],
    None,
    sequence_length=sequence_length,
    sampling_rate=step,
    batch_size=batch_size,
)
 
dataset_train = tf.data.Dataset.zip((dataset_train1,dataset_train2))
dataset_train = dataset_train.map(lambda x,y:tf.concat([x,y],0))
 
dataset_train = tf.data.Dataset.zip((dataset_train,dataset_train3))
dataset_train = dataset_train.map(lambda x,y:tf.concat([x,y],0))
 
dataset_train = tf.data.Dataset.zip((dataset_train,dataset_train4))
dataset_train = dataset_train.map(lambda x,y:tf.concat([x,y],0))
...
Enfin j'obtiens les labels et targets de la sorte:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
def split_window(dataset_train):
 
    inputs = dataset_train.map(lambda dataset_train: dataset_train[0:past])
    labels = dataset_train.map(lambda dataset_train: dataset_train[past+1:past+future])
 
    return inputs, labels

J'ai beau chercher je suis bloqué ; est-ce que vous auriez une idée de comment rendre compatible le tuple pour la fonction fit?

Merci d'avance,

Mango1