m4_freq="Yearly", pandas_freq="12M", prediction_length=6, ), "m4_yearly_other": partial( generate_m4_dataset, m4_freq="Yearly", pandas_freq="12M", prediction_length=6, ), } ) dataset_names = list(dataset_recipes.keys()) default_dataset_path = get_download_path() / "datasets" def materialize_dataset( dataset_name: str, path: Path = default_dataset_path, regenerate: bool = False, ) -> Path: """ Ensures that the dataset is materialized under the `path / dataset_name` path. Parameters ---------- dataset_name name of the dataset, for instance "m4_hourly"
if __name__ == "__main__": dataset = get_dataset("exchange_rate") estimator = SimpleFeedForwardEstimator( prediction_length=dataset.metadata.prediction_length, freq=dataset.metadata.freq, trainer=Trainer(epochs=5, num_batches_per_epoch=10), ) predictor = estimator.train(dataset.train) # save the trained model in a path ~/.mxnet/gluon-ts/feedforward/ # or $MXNET_HOME/feedforward if MXNET_HOME is defined model_path = get_download_path() / "feedforward" os.makedirs(model_path, exist_ok=True) predictor.serialize(model_path) # loads it back and evaluate predictions accuracy with the deserialized model predictor_deserialized = Predictor.deserialize(model_path) forecast_it, ts_it = make_evaluation_predictions( dataset.test, predictor=predictor_deserialized, num_samples=100) agg_metrics, item_metrics = Evaluator()(ts_it, forecast_it, num_series=len(dataset.test)) pprint.pprint(agg_metrics)