Skip to main content

Open weights time-series foundation model from Google Research.

Project description

Disclaimer

This is a personal fork of timesfm, maintained to support custom changes for timecopilot and publish pypi wheels at timecopilot-timesfm. It may diverge from upstream.

Credits

This project is a fork of by Original Author(s).
All credit for the original code belongs to them. This fork is maintained independently to support TimeCopilot-specific changes.

TimesFM

TimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting.

This open version is not an officially supported Google product.

Latest Model Version: TimesFM 2.5

Archived Model Versions:

  • 1.0 and 2.0: relevant code archived in the sub directory v1. You can pip install timesfm==1.3.0 to install an older version of this package to load them.

Update - Sept. 15, 2025

TimesFM 2.5 is out!

Comparing to TimesFM 2.0, this new 2.5 model:

  • uses 200M parameters, down from 500M.
  • supports up to 16k context length, up from 2048.
  • supports continuous quantile forecast up to 1k horizon via an optional 30M quantile head.
  • gets rid of the frequency indicator.
  • has a couple of new forecasting flags.

Along with the model upgrade we have also upgraded the inference API. This repo will be under construction over the next few weeks to

  1. add support for an upcoming Flax version of the model (faster inference).
  2. add back covariate support.
  3. populate more docstrings, docs and notebook.

Install

TODO(siriuz42): Package timesfm==2.0.0 and upload to PyPI .

Run

git clone https://github.com/google-research/timesfm.git
cd timesfm
pip install -e .

Code Example

import torch
import numpy as np
import timesfm

torch.set_float32_matmul_precision("high")

model = timesfm.TimesFM_2p5_200M_torch.from_pretrained("google/timesfm-2.5-200m-pytorch")

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

timecopilot_timesfm-0.2.1.tar.gz (48.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

timecopilot_timesfm-0.2.1-py3-none-any.whl (68.9 kB view details)

Uploaded Python 3

File details

Details for the file timecopilot_timesfm-0.2.1.tar.gz.

File metadata

  • Download URL: timecopilot_timesfm-0.2.1.tar.gz
  • Upload date:
  • Size: 48.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.8

File hashes

Hashes for timecopilot_timesfm-0.2.1.tar.gz
Algorithm Hash digest
SHA256 2d35536896f96d172912469911b18c58df89756106e291c50fd429ba1eebfa34
MD5 19ae8b80f5a2c1b9c9f95cf71ea086cf
BLAKE2b-256 84558eb66c4ff18fd7c6270c15ce4c213c21071469ae578c025edf02564bac08

See more details on using hashes here.

File details

Details for the file timecopilot_timesfm-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for timecopilot_timesfm-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ecd2e7bdc5dd29eaf026d96805fe7f9409a470682c3c40a43b12f2d307188722
MD5 f9da612d5a9f4750872d09ef74e93086
BLAKE2b-256 2ec23283ea4b7498951a33391e4dd9248c82a4d16e4f1eb1a93c3b7a5d87973d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page