我是张量流新手。我正在尝试从 CSV 文件读取值并将其加载为张量流数据集。但是,当我尝试运行 model.fit 时,它给出以下错误 - 输入“input_39”缺少数据。您传递了一个带有键 ['Age', 'Number', 'Start'] 的数据字典。需要以下键:['input_39']
这是我的代码-
import numpy as np
import pandas as pd
import tensorflow as tf
input_file='kyphosis.csv'
all_dataset = tf.data.experimental.make_csv_dataset(input_file, batch_size=1,label_name="Kyphosis",num_epochs=1)
model=tf.keras.models.Sequential()
model.add(tf.keras.layers.Input(3))
model.add(tf.keras.layers.Dense(10))
model.add(tf.keras.layers.Dense(1,activation='sigmoid'))
model.compile(optimizer='adam',loss='binary_crossentropy',run_eagerly=True)
model.fit(all_dataset,epochs=10)
请让我知道我在这里做错了什么。张量流版本是2.11.0。
我尝试使用 tf.data.Dataset.from_tensor_slices 但遇到相同的错误 -
df=pd.read_csv('kyphosis.csv')
X=df.drop('Kyphosis',axis=1)
y=df['Kyphosis']
all_dataset=tf.data.Dataset.from_tensor_slices((X.to_dict(orient='list'),y))
all_dataset = all_dataset.batch(1)
model=tf.keras.models.Sequential()
model.add(tf.keras.layers.Input(3))
model.add(tf.keras.layers.Dense(10))
model.add(tf.keras.layers.Dense(1,activation='sigmoid'))
model.compile(optimizer='adam',loss='binary_crossentropy')
model.fit(all_dataset,epochs=3)
错误- ValueError:输入“input_41”缺少数据。您传递了一个带有键 ['Age', 'Number', 'Start'] 的数据字典。需要以下键:['input_41']