我如何合并Tensorflow数据集列?



我有一个Keras模型,它接受形状为(n, 288, 1)的输入层,其中288是特征的数量。我使用TensorFlow数据集tf.data.experimental.make_batched_features_dataset,我的输入层将是(n, 1,1),这意味着它一次给模型一个特征。怎样才能得到一个形状为(n, 288,1)的输入张量?我的意思是我如何在一个张量中使用所有的特征?

您可以在Keras输入层中指定输入的形状。下面是一个用虚拟数据演示的示例代码。

import tensorflow as tf
## Creating dummy data for demo
def make_sample():
return tf.random.normal([288, 1])
n_samples = 100
samples = [make_sample() for _ in range(n_samples)]
labels = [tf.random.uniform([1]) for _ in range(n_samples)]

# Use tf.data to create dataset
batch_size = 4
dataset = tf.data.Dataset.from_tensor_slices((samples, labels))
dataset = dataset.batch(batch_size)
# Build keras function model
inputs = tf.keras.Input(shape=[288, 1], name='input')
x = tf.keras.layers.Dense(1)(inputs)
model = tf.keras.Model(inputs=[inputs], outputs=[x])
# Compile loss and optimizer
model.compile(loss='mse', optimizer='sgd', metrics=['mae'])
model.fit(dataset, epochs=1)

相关内容

  • 没有找到相关文章

最新更新