我正在准备来自 csv 文件的数据,其中训练数据和测试数据存储在不同的文件中。我的代码如下:
pathAsk = 'ask.csv'
pathBid = 'bid.csv'
pathLabels = 'labels.csv'
types = [tf.constant(0, dtype=tf.float32)] * 2500
types_label = [tf.int32]
datasetAsk = tf.data.experimental.CsvDataset(pathAsk, types , header=False, field_delim = ";")
datasetBid = tf.data.experimental.CsvDataset(pathBid, types , header=False, field_delim = ";")
datasetLabels = tf.data.experimental.CsvDataset(pathLabels, types_label, header=False)
def to_categorical(dataset):
dataset = tf.one_hot(tf.cast(dataset, tf.int32), 6)
return dataset
datasetLabels = datasetLabels.map(to_categorical)
def preprocessX(*fields):
return tf.stack(fields[:2500])/5000
train_ds = datasetAsk.map(preprocessX).batch(32)
label_ds = datasetLabels.batch(32)
inputs = keras.Input(shape=(2500), name="ask")
x = keras.layers.Embedding(1000, 64)
x = keras.layers.Dense(64, activation=keras.activations.relu)(inputs)
x = keras.layers.Dense(32, activation=keras.activations.relu)(x)
outputs = keras.layers.Dense(6, activation=keras.activations.relu)(x)
model = keras.Model(inputs, outputs)
model.compile(
loss = keras.losses.MeanSquaredError(),
optimizer = keras.optimizers.Adam(),
metrics=['accuracy'],
)
keras.utils.plot_model(model, "multi_input_and_output_model.png", show_shapes=True)
model.fit(train_ds, validation_data=label_ds, epochs=50)
我的模型抛出异常:没有为任何变量提供梯度:['dense / kernel: 0', 'dense / bias: 0', 'dense_1 / kernel: 0', 'dense_1 / bias: 0', '密集_2/内核:0','密集_2/偏差:0']。
我需要做什么才能开始训练模型?感谢您的帮助!