L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

data-pipeline

data-pipeline

Prepare tabular time-series data for PyTorch Forecasting v1 TimeSeriesDataSet, encoders, normalizers, dataloaders, serialization, and validation.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: data-pipeline description: "Prepare tabular time-series data for PyTorch Forecasting v1 TimeSeriesDataSet, encoders, normalizers, dataloaders, serialization, and validation." disable-model-invocation: true metadata: disco-role: operating license: MIT

Data Pipeline Sub-skill

Use this sub-skill when the task is to turn a pandas-style tabular time-series DataFrame into PyTorch Forecasting 1.8.0 data objects for training, validation, testing, or prediction. The primary API is pytorch_forecasting.TimeSeriesDataSet and the v1 data utilities under pytorch_forecasting.data.

Route here for

  • Choosing and declaring time_idx, target, group_ids, static covariates, known-future covariates, unknown-future covariates, weights, lags, encoders, scalers, and target normalizers.
  • Creating TimeSeriesDataSet objects for train/validation/test/predict workflows with TimeSeriesDataSet.from_dataset() or TimeSeriesDataSet.from_parameters().
  • Converting datasets to PyTorch dataloaders with TimeSeriesDataSet.to_dataloader() and understanding returned batch keys and shapes.
  • Handling missing timesteps, categorical unknowns, target normalization, dataset serialization, and pre-flight DataFrame validation.

Route away

  • Model architecture selection, .from_dataset() model construction, checkpoint loading, and prediction API details belong in ../forecasting-models/SKILL.md.
  • Losses, metrics, quantiles, Optuna tuning, and learning-rate finder decisions belong in ../metrics-and-tuning/SKILL.md.
  • Experimental v2 TimeSeries and EncoderDecoderTimeSeriesDataModule workflows belong in ../api-v2-workflows/SKILL.md.

Bundled references and scripts

  • Use references/time-series-dataset.md when you need the v1 TimeSeriesDataSet constructor contract, column-role map, train/validation/inference recipes, normalizer/encoder notes, dataloader shapes, serialization, and validation snippets.
  • Use references/data-validation-and-troubleshooting.md when data construction fails or behaves unexpectedly; it maps symptoms to likely causes and concrete recovery steps for NaNs, gaps, short series, categorical unknowns, normalizers, and shape surprises.
  • Use scripts/validate_timeseries_dataframe.py before constructing a dataset from a CSV to catch missing required columns, duplicate group/time rows, target NaNs, role overlap, non-integer time indexes, sort issues, gaps, and too-short groups without importing PyTorch Forecasting.

Minimal working pattern

from pytorch_forecasting import TimeSeriesDataSet
from pytorch_forecasting.data import GroupNormalizer, NaNLabelEncoder

training = TimeSeriesDataSet(
    train_df,
    time_idx="time_idx",              # integer, increasing within each group
    target="sales",                  # continuous or categorical target column
    group_ids=["store", "sku"],      # columns that identify one series
    max_encoder_length=36,
    max_prediction_length=6,
    static_categoricals=["store", "sku"],
    time_varying_known_reals=["time_idx", "price", "promotion"],
    time_varying_unknown_reals=["sales"],
    target_normalizer=GroupNormalizer(groups=["store", "sku"], transformation="log1p"),
    categorical_encoders={"sku": NaNLabelEncoder(add_nan=True)},
)

validation = TimeSeriesDataSet.from_dataset(
    training,
    full_df,
    min_prediction_idx=train_df["time_idx"].max() + 1,
    stop_randomization=True,
)

train_loader = training.to_dataloader(train=True, batch_size=64, num_workers=0)
val_loader = validation.to_dataloader(train=False, batch_size=64, num_workers=0)

If a task starts from CSV, run the bundled validator first, then use the references above to construct the actual TimeSeriesDataSet.

Skills enregistrées