Я строю модель LSTM для прогнозирования многомерных временных рядов, используя оценки TensorFlow.Я предварительно обработал свои данные в соответствии с официальным руководством TensorFlow "Предварительная обработка данных с помощью TensorFlow Transform" .Теперь я хочу прочитать сгенерированный файл TFRecords, используя API данных TensorFlow, применить скользящее окно и сгруппировать его в пакеты.
Вот мой оценщик input_fn:
def input_fn(file_pattern, metadata_dir, mode, num_epochs, batch_size):
# Read metadata
metadata = metadata_io.read_metadata(metadata_dir)
# Create dataset from TFRecords file
dataset = tf.data.experimental.make_batched_features_dataset(
file_pattern=file_pattern,
batch_size=batch_size,
features=metadata.schema.as_feature_spec(),
reader=tf.data.TFRecordDataset,
num_epochs=num_epochs,
shuffle=False,
prefetch_buffer_size=1
)
iterator = dataset.make_one_shot_iterator()
features = iterator.get_next()
labels = features[TARGET_FEATURE_NAME]
return features, labels
Я обнаружил, что tf.data.Dataset
имеет метод window
, который делает именно то, что мне нужно, но у меня возникают проблемы с его применением кнабор данных, который tf.data.experimental.make_batched_features_dataset
возвращает.