Instructions to use google/timesfm-2.5-200m-pytorch with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- TimesFM
How to use google/timesfm-2.5-200m-pytorch with TimesFM:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
metadata
license: apache-2.0
library_name: timesfm
pipeline_tag: time-series-forecasting
TimesFM
TimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting.
Updates
- October 2, 2025: We changed the structure of the model to fuse QKV matrices into one for speed optimization. Please reinstall the latest version of the timesfm package to reflect these changes. Results should be unchanged.
Resources and Technical Documentation:
- Paper: A decoder-only foundation model for time-series forecasting, ICML 2024.
- Google Research blog
- GitHub repo
Authors: Google Research
This checkpoint is not an officially supported Google product. See TimesFM in BigQuery for Google official support.
Checkpoint timesfm-2.5-200m
timesfm-2.5-200m is the third open model checkpoint.
Data
timesfm-2.5-200m is pretrained using
- GiftEvalPretrain
- Wikimedia Pageviews, cutoff Nov 2023 (see paper for details).
- Google Trends top queries, cutoff EoY 2022 (see paper for details).
- Synthetic and augmented data.
Install
pip install from PyPI coming soon. At this point, please run
git clone https://github.com/google-research/timesfm.git
cd timesfm
pip install -e .
Code Example
import numpy as np
import timesfm
model = timesfm.TimesFM_2p5_200M_torch.from_pretrained("google/timesfm-2.5-200m-pytorch", torch_compile=True)
model.compile(
timesfm.ForecastConfig(
max_context=1024,
max_horizon=256,
normalize_inputs=True,
use_continuous_quantile_head=True,
force_flip_invariance=True,
infer_is_positive=True,
fix_quantile_crossing=True,
)
)
point_forecast, quantile_forecast = model.forecast(
horizon=12,
inputs=[
np.linspace(0, 1, 100),
np.sin(np.linspace(0, 20, 67)),
], # Two dummy inputs
)
point_forecast.shape # (2, 12)
quantile_forecast.shape # (2, 12, 10): mean, then 10th to 90th quantiles.