From 7d4c2b83219a8bc25943fd9a0769ddc363f0ea0c Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Mon, 3 Jun 2024 17:56:30 +0000 Subject: [PATCH 01/18] adding timegpt-1 to extended_benchmarks --- experiments/baselines/__init__.py | 0 experiments/baselines/timegpt_pipeline.py | 234 ++++++++++++++++++ .../extended_benchmarks/run_timegpt.py | 106 ++++++++ .../extended_benchmarks/tfm_extended_new.png | Bin 0 -> 249528 bytes 4 files changed, 340 insertions(+) create mode 100644 experiments/baselines/__init__.py create mode 100644 experiments/baselines/timegpt_pipeline.py create mode 100644 experiments/extended_benchmarks/run_timegpt.py create mode 100644 experiments/extended_benchmarks/tfm_extended_new.png diff --git a/experiments/baselines/__init__.py b/experiments/baselines/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/experiments/baselines/timegpt_pipeline.py b/experiments/baselines/timegpt_pipeline.py new file mode 100644 index 0000000..c4ab40e --- /dev/null +++ b/experiments/baselines/timegpt_pipeline.py @@ -0,0 +1,234 @@ +from typing import List, Optional, Tuple +import os +import pandas as pd +from gluonts.time_feature.seasonality import get_seasonality as _get_seasonality +from tqdm import tqdm +from utilsforecast.processing import ( + backtest_splits, + drop_index_if_pandas, + join, + maybe_compute_sort_indices, + take_rows, + vertical_concat, +) +from time import time +from dotenv import load_dotenv +from nixtla import NixtlaClient + + +def get_seasonality(freq: str) -> int: + return _get_seasonality(freq, seasonalities={"D": 7}) + + +def maybe_convert_col_to_datetime(df: pd.DataFrame, col_name: str) -> pd.DataFrame: + if not pd.api.types.is_datetime64_any_dtype(df[col_name]): + df = df.copy() + df[col_name] = pd.to_datetime(df[col_name]) + return df + + +def zero_pad_time_series(df, freq, min_length=36): + """If time_series length is less than min_length, front pad it with zeros.""" + # 1. Calculate required padding for each unique_id + value_counts = df["unique_id"].value_counts() + to_pad = value_counts[value_counts < min_length].index + + # 2. Create a new DataFrame to hold padded data + padded_data = [] + + for unique_id in to_pad: + # 2a. Filter data for the specific unique_id + subset = df[df["unique_id"] == unique_id] + if len(subset) > min_length: + padded_data.append(subset) + else: + # 2b. Determine earliest date and calculate padding dates + start_date = subset["ds"].min() + padding_dates = pd.date_range( + end=start_date, + periods=min_length - len(subset) + 1, + freq=freq, # 'MS' for month start + )[ + :-1 + ] # Exclude the start_date itself + + # 2c. Create padding data + padding_df = pd.DataFrame( + {"ds": padding_dates, "unique_id": unique_id, "y": 0} # Zero padding + ) + + # 2d. Combine original and padding data, and append to the list + padded_data.append(pd.concat([padding_df, subset]).sort_values("ds")) + + # 3. Combine all padded data and original data (unchanged) + result_df = pd.concat(padded_data + [df[~df["unique_id"].isin(to_pad)]]) + return result_df + + +class Forecaster: + """Borrowed from + https://github.com/Nixtla/nixtla/tree/main/experiments/foundation-time-series-arena/xiuhmolpilli/models. + """ + + def forecast( + self, + df: pd.DataFrame, + h: int, + freq: str, + ) -> pd.DataFrame: + raise NotImplementedError + + def cross_validation( + self, + df: pd.DataFrame, + h: int, + freq: str, + n_windows: int = 1, + step_size: int | None = None, + ) -> pd.DataFrame: + df = maybe_convert_col_to_datetime(df, "ds") + # mlforecast cv code + results = [] + sort_idxs = maybe_compute_sort_indices(df, "unique_id", "ds") + if sort_idxs is not None: + df = take_rows(df, sort_idxs) + splits = backtest_splits( + df, + n_windows=n_windows, + h=h, + id_col="unique_id", + time_col="ds", + freq=pd.tseries.frequencies.to_offset(freq), + step_size=h if step_size is None else step_size, + ) + for _, (cutoffs, train, valid) in tqdm(enumerate(splits)): + if len(valid.columns) > 3: + raise NotImplementedError( + "Cross validation with exogenous variables is not yet supported." + ) + y_pred = self.forecast( + df=train, + h=h, + freq=freq, + ) + y_pred = join(y_pred, cutoffs, on="unique_id", how="left") + result = join( + valid[["unique_id", "ds", "y"]], + y_pred, + on=["unique_id", "ds"], + ) + if result.shape[0] < valid.shape[0]: + raise ValueError( + "Cross validation result produced less results than expected. " + "Please verify that the frequency parameter (freq) matches your series' " + "and that there aren't any missing periods." + ) + results.append(result) + out = vertical_concat(results) + out = drop_index_if_pandas(out) + first_out_cols = ["unique_id", "ds", "cutoff", "y"] + remaining_cols = [c for c in out.columns if c not in first_out_cols] + fcst_cv_df = out[first_out_cols + remaining_cols] + return fcst_cv_df + + +class TimeGPT(Forecaster): + """Borrowed from + https://github.com/Nixtla/nixtla/tree/main/experiments/foundation-time-series-arena/xiuhmolpilli/models. + We modify the class to take care of edge cases. + """ + + def __init__( + self, + api_key: str | None = None, + base_url: Optional[str] = None, + max_retries: int = 1, + model: str = "timegpt-1", + alias: str = "TimeGPT", + ): + self.api_key = api_key + self.base_url = base_url + self.max_retries = max_retries + self.model = model + self.alias = alias + + def _get_client(self) -> NixtlaClient: + if self.api_key is None: + api_key = os.environ["NIXTLA_API_KEY"] + else: + api_key = self.api_key + return NixtlaClient( + api_key=api_key, + base_url=self.base_url, + max_retries=self.max_retries, + ) + + def forecast( + self, + df: pd.DataFrame, + h: int, + freq: str, + level: List = [90.0], + chunk_size: Optional[int] = None, + ) -> pd.DataFrame: + client = self._get_client() + fcst_df = None + if chunk_size is None: + fcst_df = client.forecast( + df=df, + h=h, + freq=freq, + level=level, + model=self.model, + ) + else: + all_unique_ids = df["unique_id"].unique() + all_fcst_df = [] + for i in range(0, len(all_unique_ids), chunk_size): + chunk_ids = all_unique_ids[i : i + chunk_size] + chunk_df = df[df["unique_id"].isin(chunk_ids)] + fct_chunk_df = client.forecast( + df=chunk_df, + h=h, + freq=freq, + level=level, + ) + all_fcst_df.append(fct_chunk_df) + fcst_df = pd.concat(all_fcst_df) + fcst_df["ds"] = pd.to_datetime(fcst_df["ds"]) + replace_dict = {} + for col in fcst_df.columns: + if col.startswith("TimeGPT"): + replace_dict[col] = col.replace("TimeGPT", self.alias) + fcst_df = fcst_df.rename(columns=replace_dict) + return fcst_df + + +def run_timegpt( + train_df: pd.DataFrame, + horizon: int, + freq: str, + seasonality: int, + level: List[int], + dataset: str, + model: str = "timegpt-1", +) -> Tuple[pd.DataFrame, float, str]: + os.environ["NIXTLA_ID_AS_COL"] = "true" + model = TimeGPT(model="timegpt-1", alias=model) + padded_train_df = zero_pad_time_series(train_df, freq) + init_time = time() + # For these datasets the API fails if we do not chunk. + if dataset in ["m5", "m4_quarterly"]: + chunk_size = 5000 + else: + chunk_size = None + fcsts_df = model.forecast( + df=padded_train_df, h=horizon, level=level, freq=freq, chunk_size=chunk_size + ) + total_time = time() - init_time + for lvl in level: + if f"{model.alias}-lo-{lvl}" not in fcsts_df.columns: + fcsts_df[f"{model.alias}-lo-{lvl}"] = fcsts_df[model.alias] + if f"{model.alias}-hi-{lvl}" not in fcsts_df.columns: + fcsts_df[f"{model.alias}-hi-{lvl}"] = fcsts_df[model.alias] + return fcsts_df, total_time, model.alias diff --git a/experiments/extended_benchmarks/run_timegpt.py b/experiments/extended_benchmarks/run_timegpt.py new file mode 100644 index 0000000..d9cb106 --- /dev/null +++ b/experiments/extended_benchmarks/run_timegpt.py @@ -0,0 +1,106 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Evaluation script for timesfm.""" + +import os +import sys +import time + +from absl import flags +import numpy as np +import pandas as pd +from ..baselines.timegpt_pipeline import run_timegpt + +from .utils import ExperimentHandler + + +dataset_names = [ + "m1_monthly", + "m1_quarterly", + "m1_yearly", + "m3_monthly", + "m3_other", + "m3_quarterly", + "m3_yearly", + "m4_quarterly", + "m4_yearly", + "tourism_monthly", + "tourism_quarterly", + "tourism_yearly", + "nn5_daily_without_missing", + "m5", + "nn5_weekly", + "traffic", + "weather", + "australian_electricity_demand", + "car_parts_without_missing", + "cif_2016", + "covid_deaths", + "ercot", + "ett_small_15min", + "ett_small_1h", + "exchange_rate", + "fred_md", + "hospital", +] + +_MODEL_NAME = flags.DEFINE_string( + "model_name", "timegpt-1-long-horizon", "Path to model" +) +_SAVE_DIR = flags.DEFINE_string("save_dir", "./results", "Save directory") + + +QUANTILES = list(np.arange(1, 10) / 10.0) + + +def main(): + results_list = [] + run_id = np.random.randint(100000) + model_name = _MODEL_NAME.value + for dataset in dataset_names: + print(f"Evaluating model {model_name} on dataset {dataset}", flush=True) + exp = ExperimentHandler(dataset, quantiles=QUANTILES) + train_df = exp.train_df + horizon = exp.horizon + seasonality = exp.seasonality + freq = exp.freq + level = exp.level + fcsts_df, total_time, model_name = run_timegpt( + train_df=train_df, + horizon=exp.horizon, + model=model_name, + seasonality=seasonality, + freq=freq, + dataset=dataset, + level=level, + ) + time_df = pd.DataFrame({"time": [total_time], "model": model_name}) + fcsts_df = exp.fcst_from_level_to_quantiles(fcsts_df, model_name) + results = exp.evaluate_from_predictions( + models=[model_name], fcsts_df=fcsts_df, times_df=time_df + ) + print(results, flush=True) + results_list.append(results) + results_full = pd.concat(results_list) + save_path = os.path.join(_SAVE_DIR.value, str(run_id)) + print(f"Saving results to {save_path}", flush=True) + os.makedirs(save_path, exist_ok=True) + results_full.to_csv(f"{save_path}/results.csv") + + +if __name__ == "__main__": + FLAGS = flags.FLAGS + FLAGS(sys.argv) + main() diff --git a/experiments/extended_benchmarks/tfm_extended_new.png b/experiments/extended_benchmarks/tfm_extended_new.png new file mode 100644 index 0000000000000000000000000000000000000000..12717a827fde1d18d1fd35af0a0db520ca88f1c0 GIT binary patch literal 249528 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%0Ag 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 literal 0 HcmV?d00001 From 84e8c931d63c2fff059ff70ead96f7070ec6e645 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Mon, 3 Jun 2024 18:03:38 +0000 Subject: [PATCH 02/18] updating readme with new results --- experiments/environment.yml | 5 ++++- experiments/environment_cpu.yml | 5 ++++- experiments/extended_benchmarks/README.md | 7 +++++-- experiments/extended_benchmarks/run_timegpt.py | 6 ++++-- pyproject.toml | 2 +- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/experiments/environment.yml b/experiments/environment.yml index 25b4b7b..9e731a4 100644 --- a/experiments/environment.yml +++ b/experiments/environment.yml @@ -20,5 +20,8 @@ dependencies: - git+https://github.com/amazon-science/chronos-forecasting.git - praxis - paxml - - jax[cuda12]==0.4.26 + - jax[cuda12] - einshape + - python-dotenv + - nixtla>=0.5.1 + - rich diff --git a/experiments/environment_cpu.yml b/experiments/environment_cpu.yml index 2301b8e..7cc3912 100644 --- a/experiments/environment_cpu.yml +++ b/experiments/environment_cpu.yml @@ -20,5 +20,8 @@ dependencies: - git+https://github.com/amazon-science/chronos-forecasting.git - praxis - paxml - - jax[cpu]==0.4.26 + - jax[cpu] - einshape + - python-dotenv + - nixtla>=0.5.1 + - rich diff --git a/experiments/extended_benchmarks/README.md b/experiments/extended_benchmarks/README.md index f37f22c..1491364 100644 --- a/experiments/extended_benchmarks/README.md +++ b/experiments/extended_benchmarks/README.md @@ -2,7 +2,6 @@ The benchmark setting has been borrowed from Nixtla's original [benchmarking](https://github.com/AzulGarza/nixtla/tree/main/experiments/amazon-chronos) of time-series foundation models against a strong statistical ensemble. Later more datasets were added by the Chronos team in this [pull request](https://github.com/shchur/nixtla/tree/chronos-full-eval/experiments/amazon-chronos). We compare on all the datasets in this extended benchmarks. -All experiments were performed on a [g2-standard-32](https://cloud.google.com/compute/docs/gpus). ## Running TimesFM on the benchmark @@ -19,7 +18,11 @@ Note: In the current version of TimesFM we focus on point forecasts and therefor ## Benchmark Results -![Benchmark Results Table](./tfm_results.png) +![Benchmark Results Table](./tfm_extended_new.png) + +__Update:__ We have added TimeGPT-1 to the benchmark results. We had to remove the Dominick dataset as we were not able to run TimeGPT-1 on this benchmark. Note that the previous results including Dominick remain available at `./tfm_results.png`. In order to reproduce the results for TimeGPT-1, please run `run_timegpt.py`. + +_Remark:_ All baselines except the ones involving TimeGPT were run performed on a [g2-standard-32](https://cloud.google.com/compute/docs/gpus). Since TimeGPT-1 can only be accessed by an API, the time column might not reflect the true speed of the model as it also includes the communication cost. Moreover, we are not sure about the exact backend hardware for TimeGPT. We can see that TimesFM performs the best in terms of both mase and smape. More importantly it is much faster than the other methods, in particular it is more than 600x faster than StatisticalEnsemble and 80x faster than Chronos (Large). diff --git a/experiments/extended_benchmarks/run_timegpt.py b/experiments/extended_benchmarks/run_timegpt.py index d9cb106..cceab37 100644 --- a/experiments/extended_benchmarks/run_timegpt.py +++ b/experiments/extended_benchmarks/run_timegpt.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Evaluation script for timesfm.""" +"""Evaluation script for timegpt.""" import os import sys @@ -57,7 +57,9 @@ dataset_names = [ ] _MODEL_NAME = flags.DEFINE_string( - "model_name", "timegpt-1-long-horizon", "Path to model" + "model_name", + "timegpt-1-long-horizon", + "Path to model, can also be set to timegpt-1", ) _SAVE_DIR = flags.DEFINE_string("save_dir", "./results", "Save directory") diff --git a/pyproject.toml b/pyproject.toml index 9c097bb..2a34f2e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ dependencies = [ "einshape>=1.0.0", "paxml>=1.4.0", "praxis>=1.4.0", - "jax==0.4.26", + "jax>=0.4.26", "numpy>=1.26.4", "pandas>=2.1.4", ] From 5e7e8eb962cfa5a92dd2aa3cfe8740630d977194 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Mon, 3 Jun 2024 18:06:05 +0000 Subject: [PATCH 03/18] removing dominick from extended_benchmarks for now. --- experiments/extended_benchmarks/run_timesfm.py | 1 - 1 file changed, 1 deletion(-) diff --git a/experiments/extended_benchmarks/run_timesfm.py b/experiments/extended_benchmarks/run_timesfm.py index bbf1ec9..23d19d4 100644 --- a/experiments/extended_benchmarks/run_timesfm.py +++ b/experiments/extended_benchmarks/run_timesfm.py @@ -45,7 +45,6 @@ dataset_names = [ "nn5_weekly", "traffic", "weather", - "dominick", "australian_electricity_demand", "car_parts_without_missing", "cif_2016", From 397693a57232348dfcde0c1b28e19011bbc7de02 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Mon, 3 Jun 2024 18:15:11 +0000 Subject: [PATCH 04/18] adding headers to some files. --- experiments/baselines/__init__.py | 13 +++++++++++++ experiments/baselines/timegpt_pipeline.py | 17 +++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/experiments/baselines/__init__.py b/experiments/baselines/__init__.py index e69de29..2d9f7b3 100644 --- a/experiments/baselines/__init__.py +++ b/experiments/baselines/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. \ No newline at end of file diff --git a/experiments/baselines/timegpt_pipeline.py b/experiments/baselines/timegpt_pipeline.py index c4ab40e..c5a38f5 100644 --- a/experiments/baselines/timegpt_pipeline.py +++ b/experiments/baselines/timegpt_pipeline.py @@ -1,3 +1,17 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import List, Optional, Tuple import os import pandas as pd @@ -226,6 +240,9 @@ def run_timegpt( df=padded_train_df, h=horizon, level=level, freq=freq, chunk_size=chunk_size ) total_time = time() - init_time + # In case levels are not returned we replace the levels with the mean predictions. + # Note that this does not affect the results table as we only compare on point + # forecastign metrics. for lvl in level: if f"{model.alias}-lo-{lvl}" not in fcsts_df.columns: fcsts_df[f"{model.alias}-lo-{lvl}"] = fcsts_df[model.alias] From e5dd14a80b67dd182df51b1ce9099f17116b53c1 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Mon, 3 Jun 2024 18:21:25 +0000 Subject: [PATCH 05/18] updating main readme with updated benchmarks --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41d3f82..c80b742 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ timesfm-1.0-200m is the first open model checkpoint: ## Benchmarks -Please refer to our result tables on the [extended benchmarks](./experiments/extended_benchmarks/tfm_results.png) and the [long horizon benchmarks](./experiments/long_horizon_benchmarks/tfm_long_horizon.png). +Please refer to our result tables on the [extended benchmarks](https://github.com/google-research/timesfm/tree/master/experiments/extended_benchmarks) and the [long horizon benchmarks](https://github.com/google-research/timesfm/tree/master/experiments/long_horizon_benchmarks). Please look into the README files in the respective benchmark directories within `experiments/` for instructions for running TimesFM on the respective benchmarks. From 1b267eb70cd8dcb1f3d7c924a9b7cb19779deb04 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Mon, 3 Jun 2024 22:32:22 +0000 Subject: [PATCH 06/18] minor changes to environment files --- experiments/environment.yml | 2 +- experiments/environment_cpu.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/experiments/environment.yml b/experiments/environment.yml index 9e731a4..ea7e746 100644 --- a/experiments/environment.yml +++ b/experiments/environment.yml @@ -20,7 +20,7 @@ dependencies: - git+https://github.com/amazon-science/chronos-forecasting.git - praxis - paxml - - jax[cuda12] + - jax[cuda12]==0.4.26 - einshape - python-dotenv - nixtla>=0.5.1 diff --git a/experiments/environment_cpu.yml b/experiments/environment_cpu.yml index 7cc3912..7d5a0f6 100644 --- a/experiments/environment_cpu.yml +++ b/experiments/environment_cpu.yml @@ -20,7 +20,7 @@ dependencies: - git+https://github.com/amazon-science/chronos-forecasting.git - praxis - paxml - - jax[cpu] + - jax[cpu]==0.4.26 - einshape - python-dotenv - nixtla>=0.5.1 From 9f84be45d43c46c309b157d06b0a65802bafa231 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Tue, 4 Jun 2024 22:20:40 +0000 Subject: [PATCH 07/18] updating benchmark table --- .../extended_benchmarks/tfm_extended_new.png | Bin 249528 -> 307992 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/experiments/extended_benchmarks/tfm_extended_new.png b/experiments/extended_benchmarks/tfm_extended_new.png index 12717a827fde1d18d1fd35af0a0db520ca88f1c0..7fd63f99b9b1cb02bdf7c2a0ade2699fda7801c7 100644 GIT binary patch literal 307992 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�GoCwQ_p*>`u!IU(Zdo|a#8^5d^e2CTaT-B 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 |I#ay98bXzcONs;A(ty;_*0GrE0R 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ⅆBY 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 literal 249528 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%0Ag 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 From f45e9fe268de67ec5a0731dda8b1aefe640f6f42 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Wed, 5 Jun 2024 00:09:38 +0000 Subject: [PATCH 08/18] GM row correction --- .../extended_benchmarks/tfm_extended_new.png | Bin 307992 -> 308621 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/experiments/extended_benchmarks/tfm_extended_new.png b/experiments/extended_benchmarks/tfm_extended_new.png index 7fd63f99b9b1cb02bdf7c2a0ade2699fda7801c7..ee1b1a16dd713e9935ae90563f207ab5e510f610 100644 GIT binary patch literal 308621 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≀?}&Qr2cu24G~${_iH6{$vl`zauLkHr?-%79bt%rXItG$KYAo5{KBSm65QJ~&2b-62?%s*MCl3>XT@7_akhU{Na^{>| z=3Y~dRaE#tGr{tQQW$!wX#$nIw#`^TC7v7|^4>c>gn-0phgs;0;DrZo-$>nl+%SJ5 zhMbz|FXnVPwgkZwL#nhThkKf|20K%>xB<oscokXqq6B_(8bjxtYdo6a`a`@J+zPmfAtZ6CR}^hhK}lBgo=ETCp?xfHdt<9EkvZt~^E z4v+5ih>FKk1`B!dV1EXaV2?C}{s+IFVd$n7zKncRsTA-WhZ*w7nUx62+#)*kE=ivOjq!O!sYEC6AM|B^_@SgjgaaGN_c*ud-)C3sysni0Ss+wv?0{+ zO;DGiP_q+r!^1qQQiMF%S-`y;uA=*7;8ivisjeQ{fG-ohPCe*%sDaj9gpGGHPJi;j zP3?EyZpnu~qzTgb*;qfIo!+13WV_y|I_}`%ENh}Are4bZt(ZBo;t1C}+Fs?+qv`f( zne0)7^{C!%)WX$UWmAztqA?>jBe?N}i^mJFnePz6m8z&H035$(qaWvQ9vV|1< zkz`;8%$Yf0&1#t|y{O%j_^T{5aUfCF1K#9=izoK|-X3Osv|!c; zbilH4&VFAYg!iptcavtaEIg2jP{*|MJ!^s=WoPycb7#B9>mqXaJ95WiyX1W)`_(dI zY>m0M5b>B{Fe+z4M`JYNfl5XMJq!K50cJvzx{Oj>%HxQ622N@+gA;eBZ34RuaVIkj zwK*14^BeE76<<7iQmHVM=Z1swC&X`Sh`B_l(4GU*%P7Nk*s;2Md6Byswhd7!Z zMuEnV?i2Er{Jn}}sN{{fBV0>++dqcY`AZg5GTi5P4JSzCI+iHPo>C1`o$&CR_Xi7q z$NyQ0T&c(%tuntjXoMIm=*oHQHI!I*n_cF&P%?R&V$qVKD^T^6oD<%t9KsmS{y0jr z)OQIyhsV>7G1V77_#{@AoLpP4(3ZM?YadOyax!*^(RKyCpf|fjt?X^hLkmZnQ6a1B z@q*tPAPCDe)g`@olhJ5`sF=N|(NiB++|3$|gBMTa>lugc#As;0nSO1OrpU?VUFxGq zj`j>E;P@X5uzJk!|lKHi@DT%{{p2FODmo{?80MxjsKCO+tYsIr#ofQ zoc)zV`DIl@(;>a!Ye+hXU%<*FRo#_SKKp=~EK}`)Sz>8N8#Ur!Z8@S@bW4AW^znhR z5@(B%SdhQHpp=}=cX&S({~`H3^*jmDbWQ;48^r3^JCFECWUmg-givCKc%)u1i ztSi}!cB2t~zfaLLP%~1=RN*g7M0iAODm-T0DtFaK+Frrotz_9cT~}GNcMYs4ima;HspR$hqYU?wr9N%gJ>ojt&axaeIc>_ZCJE4oJCY53r- zrrJJMwj*s?S=JE?_OZw_UeKR32(Q118;C6DWw}X+r`vQlOghxJje)+%c=7X^unZ;M zd06MtXF^pGxNAv{#s$RqMgkqF-HZv|lf$M5RC(0&ku3&8`Yt z;IWbfV&x53YuGA^g+}GdK$diH3WjoOs#q9=dB-4#0ZyK>4>M2K8$m5OFSIxh@iGKz zh^_u*UW#Oe^0BlvDT-EjJpOZ%gzJT((KPsoI2(<`f+fWe*1B`1*Bv*+wg!67tEpDd zKa4lYz1ymQK=-39jW`TMbu_m~H<7EUq zp;o<1npZD0Y9<<Et5RmuC0COT@8z|&QT~F$~GcuxhKb6VGUp)+BTi8F_$>SkIk9n^#apP!~;@K^LL5j%q6M(*6-*CLV0IO z9`q!<#IJs>zr=ic!_ZLyp8pbD{ZP{ujF73=ZHG=PNEFawk>ZP_cL@KK~N>NbwMUFbd3@V&PVgxb3bAuq|u9P0RTqkgXQxFU7F-M}tap-fGA z@hM~foQD|OlyJ;6<`%?DF`Nvp} zn1-7<>uL?%j*Dr_%2LW@~$q)^a%y8fA zPisnulgwt1(a@4#a>ek6{Gay3fh!$qO97Fp8J!0=^k|wH8X02^LiCSa1=ssSUC(WYPwo^E|n$sRyOv5bTFkaGL`Pp_kG8PR& zW2D(-ap&3p+<{A9u?UJ+By|)HLQ-Uo#j1o`nj>4mwLFR0MhvuwI~J@aA9+TzBIpS; z2yG9{+~+ml{0e_ZK1ol1BaY%UwCcm(-l9`h8~^K|+=Oj5#$qk{IWuS9Z9;6jXj#i} zlQ^o$4`QYWPYqwlS8dL};-Cst`wk3Ze{guTr4;ow;Tz+S8K#(Y&z_%J>FQjB8xPs9 z$m+<$ITSb6`NgKJhWBbp9D6(3RT-IiZ2J>m#2h;AdcUji{>bYHrR?+Rr`Dx|ixwJL zojQ3dDUwje2QH`-bflCLv%Ks5s@s}bos6tdCUxm%-n&6zPw_H>51GTCcen;M%YT2W zY&JhEJj;^Fe^=eqb_R@j#H&e!3yaXR`h@(Z{>k5_mS-{(?yoeu|F{^T7#N68bz0N( z-q7=zMtG%4U$r^uN5l3`4isL5Jk%!>?%~2LN8JO+@x*W^jrQQmF@Bel2=P}2vbrUM zm)ha*nh45`^#gFE&K_hgeD-ubBRn8fJn~`w(~{MAFg~c6C3}`0zNoi1hDz~U4AmOF zg-AgAFA;E*#ESPl_Etu;yn-uj@VSL{Y$-A0#LY%B#n;6*yjJemeLAhivdn;tzzP)K zZ#;dHbH9Ea*L$0WSuMJ8l;4y;-}3^H7qd=k|(w z*!dw5+1h*WLp1do*lSHiUG8H+3!f7r0zrey zr6$Of1?@)76nN9e!Z6TI91Ed9CP>`^hU7N*mP98;gs8UcN?18B9)=R8KD?G^V9lT` zLVxp}lfo@Rj{ruO7s}HAl-pR8XptVo^F}j^e%PikoicI$UbF?Wi|g}KG5!o zI_Zh#GANGohm9}*GpMy^i#0<)k;vo5>k1*QBjxd<{*bCq->ULn@}OQepQ8A_EBsb< zr+>&gsz7=S9L3Z21xpMrp`Z({x1&tXNF#NavKQwu0MR8fxeRFO;SYbmv?!n-UHMaF z$P5m&_}`LZ_L4-Px;IU}4^n=~_^KV1-`yUo+_|kt)O()vqr$30mb~K)(`?~L^FxBq zGrl(FXW%a@Lic{$*0RJj><-Gyi!$D>*5vs9=-ci%o!!zDSnXN;@Klg69~MiWQrKfw zJRT)`mFaZIimG2%PX}{Eyv@&|Up+sgHS?D<_m0osvwed5b{wx;ZR7SX4f>?IPDY*y z?fGR~##iH|Z)R!K#&%WJft{$|A2_ybRl56{X|YM-b??Yo?GxN}+ua+$)}Kype2iOi z??VY;olV)8(zT-kw3}wFYFo4OfYAD;SIKVXQfz0A-o3cj-efsdX`BLq0efG;IG-lF zGJKHj*$TWl!P(SF(pVl&Di|tpIm!59{MtoH``jTJ3zt@(Jtl-)jxV8)0b2?;d}arf zgnE@;rPEF(bUPG2ohi14zsy81OSCPs1_yLvEPfUrSRzgm4^wE!Xvb2%kl<_FDg~l& zYS!6DniCe*9mTSN*rH{{IvT}{mZ0sd0-K)zr6SFBpGoug*1DJNLvO2)!~~n*uCBQA z4Yd!mkPer>!~_tpMmoZ@t33C7Cw!{ZE$DIw`-KgW!S*C>YL#e5^;_X5~RWpQZoLL4Y{R&1;DarQ?z;P7o zoXWoYRN-$yR%a;T;mfJ-xYrQ=)~vmt}a?$QelhK$QOvW*i0ek()mM@rF&6`ZTgGu;d?(d@A^9;<^+yg&6b{3?cnxHU(s#yS0K~?zc z>(4fv=6^nBnEgy>Zc>?(z9Bt_xHjj^;Kb{ZbD2p>>Z8AzJ9%1aRoK2_+7 z-E_3ZXbY@x$9)sX2&OQP&7-S|JKu~0uT`@O=B6mQGPOrPCy6A~5**ag;JB9wB@8%E z9^pHdZl;xZEa=+n%j30DQ@&d=8Fh-R=h(kfzz#7+2F_q3UL%Ro&qPwSNSn?#i`kW7utrQCY<88-TD;O=5nQ+8qqboR` zGgEgwU^wZ$t{EjcsWVygwP>7JTwA+dUj1#AdvDrk@3|ItJ?WApw?+of;PPC*Uw>qG zSikUx?_YSPcRVac3AUJfi*g+|Rs<>k%xR;ADjoc@78?tqvPHc|o&JUnpEu{!V!4oy z@98!NS&p*rrS+XMEml|IwV{+29Mb-9&6Lah(>34Fr~O&?-0xn&(Zwo+u^4f{?-Nh7 zTXGTWoR-PX5yX|ok=F9dwI)b%R+yq*gD$fm&2q$q+g-P5?6ICJY@uAz(?CdQ zX96&?Jz%lD&bRX+O86MX;^ky{CxF6XtB~R-JciI(4@mK42QGUDt#MNRl`jbSYX2@d@Un`1 zmn76!G^P^^PXq3VL#tLB~pAy3%1Ta4=h9^nLX~J)6tndOI-4h`DXg{8~q4PMJ^l*%*#B zlm7*{)lKMXXawoQJHk~es6`xa+9kW0zg*=;X)J2|1zNQl2SRRd?o2X%xJUL)>CMX; zoZ4!SxTBW_^aY!>IsLaxYl^qVPK9k(?V?>mEqnLBX_lN)nE>%sBA0KtH2J9e$Nh4^$T)G^J!Xe+7^6t)hn;lkm%9r6Q^8-uj-74xR3dyH{1N8Jn>pq=%1uz68-gh zw6pW{3dXF~AykQ$d?{ek7Hm=y)l&2rV4G@jB_A9nGabxG)|d6+ye--FbI)5A6{N>~ z00H20jyN!@&~i0TopcN(3TSetu6uuS8aY#8MJ5327b0N9)nAO}ngNtgZsGBjf!1UI z^>^`$-@B(vG4)E)>Gpk}M;4_DSZ~ZsgAGgm8$pb2C1IK8 z9cRLui2QffDy17l$yoxnSv2c+Zx%d?+cE8034Q%HM+`S|Pbnh3+MIw70Fy1kh)G@C zB-+44M1hEUACPc4!gg)m{>qI^9XYVh`UQX}jh{pfDgFfu20)+QF#LfkkgK5PDo2YY z(3%Y2T_yhaYyMxpYPFKa2n@EY+zc$n2~~tRZ9;#Be@r^CZwI6QdxLZYCT76Ni3dHTWjb%0>=V63>L>iPWO{~8OsE{8kgUqJJ!b8Gou zTCJiSL=&ErA%fzl};Q8ZK0 zEEg03nC#U6$NK=&WW->aLpxcHj<7@ET`aIYA2#-t7h1WR`+H6Cf3cZmMaZcx(hUmKOPT~j?4Sk6)C!TP}3m%0J2y^Hjvyq@w^Gs zN&yAK`mAZsM}5RUt}?&e{xqykgB}AJ5PClu-9W5BW;5nb__D&C8FNOStO_91-l?4u zjdDXJjrzF>N5>IWtF98-klF`JkDE$IhggPQbK0j~gLv6rHw=@TPk~L6_$p@Wn-IT& zjG%ovU~KDe3YbavhhS({#RiE47Ffb|Fkz^>X-PjQ4Y6{UhDE`#Jq{RaO}C}==}eoS z)^%KNfoWUV>a5@2tA)C0hua`2LB-r$;V;gAo)lfs^ND*2z_zJN8*8ec0nBEv*AxPDVs01=-xU!6bsC)katnDAfHaPdO zs*G1#pEp>eFLUwGY7p5eKsA;i9wD|SDiL2*wQ|J0Z>8=FyIqKcvSC`<(Y3_DV4e&H z-@)wYRc0u0z^o_f7G!)Bm30WX__>xteC_-$1$uEZLyl{{kTZI-^~8@cn$`dHWl%b$8tCeJobbH#?#!VtY6uvb+p&q-w%TVs}H@|_eQ|1YF@j7t3h-8 zy?}%Z-0XRYRNSYkZ=Kes&{ivVFg&d0!4@hF3=IX;&nbT3J{iI2i9lscB!edI7M<7c zO4*(#O*p`@oqQ4vxSx@cCZoi*QMWj^amLB#7pW|f-QDoDjrYAaFY1ZkCoVV-KpViF zs2wn)<@>uiGuwylIaTN4`nV%1Pu{k!iJyFaNw zRPJj3?ikXDBPka=_XdZ@73PELtShA@2A@OqD2k7-vN~@_XUX~}hdUeX7aLtYiZih3 zk)yHC+XEP7GCB(&?Ndo}SAX7&`ZfS^)rNX&>ofOpYaP^I$e8mIC`WV6hfa`5zfN#^ z6X@maL|BN#Q>~J$27uWjO1Wf2~3)C8zks!Alr~MBlykOaV*B zSiK-C@~(WBYIC)n*w3>}PpX3tm-dULs?K440Xm4$u9U(3LX~p{kZ`)8ub_Kbi8lFu zFCR&5xdgv_Y`uO0NV&pM$B%g`@4#|VipHLk5$i_dacR4kZytb~&%GA(4rm^XR@SI^ zDk5BX%S;L5#*r8pHBPJY`oq9NN;=@HoIc@(<)7X@Z*XciE^UpZ-5g;WTJ;hRUBdUNJ{ zys9XqC4O&Ec1IdmCW69TzTq1FI_5Aj>m!Wp_h&IgzMghmN1q>_=TOMpO|a#(LyhXkNrU$v>Pnsi9(V%!1B)5KMMFQ*?H#`Z=N z62<>g#OW2dsl=&J!wa*E*zlUWFf2OcX=f(Qj_V4qI`xG~x~2x+m=n3W&x(61>$KzH zB5*Ou+@)+tW($Ieh;zi{R%=?B>@CVZcNS`Y5Ujo!I+AnrJk6MPb<6{oQZZ^l5K*Zt zIQeuMH>iv=;-zp@Zu!K7751k@ZM|plea<%4f+$*rzPbA5qf-9#G)%Bz zIx#!8i)OT`2S^>yGxSbj)VDOYvBuVXRt5_ne37xkp4OGM z#p16nI+3;~7CHp4)@6;^%zGF`OH_szRKj-}WElvi(ip7Hn%c=~fIl-gbkCvS4XE`y znwD%H#y=8yi;Ng`H*UuXuAs_%E9i=G26T;xZcGkI{^dyJNO3*mYpV!pX3M1G>Mp+t z0sEP8Yi_hS`fCXfmzHsVo;`3Lr;kHs*&3sjS+3-ulyBX6>G=&w(N6F8V9sA08rLp1 zg^E(~iHOJ9=QYfMo0nn9vU`xS|KqKK1zGQXb9;{axyeE5q3Rt80_Em92NvifJoUCv4PaA+gNY8$L#)Ti1KS>2@D_RUSt)nr ztzlMLphomw86;E1k#hfwTh@T?_zD}mj2P00si}k&N5WF1$oHhkFE;7*aBVld3LhS= zTIC|5MOaJyQs@6Vn#o(9(?<{Wyo1~xK^EV(?r2kM2Whe6cI1A4)NwO?&#m1o!-{QL z^ploA_bUEDvqm&=L`xq~Ad7NVv|@XDQ_B;01Nh6n2Yqrskj<@tPJUiHZAnhJtOuA) z!cFyKlouiNx%ux6^&Ah*Yw1Q=G-@8G#-v94%HVT&Tltg(CxV|&D96sxV^s>(!H+uV z1dr?1bS61G4eVuy|2P9(2G7W`LOw=Khx(#ZYMGM>FcR$3p)m1;q^`L4rg?c?BGB$V z6);GNpdO4uvW(^$>VdI#7KqdG4SO7Ces(i?j+Ll5J2ZFS;5^Kf-IQnRRq6$HeD#stKWtKOQ@-is90K7F#|p-SB`oCQX;ezw0J zRem3OHqgyDl+g8QbFIIeHVoexmjZ+X}pWh@)5&gM88H#YPIw%Y8GT^_NdPr zeE>)8C*k#ptvt-TnzW>g;8uVc8rz^!jC(U&un;C}6I}aTsl=lrRy>>;I4cx&vUe)$ zoFB<&Z%|hieSON4y@iMFNwG+M7DLCcdtbn$f7$B!>4WGvGsESHFUf;k<<5R+_b(aA z_?=stvC2}9Wag9YSEX|w(W5~nT8yMH6+dl!WW2O{?Nob+#mUT2n|!)PUv-WaYce6h zg4a+Rl`Ej660NZGdlgKuIg!MmOj4~s4rhZwy;1Uet02MdaMn>Y=!Pq$d=brGb?u^) zV&2zZxXZp%-+yIm0sBK-}3%W z_vhs%$KMl`MNd~#T<`0aavy-GJURTEL z7!A3GHK!!QbU@Adp&ns)xcpvJTr8~@`9osB@KqD|BSKIQBtJcN@Owq(20=mfFj#C- ze>t7xjisQ8iC|`+7%X_u6-szq1g0KU9T6;yxTx6Qb;HHT*ANs7XNTQhF?4?r6;47% zld`Yn{z_ME&PZg7URDr1OKfS-3!FU;)Y}@62o&cNb1EME)?GU14rq}AX1B^!wDMep zZA);*sU27@!KjM!U*25Y#<%sUex`3b(<8cUh>C!6?jtV_y0~nQ3uWcL` z3-Kyd(W1$|?dAuT5Xm3#i5kOhN6f@&;*K$4fPSJQ>umB^jgsmdJvOHPkvfdjnel(-Kr2u#h`NzuEt{|Z*xXH+Efg27P-`o5*PRWUPFS?Puut$a9?VE3-ZS)r-6ufWW3jl(D+q^908C6 z{(VEHW#QXL1c9yZI+0M5{$MB`whBaskxUs3AbZ<}Bi z(n892n-RN4mCD@XCdzA|kRr$stxouYv6+;Q1ksOCEstJz)icXySc{%Q$^84zR0c?3 zvef`jbf}0Ss^@I_qtkWAN95h3d1t~0!M}{-{^J4=YOM{t!pm9RE*$u_# znN{Fin8WvF)-Z(b`Bd^|o;>?^Pn>o;7Lm-C9xRzDs_Jc>cv+PCjvy3*E3=5xvBj|X zT$%j+KgZ-i^%UBhIhS1a=+p2CoysF-bc(Q#XLssIap#I9in9&BoWu>2Erwm42kxe&jaePH^kAo-vn62xOwK8p0tq>@~nHq{{D_Nj|+Dq z{lJDtbGe|t0p_W+LL?lN_i#;}b*e}yyjok6tuUb$OZ}T{N0UV1ZOb6ya_HPewqkxv z0y2+vn^%?UxKBC2LjFKU_$B-eNVIS_i4quBYri{VS{>UN`7+6&<;tCCu`zh!*MNfw z?u9PPedYPTcp*2?@p}$31l4t&D-KB$DKTD#01F~%bBd#TI|OC~%ET7b>V|=PWqRi( zg}&OaV^D2s+FS^z!PK$TlbUbW?@dg#-KbcbQ0rb42jx{;qo6%>Ar@Bo_V1{eFNhN& zX~+~-)!s~RCC9=a>gl2NOM!B~PRDN?CQ7?^E&BW5sF$z=Yc)7A!Z_IS-g#k2yGAy| zc#S1A6O!&+U>_WIk5ukeve7H3KYnn3#gwV_?KBFm{xUbTC|WWhcNZwgU}JfuRS6k1 z)qB@7^w{I>f^~ZA=+Wedu;_e#7SE<2>7NE~G9LVF02O%ks2JfY%3fFVEQ{SV6Ddqb z^2gu+@+ONd*;2{$gdH|hN6~raK62RvD+k~3h52%N)S$Q}6JzGDbILD#_@;%nuB^6} zX!mo8w@(Nwc%}qrBSjLtRd$%wz!N}NVB?{O3t2CsKQt>~&ZHV=J7gbzjEwgwm#B}y zoOhpjHo=T<4B`n1rcDehmpt4{eeQ?YmY(LNn7*93F5lQr-!5TFtD&H$-Q5k9LeT|5 zaxisW2i*2z9@qN_i{E>t_3Dn-K$)9i=(R0iPto*D3Yl+Vi15xcC_*N$wzRnt;$zE# zD}P5WbMW$(Q4nX$fZXavQN})8)eEBYcd*ZZT;B7wq#bitBrVNwhG^Ig`ONm1iipBn z9xXP3-+nuR=!Pd);2&NY;WSf{cq9Vb`Q9ic> zs5RAQ{|OqB$S>`8#5k{(6sU8-g{SSPzPTSJ&q)4fEz7T&H>OU~asg5b>}w`qs@dU8 z#wiMV_wBXa3>dpDIXmrAr@P$yF4}nMgw-t>a6%be0U5Uo{P>V0SyBIyjIJY% zcMS4pFTIbf9^oO0WaY&opz9Tgp22eZ?sh$Mx{pc>O4CVrLwnNoW`Ln_38u7|DVvCa zBj@9PeKKooTB>CB#aX&RK7gbOp>E!XB0z7 zFtO%W)o@y=0MqZED6#mySBon=pB8b<%&YpGhH|UfUhavng`k?N|F2713r>WtAwhhC zx>8-UWp~yI0paA^C59oR~Fjcjxem&PAUXu<*ev zMB;amDl4C@J@<_OEZR#Emn9w}g_F5FLHlhAceXcN7;`Az6w*zf+IUz=8?p~Vr^)PT z;GNFPjZ|}0cm8qdb&Y)7_{2kxGHvsMb_tv42N$Gce3L)_uCfaOpOglm--tjXeWIyb zuPt08&KC)WpV|C^f8*W6v5katHzt*5mCFpP*l8R8sS>&CZC_1aHT{VGW7af+|MK`Z z*sOdn;hwy70;Te;J>Bl5p_@Rs*#t?J5_A+8bg1))@YR3X%`~ADE+o;^EtMV(E!T(y z)=2?uyWZd(`3?JhJHh=7aHcs=udh4t)rzte$_FoK(Kb5H_M7N=euMk=;ev3>Tz%LL zbn^Ne`lL8T>d{eJL{+_qi|1CQlfAO={%H59uSc3P5~v9PH7ROySt@RLO_8-cQ?`@ zpmc{I-OfJVJ8NC%&di!M|B2$!bNIgf?ft&b`}{5l2pWMhh+uOne)fFxfytQThV;nyd*cy6H}6kANypqF+%zxUyd>j>3?H;tdC zbF;>N@{;>1xp7B3CWAmb=rstuO~9x24|;_g(7oqZDbga8;4C=*Yo!Y2HGzp7p`aDg za@cX-QWz(QW>}A%PLS6?D}-F{k^V*wa^TyVW@di}RE7x3nE(jRB`IouIL&w@q3&1^ z=^z=2&ogNpk3UjqT*2o2&JOXmpyI|XUyLqOKp08jfI}AMSVcptt0BZqliXN#d z(^-nQmbd&>|FIFd1ew*vL{YukI0dwV!Wy0`siS|YBavi$BsMC#HWZtT4f-CAbj>AH zb7&+|;XWLymoBdMv;AI@rw=EqnFt1C!n}-6MKw4%n325coimmJ{d(J3(o$y~8uuOwO1iB8!6ewz?tC_^WM&tQ}g zdni2Xn(grJhXx(hWBl3u%#fvLv4O2gw0>!l0eNohy^5APY8nOWgSH$G2wojnlJItn zGIqRX=xAbu>$WlsQ=3T9EXtO}Ywa-^(IU$Sce9l|+cj+HDZ@C8NXC}x!>-&U8 z-wPI(fcQBjq&F{#k816EjLzZ|usIekF8QDcW^X09ew%(vKbHn2Ig$&O3oJ?rkTvNR7P(oCv+Kr`yR>Q;*m0dUdyq-5 z1x1|)ch7B%GuvY`CW>9iHe{|sDbz}(LJYHnC%kDn&1Ac_)DJFY+}oMRqZ6dx&pzNg zoEe-1ZQZF6QdAOu8zEVdjqCDf`cvnVgD$wIcJWYQA}db1u~(eDenQ7|U32N?8!w8U z2;G$B7gBEb9*XpsSG3UTMcAneC&ID(v)-lpftrvd?ALT`UOH$U%srewDC!5FQC6c~ z$_s^7D`MZ`iiBzm7_%#6*vF-F z@~jRlqw#;C&Df`++RyQhX<#UG?AN_N5K~m;8}Sd)w(mFT=c`7{r4?7ZIsZC+CUeg1 zl;WY~7S*a}L@O$!&=) zJHEdm0r(R~_I5!E0Tti7fQIb%(A3dvBRIp4c12{e43!P}=wcBbXhU5>e20c^W%G`>8Dn0ig-Arib= zNElf_AoGZ}Z0M8&T_ew=Y($f(Nd$F=R30cfJ&S#_HW!p&D(@P8zDtPK1x;9yZ1trr zpe8lFPN8^~Y(OvXKK4-&%XYgPHSf;@*nR8EpuG)jC-ENIlBP@1$vlYhWCv(fJ9*NFUtl|ZFa$w z&ax&SvayZU`Fgn_h6Zm9O^qpyOCMK52*;gI9DjGkCYkd(ZAvRF9=viO$m(NDsbU}1 z`>jPhVrih+J%PtAgSjIpr=MfT`Dp%!DY{}6?QQbez}bkcb-Wh`3(7g8;KS{bt9sJ@ ziG|X@t=`{^5yc0gANZ=Hk)%Zoltnu6KAu)X$W2K6O=W8DeU4RCyF!?aDTDiE(#&R> z0Jl?GU??<%PPt&Yn|8wBr9Nwy8qw&q#!M2Cic z*r+oOep32Jb|lM%?xnVN%|VV<{u}LMW0y!@Y8Xt=$@X<8T*8 ze2r21Cl&ZY0@Q6svnEXplXOyiPWm_6c)>-n(WPfbtcBLQ9&wee&JZ^sV`JITr>FG@GGn4cVfXb;4OF>tSd z3u-sK@*NG&mx&%%@0DB6t*7(7cG)(`sF6+jr1*K~I@K>nhMQY9wlZsmC)iC*%V+1z zuI+givIL@iNFTL3l9?iI0v+MjmrxEOxd1Wy9Zs|WQjL$pbUu?%@6ZE?@BetAe8BY!xbMKM}%sr{F8#2Hk-nGDTJ`;*%vzbf!LU3z?u@eI_?npt*$Tj z{fWf5!w&^g2W}i2mJTVQsLw24daHr$L2BNof^t?&?j!@q*`OgSQun`-?MA2sd>~*D z_3`e5W|1GOT8gk_POQ8ba3LFyRl&Kd{#kj$Ue?V|Zl=^VsPlJr=5S)&;PLs7~6YMm6$?yzE!wBMX53O!;8*>$HZ1 zA8nxLMO0@lb+;#+rTL59k~dIz6m-Z#2Xp@@rSpxMq6IRq%aHWATJ-@e{e!Zxjl8$H z2b)gx#!QX3#NgaxyU$H*`8_t*^-{=s3u0hx`oI$I=x)q{0q1CS#z0vpYsjNS*A0iYFxr7dxYqzeoqD59 zx;NU?tw70wBDJqEjf-(T?A3n|By~GJo_F(su1Kofzb&TH1B66vsNIDJ6APQu{7R=FxZM#12s@ArDUs!{7RH^BS6K7t(+P&OY)BpS- z;#-4oe5YROe#wJ54>-O<{M!cf5c_B;XlP4oBM(Zn;E^mM4r8i3#5gAX2qKz2%Py0% z4qeLmmz?_<;q!R$dYQS())u2I?H^1}loN%`7>IL>|7HEI2z)KCj?J&jsBAC|6xYzD z^1e(pwfy_4|8HM$q(TtPq2sRW&woL~fB(V%>sP+C;)p0^OfB~R{t5kG|KfjP|46<8 zv~SG9wi#0N7o_`}Aqx!LY@XKu@oGH;((phK!76YAXbHJaL_!*%=Qu3GCix$4J$hOHif?UkB-Vp&rLL>la+!imf`*cq92aKNP=`F7hYa>t1P*y|mrzJp%7OcvN>#n8*;b&#r%68z=$*7CfCfC+}x zPzu*{QC2MzaBOoT3jn_zKP!6cJs0m>(43J`+q(`p zxH>?IPkpzLuC)%lOVm{>#lyl`rywEX)5jOnz){H11g=vDHN?;lhpsJ28AC5OiK68f-4Ug z*NPaTs({caQM%Fvx6i;VB|;yerBa4*R!KOEMx?u`4d%A`K>bsYRRaan%0> z3p*1}`LCQ36ob{#J?1P6DP!<&X7s&plk5YC{u_%o9(c)$>2!u1I0&kX`HmOo;Ad0b zM;Bhy{$@&dix&YlUI5ng>kX1IT>w&SMeHU*)CkyetYvU!A7K4D%o~?h5sjL5h8sZw zNM|m}>z3PnyWl`#J-*S8k;QY=f%6DfZ@>Qsuk+sbw%1_t0tw|17#tafz!jGm3Lc}Y z98((V4=&~bE%MAxQy>nr{SeqDQ*4P*4Ms6<5DC@yS*uk4reOo3jkE@6 zALUJ7kDbTcY+f`P+Msg^+X3CFA(#ky*h}r*6tz3qZh45Q5t-s@SG1BxqE4)9&ADF2 z14?k~;YOVa&MjF@ZYORe9SaCGWvlBN1cA*x;R*NRwW$YN!^aDtW)=AXC{-=qxuk$X zxP2SHUo{#mx-^#c2ImIR(J2_H2ZI&`Th&y;nE!EKlwK!+_h$d!9Gg}a#@iRaS33bb z`Stgo-UU~m!54(yjbd?V{c-g)Vz98Vwe(neF?!i6Q9lzjv^70Z7-k29>oOg)b{sxE zh8&%IlsB5>J&2?j9#5_tVMP^{k)g7}#-~ot;?>f3XjP}q z*AxBNkY?>c9sHZXmj*xh@oULuTY!)K4XH*vd6Gexi{s!?mkOSRj>^Z^??TT$9@bVp zSZkp(9~9IU>A3~^EleOE$v$FrXgI*7Kr!W?EEX<{N*8fE*#d&jr)VeGCuLitaAQWe zM$ii58Sk_MK zsBEZPszTtWI}KTMpXL;LYfMht9?kas{lRW8W=y5kM=aThr}pb z+1v4|9w0FatF+<^6yHdFiwjCCz zZ>ekmVp^-T#cS+GjEIDf1Iq#rDVLez+_XuMOzM|kym5L<0*?W8)(Zwb;t|Wq_G#6d zD@iqeOC8Nygp@Rt?~(yl`6QMZuOCQhK06JN>}f>!NRB9Ug-Twt9kM~MH0_C26=1eM z_-;cdTBhSA$3_)Oc48G@OU&m{crm5hi_^)M!gX;kpI>2mK~uU6g&=v_C|Sr3L&=QF zwSi@C&Tel`3Pm*aP661d&`RteI&si_^&4QN`j^Iy?I6f(e0)T=!46F7OqrW0l&<8N zyo;Ltsl@v;L2uxkHi%EicJo^9{!RsDNm?X@43+Edu?A@yC3KceFk!H)! zT=veukf(j}bV*wzQ!gxxHKW zB1rVN&6V^Fbw8;~MdggF>-y7o_#d@_Ig&7<&3PV3jO;@!LHq_gFONl@9wH)ba9=g_ zObkNW3Xl7}hDT*(?Vr~f--)U>4=**fA2tmh zZpH*N{qnz>1mfoKCqq|`>M25>6{97oWy533BU5{pwk9btBhYec+2YL5%2u@`Q(&mC zTW3m*AwxgHo_;MFcz{!+9k&kGkh9sYVzTE6zOQg@$v{ z*_)!@IInbyazM85EgA>+@$JW0$v)Yl`D7EuTsFc4q4^=H38A{UY zmPrwW2pDl$qEJ2B899&lOp5iuSsdXVR!OQFe^tFI=#|h=C5OJj5{=XLjBm$q)Hf@Z zVG5rj@nZHu<_``hk5RxnS~fs%`V%#(iGRSZW2%AtRzy1nBY2aueiMM`3idmZ z{VlP3$&{PFZ&mP$cCH8P#d(GtS>RS-!^S5$LP?}6r8tXTexeg@Mt-R9Y={R_vK@$9 zPx>@Zr!6wv)$Fjb>h^&pESB`*R*>?oX4Wg2;g8Ii4G{kS+W0Er24<2NK_ z+633mtBqN5I0P%qP^OH-i)fKmdj zp(1w|ofS!C)YC!35IU}qkC{Qxyp@p5yK5x zJRmMAQqmOD$Y5+&OGi9Gnsvsp?H#JYH@FZd=ddVjo>9q6`+i?ip{&Yv-~*8uZwOaDL$$TGa`f_q9Yz#TU%04ogy`)C_(p zZ26~=b{-PpJ15{iYKeWvGQ7E6qSb2IBn*>C($bNlIN_c>nveT>D8h36xMvUvw-bhT z(^bzLf?62Vu_>N3Q*$jpnTCYB#%+(uZF67qGWJ}1n7HN9PZ9;fY;uCt;uf?;pY8g+ zFIvT<0|V^N3$+A@dx>#vZz!{9*(uaa9-+}CHp$gmhwo(6A0M*iTMAW_65VD)U;>`| z6pllNat*9;r>q258{lNfR9@Ar{((kyYI7>~7-SEDnW_&lA-Kq{K^4vjv-Eohn)@pz zgk3o-ilDXJph)H%N*5Q(;TCpgW1^tgJNR<$`Qo$;(q+7lw-+1xrd4TO*d*D;RS5I=;1ykt*)W&5t-+3{806`tg1njgQxqi^4CT zyM*<A~lRKP6*+5G~dS}yP?(np@f{T_}iexwv7)PToer55-m0B$9~JP~cc zq;~JUk}F~Q`vm+)g4sSjZJ38&YTM4-r^3Dbxh^Qu-)o)2m6-1<|WZ!Q9;nZ zsYyTg-@r5>t^6Kx3#RW*AFDR?O!co-^irvt;TjJi+LAqvgAov9Xi31EhxjcpgD&uR zPN(8%AnV7u^QlNbG75equvnstra>XAg~4AyYL+a9+s>;1RQWTXf~mc<5>J_NK7u1b zTLlE0G2yZxz4m<#zLFH~J{3iB4o1(&=SoaLaN5^d0@cs&FF2GF_*P9LO<;|>uBfn8 zkBDrAH_I9kN23(yD;*pQVoyuU{cLwVps8bju4qP;ud}@qEbI-zQSUyGE`K`u(0Vmh zR<*}?%FY!%r3$S)=|mvbJ?EdJrPc)UUoxZ?kTo+r$&SiXj3^I%-zPHtYF?M4 z0;SV6$*$(OTeW66i4=^a1fUN++#zm_B*Gg|OmJz3>$i z6?2w@65mT>(FsJ^VUwhAkigQCNKyF+ass43OK)Q3jhyl^iy?~KNnCFyi?|~lnI#7sg4NTHIEL`*l{-$% z*r$w#B{md4VI1{x)rn1xZvB`hlzmzF5_;*F3skR^G7vaKO&A$Yo0P$k5{}9g2h{(hPKT>c*QCX917RN9hHO~`uQXa~JvLW`S$_O8=T>ybJ2OX^w+D{4H> zeL`t9=9IY*)&_(qrI7PgIms{2Qz>(H`=y&6Kc#&tkhFg4m?42A^8exSh?w%#0rtUbQpDfFWF8|Wv zMtM@P{WO^-c#~cd4GV{u1V8jwJB;a3Qmic6KK}YofCRA0^9a5-EU(ubZHY_oN=i4*I4RM_5@d7>pNX-S$fhmWj|_Q9z^$+LA@ zS8zU3^$c(D)&Q;7-iHo_mXr<#>3SC_nIRr($aPPZnc!#NHUZiYlI5^YP&g%dLDFy% z1DhHh*D+46P!30~C*+qCSl7o=E+cqdC4Y+7pcSq!UxDJ>;6u-OS~MK>67{Fk>C%Wm z2(38VZ+N{&E&(TjEKjhx^5O46mkT|KkKQdzZI%~*M7rvxCBsKlU>|iAJ66&D%=o6G zKIAGdYIj=1DH0AbhdE*o>FStu#9!%o@hy`%ni(ck9 zI9J7&k!l9I>tl_>9BosW;FHRiq`lfOKhjma!RODbqeXuTPyAB-7@g~N!I)g?qfP=* zV{KRz^%glR?ew(L+H96ts4uQDALP7D>UFPcHK3kPMcwu;4zuZ+#Y_LXV$QK5SeeWFuTfdVWeGoJ384c z2_*$T1;q^sab?$^BgCoKS9z3Nk-L6Fdb|JH7=zWLP5K zJC{;OI-B1n0(%_Y@0vkFfi%`>14{qZ;e+v%R{DFS^U_Eu>74NlRAZ+GX>IK=1r}aR z?XL5^%e{(SFQCf#mCWp3^@-^}p1uV&G`igEm z_X^@jnF2UX(M`Sk$#^4*v#nl%0dic@CXwM*TNZW4v-{GhS`5eQM0xfPu(*UR!aA+^*h0_oceF}zA4_@Ick zc5_X4kza1_mA$)nxKSm5!E|3VNNI`tnmF}i5rk+_5#)Sic;=wB9BfSd@Xg-pP#7E& z?p|&e<*C3@fflSxDcLsns^;g?jsG(J?#&>}vk-os++TfG%AQHelSCBss!wvQd7fNL zYncsxCh>Ki!{D;APwlP;5rO%-7LLrY)M=4Z1lMQLDq5tCm=KRp%YCS=fzv3VEu@p_ z65e4%gY)6HkVh*O3g1N+#G-DXhcC%tA9pM%w5onNh`ffdQ;|QtOzkDi{l2+)ABEUy z+aEIMXw^t*r_A#E$j*)bj6!<;g;%`P5$D0$`2>j%TT2^-ovUOxpRw}JA*D9VE9iZ^ zfOUAgz=p1cv7}zeN95{I=GS)T;gJqQ_D;Z552`krUKGNy5Zvc$cvJ*tcoVcl*Sn>iY~a0mn)Qe z;KlY{^k{|QH^(SFWN8?l*ri2^_V+@n_buvD)uZ33s}iKN@>nHajI3pDo|YieDntd z%}=NNsQAztC}+ka9LuMw*JU`8VyGw*;7cj?5S}j=l4(5RBjeT-VO+^e>RPXMViHJs zXzbA!RJ*ya{g5DxQtk^SX9>;w3hFy0m-v_4j#kj z7{tgIBUG3qJF$Z@V{&&-7vNFF;$(ez08 ztswazh$KGcyML^2${*Cr+l1ErLw!jK|Y9Rzr zM(nG?BU8ma_CW`6Zq$K&SZd1+9s58w_KVgoI!JcWM&MMkvE4EN>vIt6kuY2@vDEu? z>Q(L9bC3mfniC=&>F5v49AKZD*ncUxLPM9mJz;OnG>)qLRI2M4iS}T~9ciZXk2;6q z!Ai^q)0vCOS|tY?&qWQuWP!yt z>X?5=^onS&SE+i5KZ#QiRW(~;f0WbUp~tNZk|$Zh7rUMpS4(iy(W76#8nOg6_&)|U zMR7g7BFekl(rIeJ=^nO88$jOQa^gR)f|k>(weUsSqn-V5RA~yp4;7C60R|pJNiI&b z0_sn`bt~vhD1*@_A@<6e6D=IFQ094j2L~4AY7VonvQ!s>+qkZ<`)^lwvPqBcI540?vZBURdr6 zacn(;O2iU%1;;kn@gEPriPODjfTQWq$x8|)o$?WImRq@|E_vHPX&{#PS2!)YDR0vI z6xDtbvwN|sqp=8W2yPYuZQ$5P)frGze?u3Ald9hlUa%=8JAI7*8LADOCDnKI??l}) z-2x;HrmH}+RyF$efB;Rh;%nWgFpa~;xN#32^Zanva~253S4ldtZP&Z5Sh3xYZo}hZ z7?htjSKf!BC58AhE8z#jC{?<)*_DpLn`*05$>8jffZybu*-Z0DUdDuob3hp2ndUcz z`=S0>R0{8*LIpp?VE5(Af@|^Cv+gVk|8^-*G{#TJ$HZ^h0V(Tgva3M&N2e8EO>D57 zhb7EY=xedJ1B+r;3P*EmK;8_G)uMu1$A@(62IO1IS8Qvs$MFHz)iYF-ZqXXeAwpQy?^`RXiKDC9UP>g%Kn8aJJwHW_^F(a*T{@AWoN6 zADsBHG0<<69Ac=4h~G2C>Jshc+~(6v_KTpzZPKd9woWLxY&?VdiwM{`{+Bq`Q-T)(r1RnO_ zf!BGXTk}vvc;$r`21N8S>RkwrzeA+(!%aHqj*qj6ljt2H?BUpur10w{qlGstUTNZs zO^+@`L}aQ5)H%{lMC|WPc0Ye9)#~f#eVlvfw^aMXMa6gDDtr%6{VBt`m$Pqb&&i8f zmEV(4gK(#;Zb4K*p4I3`T|p*!#yNtpd6vW}Xw;L0-sbP)2QPZ7dTk5!>{)Uj+Itn+ zNlE8Y=A3YtD-D~s1{WU$Tg9{&Ii`s98r}yilg*P4oGtQ%z;sdy&hOmP*~KG6tKkC| z%v4COX?IAyBrZ%X7!fwonv2ovyQi#I=q_$1d=cCcx{5`9aCm@WAd76PLZeAI8Tv8o9;-A zqubz&*m6b)XhKz|&)27Bz$DgKE?2^O0zM-esbv-i6Mzx-rSnXYxT{#FsvuB96IDj$ ze)ujno2;5EMgKrS!i}JV5Fh=;j9X-M?ifjmG%EB_wXgLM%^tL=jC6A(#TW3X^6`&U*V_upeK;`2hy%N6G-*! zt%g?)(dU(>>_MN9TsXs;MYpL}gA$sB$|Qq}u7zG$oGkAEK?ui>7cj#^ELW8~=bjT~ z4=5|{q%nrneqK?FmQkE3y=C<59nn_UPL^YYyHWX+SDe@P&wnsSy|S&}jG}8N<%evt zmB{p{xVZFG$}y&V`h)u%lcD?sMn4?tZ(p0!97yuxJ%!XmBbLa|TkavpCg+yB_}Wq* zhX*p_w=~5f)+1e)te<9Is;O}r=_z?Syg+vhBzb!Nwks{ZROMQ zsm*TQyN;@E57m?&43?BB|Ikb)NGLN+@n7!1by{h@R+rWmT9356t)H=Po^~odwTd#u zL^Q#D?r2IRm{+svBz~~Vep+oiYG0vOE1oF%W0F~kg|emIE!Jq-zs}D;&3Jy;v=0@% z_F2pTMg42SI40es{wPoE!+5j~LS3n!K-+j|o zkt;K#p+h(^pC56ZvAp&F@R}ZjaC@NSBCg&2XxW_!Z2McBHdTIMo`|&tE(piC{44Sk zC8ix!h?07P)+iG8FFJ^d_PTctiDhKxUmqX=CQh{F7a=vGySV>~2;vB$3{}+u4W}_|P0~nZ&!>kOEM)wjUg=*16Y*680kS^!7lGaGEFclOkBmDp|H#@a_MbP~Mnh}B z6)yNuAl(%_F8P4;V<&BVcVs0GRb3TR=_S*ZBmb zY_4S@D4$N?X-#$?CJ+b~^}c%15)JHiHS2~TFGENv&jvB7)e11OWdP?`z2<0|J020C zw#WndLRTOIhU*}qu-aF&@l<2;rRzRh%dbvc5gbI`a{Ah}Lqq5v+^~hIng4n^i@s+69Z}XWo4|mUYEUD)c;T#{kAHJ?6c6_^Ve_uQYGfvnD4H z$`MFdox+i$KHR=y@z`@H03eI2dx_O%|gysdP*}v!@!ct>c@}&kF zC<7%}@6iuGO|z-d)&c>#od7GvFGznU?}?P$Ugo)PWeEI+IN;>!o=rs!go`K3fBhqF zRShDCZKxB1Eyq|Wh}>!l2Oce>P==24mhvmAsO_^Sem7z)zTJNO<5lbzE=J%|)tS!y?Lc}m7F(}`wYJtoyl*M5LCF%t{ zM)@k?e$QKY7J!FyX2PQ-KDrHTadVocKeQZYh&F0D&zjyRI&;7}37x!eL(z24 zradFj5JY3$dXnzAqf>9s3Cf}xTIw`#Pk%1`>7Y*7jqu{lwJ@ex!*x7jU(L2bfd1V5F_c$-%xL8Q}Ih=|6U> z^2YLH5QM3i=@=pv`AJ%Xn$1#6LxGKNjr4r(e*5`ojZyK$jLw}PRsZlM4>j_I_gZ__ z%^H&-!o!5{Mvq*yP8MGk7kis1%q`~xQ<0th{Ggxs$NRi-F>zr+1wCPrYH|W_ zpJYpKUcGkc{;R*E%z2=2Vgr)XV^^Zn<1z$Kz@=p69sbLFLWy_E4&>cN!3RABBryq3 z9r`Y|-Xa`8!cP5pFZ-!I?uWC$Wl4B#Uu&5rYIY!FP^j*Byyzx)01Ai$I+9S&T7=r}i303%v|Jiks>+V|fX?b=D$~O9d>cCVyme(DLWp+ldIBHD z=w|kW<1&K(WnfJpXr$Ju1o7Xj*?Aq4f2n=*;b-;8>8&NN2P!}(4SWuqKrPDDlPUgl z1*;9Xi+!DIf#U5+8R25{PFm>koENBPxq75Ui+VdfH9gJv&|6%=bwH+KC6z57WmR1J zd4f$ht1bEkn&kHS8YZ{6s97dGehzc9G)ey&K-jI__5>t?eYp2>8ZT*nY7=UP^3l`h zN=^%4LzVh+C7YV>XNjVRN+#&^zffRJ>>KLl&T=_p>X2nJdaoq8q~x7-{bQ5+8!Qa| z1d?a{Ziut@lL%yZugY#-QZzv&td%*T3N1?NGG-4f!}$zh1_e%R!?K|qKUrO8^xSQ} zG=j|l8?Yw6;ikSNxHOS=fo-NczNOUh%mN^7YVeIR0bU(=h7f&x!1G;{KuWHpmkvjz zFJV>ysBE9%?vHs@X{PwbZx99x3Na1zB{|T4qY=mrP%P62r@$5U7J!=1Z7TqRWiY_5 z{Yrc;dMuPFv#1Gap9DlarBzYc0k?(F0({yZ&c)IOh){qo%cl@p zIj(Rcxod@<3Ob|o+&}YRMJ4EI7t9sBQkp}o^k21iq9R?_Pu+Cl-HHVm6RQOd3n)9n zbsGhj0|@Xr@tvGBBS^UzmwDqpKaPf~EmVml%yxt_yTpUX$Mqarcc^gSHdx{uQ4Ubc zB-6gVAjM4p4dHKi7W`%iWIL44j}afj6G~)9e<`;;SDI9xi@1SHS*ohzros6M5jmf_y)kbgdd

e{f;fHoxy%!yQ-{MRuzvd3eghqql^-)0ey~dkM#60;qnnA{E?2o| z(|3wl?_`TsLf^3;b?E?`Z_c9hX2-}}#;ko87MBuNGs=Ft$01ys4%dTl{{m3PvMoo6 zWuImce9$+ugG=L+LdJ=Hw9Q9?JBRUzIO2C;iD&NVyXHJC{Mpv2BXR?ts|;+@=hwcX znv3-#!q@Z_QRE9DH9?9-8fV|MGF^1fBD*d%AII9GdaV~%k+dK3`es7u^R-X8i}0rYyOVbry`;uJfk@Z zOob@LA2!to4ziF5MRRE-A+8CuAR0zOtsfFef8^+`Yi(DL3r_ILe)H9Do-2i#DC>Fr zS<>1->v#t1l%piEH(ELeBxixv9mwn+g;{hm6Ca1%Ff*xo*|%zK4GbPw?$eGc>&pvt zbB^Fx&I+iPRTw^`4d+g2E*R#h+GlZiXwFsm4sEN|0vFKhVyVBucuIA_a$BMd>{$AD z@8=pt!|1$^&mX25tNpCtJZNc7pRUT>iICIWkE&5@lzc3hUId6mUM`U(Xk(r*Q z)i^k|D68~6j0yzP)|$UX9rPCMf4|iW-fL09~ZX>kjdz-;e_@Sotj3m zDP7G8QhoL>SJxUBd}#@R%WLdfmCj^JsMXAnR+nNgHXJ$qQR zrRB;J^BG>4Yq^Xj7pd&{>+fkvHik#e^z_C=bJnDVnp1q%nChLSA1*akOT4K7m6Gi` zl2z%&HZ9WK;5`o_6_ZPkc?#dGyOY9x1d&MGQI@Sx%M&()dtlV7XzMfT9Ut_NLt)Eu zEQf5CSNu*Zs^YjsDPa*K3%nqK7yhlqbVZTKe$ZLS*N>ZF*Jfp9!!!o_bn_o_(^ky` z9G^M)INB=qg}5#%rZY8WokyA+UpNS(^u%|W@Ad^GwHCGPH`$c*C=YJV8=)1i)j6N= zIL({>RzLkks*kPYwzI5UYW1`-;grd*_G_?JueCN*mEy@slM8=g+0y}{2lLHf!Nq`F zjlXx+YLJfbS^jg|`iGb$f@AknI1-sjQfSb-PkYIA7=w;@Z*|NVy9+_3{gwu&IOvif z=;a83PCQH1TuK(Yp{gmTuID_^JqW)rj3D1Je_>Ws9yBBvBypgkT#5CR88)x#+# zBTHL{Yl-{_!7E$5=;7T{tt}N`4J$gK>M+58)cA4yGz4q)1dlo)eoa1&NRgzE8)V%t zsH3=;@&zt+>JAc z?ajFip5j}|OFZk{ZdueuJW-@72u-Ae*;vI~+Rs>2`L&^tRcsR zrZZod^H0(so2^OjMYh6`aw2IR_7qg$H%MJ1A7uhw7AQxF++DQ2a6I(WM$Cx$^MwWP zy@+w@>9N-Kq7a{OE9OExOE}D31?CtAz2ND%9>Sh=2w{3cuVKCTg*Mc|{uPxa*wR*f z8n+?B)o`oGVgbw~=kfgFo%6+Hp>Sf-;EVV}J|LH`FQ_Q3Br%ydJ~=q-VtI}N4lCn+ zZq|i}JBnGlnvkJKI_Yg7Z{SW9)FEcH=`SE?@dR009B1F~FCqA67tt9-QDFIo08S;c zk8_8Y-sCiR+CZWc9_DK7S zur5^(Zi0&Slifi{yf?qdE($W;-cH@Gj2^;^@4s^(yPkv$PD=EJPLSyfM>3ce9&l zjq7`1X`bm?utU70p#Al+0t*+}?&=t>IPiAXM^(?>Ac{cVm;KK34{B-=c;x;>c-H91 zdott;S`!b4oylB=C&@b(Thtj1_kHYL6{+Rwo{s~rmE{cd^f~! zqA_AMPwB_wljg*5gf8FuW6{2>v76r>ciFOkZ9?HPD`H06$D> z`X&hPJz~^J(=0`u)GBcP)S2}b7e)6hZCUV^-l{ck^nI!i(rrEDR@h|U_qM44*?bNo zh%2FO zKWZ0oSfd$a{_I~m#Qy+(5_dE;3%_+aM1)9osf0MZM@+k|d+&MRZ}$J_?=$OqI0LFn0+pB>*6#oi==6Yuk6vz{0pmk}>$|_|^hh=x8R(i})5xnrjX1J+*3v zGyT{j&01PDG)*c)IO4DwNA}Gf?MloY1cRZ(PmQw6b!lXr_+&m&kn*%qr+TbwTSmoY ziS#_qnK1r$8J{?@ni^umr5z`Ctun{y5zAs;BxpC*>?YJqslB)}T3*>Oq&!}EETua~ z;raDBl!GUAp>B&z*;_|d*@b(%k}jk} z8tG6vghh8r35YaEgLFy@0@B?`hae@5($cW#?nYW#8qQqr-uwIZ`<=1R7~lDG4PhaR z`8>~@_kG>huLl}_s7Wh5Yz5^;6IC>5#|}YeKh9`iHazm6o`);M z5|85?ekKPo8+;Q-ezN@C`S97C(-n7w98<}eJbW|QzI;T;My(}fo=l`#UW)0B3j{4olsUF&|Kl5Nk}4@pD$-(mQjn165Q=FyPBW_huw+rYn_${j2G{6M~) zZr-Q?-X(FN6p6OP+W6)8rO2p;Q%)i`7!1yF%JrHGv)#bR$Y3WIyFb64Cv-ixSA1dp zL9ew95uHgiAfDwG)2BGFY1%D~bvgPm7_JqH63$?`B6SF}(93U5YhN0gUVM8j<_bIZ zrp}0XCsb^t#_%yFxFudLO={J&RLVc1^owjn$&o7I`Paom#_#*F=~H&C;iFCiDVzd1 zp)Kl3fxSV`zf%}x$8S!&DMa`lKCm`wsGRuT^r-|1n^& zEc-Q})SgGE^l-qLsX|El9Nd>e|5|uTZ(zHKJVRNGIcT(%or+e-$xM|CR80>pQVOw0 z%Ba9qC3AS^K&pp)J>R3zM+v zliWu9_d6xh24@>tkN6HKHaL@;l4i_Zdv$9ud=s3M%^trs)o3)*%OC!_TyUR`N{O&v zO2~=h1N9WxkS_cqOQphKb3LJ9VljT=$^S8yd^)PEW8Un>Fiw!LHd#E*kKWGFoY>kO4pCk2o2F4mxjy?Ehi#G`iNe660$OY*$hr;tf^MIZX6>D?KjyEE#)iw6*h*bA^h#A_5~& zF_V6dIqC&Vv!ZVB+?{WgS@hYu+sz^-^xy{Sp_!al@3w zJU2jEV=!s8=T0(vv91DSHhhNHF!UQPfc4VOBPO?{?s@ctnq@TQj9S!e%UBeQ{7Kku ziSk`_O(z;-dN#~Dhp{b{I;w4SeR6E;{M7Ucsy^w#P`TC{r7n1#!VtKWe9Y!{M!VKL zzCt~+Bf_R~|L!NN3lfwghp6ppIM=Dd#hGODSjz0`PR|F~fkEQ2-yfGGZSzs|O4!O9 zsW175HNI&Y%rQ#gA>K1lDYv0bh`2k;-$W2IHW>G6$o757Y-?0urX$xXd;Eg_j}D?Y z(X0%QgnO~J_Z7eHcM3N}_=|%jzCWCC(miyaFl{|e*ynh#ZQG<@_i(Pba9`kSR!{A> z#VI3%Q7xq@{zGOIWjv$<7gaQbqyi^n4OGcu?zQlc+L?OOGv{s8-=o zpy_~m*x1dCaJ4cOm_8u)$3y-d>*`0%ownYMtMM%J84pf2E-2_FaQ4y7H#+r1sY9s|^&p0tw28`)Xo~VAyZsHAbMpy1Vj?iH4 zsrSL4kDBXm7%%qr`xBJS=wbe?v z3pz;=UvSJ>Fibg!9~%C_L05To4K>cA z4gB2Pd#Qt&vce<$R|yJRt03}0*ds`cYn5NWl}4K&3ZcaZGd&j86^s&xvDT-{s2w2u zX#Df^ac(rMpHh*Ic8qiM_Rr6)XNjV*3fflGWd3}pMInq~rSef64W8LgM}3B1D#9?a zrWd%F#2Y&F1r1AiFL6W5kcvP)$<-4AG2^HdK{Iq#?0x3X&aiop~3W0NDi+QbfdD3S!Is;TC z?#mt7<&wW>6$(vxVV7|#3Y8g9dlPZ1k1tEPlLS}+C);WdVtdkEGS{3Hyq;1za(jz07JIMh186#KA(HVR!qR2gAe z6pwi&buXT9m#;Z-4`ge|FndD#eIfgx2m&HUV7n;8F4i-I0+j0IlLP{(^@^gm$F(h4 z(SDKk@X`IWU+K?P6;08W!s|>t_Js~eT5yo~R6|l$ZADMoM03T`UB=`O@F>{#q9S*s zg&W3eGL2JqqvWMQqISD`F!dloHz-v7k_9T<_=`ZPzyg(8?Jf_GDl1p_?ERO%dQoDG z-HPeqMZ+nrL65tsqH?A#wM+@f#RQK5`Z(DOozL=}#>qCwo>8qYrJ#O{=kL50Dymw* zIZj-t!eGV^ns>@IC>XQ6B=m=9>n(L?(FvMwzZV)64G8QQ)qM5&^<^sO2mFkg8QhX! zhCxNsRoTRwuo>`j^nt+tYn2F5POEhN0I~-8`3NKa`O+Ek#`7_J?$ih~W@CN-owaSr z3{-4?|Lyg#4Qz5^%P&%wd3VW5#LVlVsMr~?9*nvE<3n1pYhcKKvbPB8QQ6tdkEi{B zA^IM7x$?2N6c>OaGTK3~bG~g#9l45Ug}hQ7@=~u<<*EH7ns1eS<4@4d)O8V)rSz$3 zA&8f7bZ{hfN3JmIauUW$iBT%0xMVyM-8FVA11l7l)y&W7+IikLloosm`6V1nA`;5+G%eV9 z?KoKudL)IRn5HsSpwfAn6(UyD!&S|W%fJ+S4#Ris9N}?X7}=xWsChOoEIs(5_O5JHWmX3pI!R>wjrHj zZf3nGXEx)RlJXS<-UJRSVWQ#*V8T1oGFRK?v<^!&bvgWLpe%4)5py(HmUGJV4SHFpTzRkd-lmUUr=JEIBe#9IAC^n-4~5!U>BkUG6ZM>x z)Z`=^`lfaSa)z5|`-(-ci|&RxS1oy^m)=Yj&JoWr1~Ar8z1C2fZgU6QrQ7;vm*0we$tKHEMm(Ejn#X=~405J`mVt`-EmO4d0oT&2eCk?? zSebdAD_jantB3+U`{`_acq+|#ihwjSKpL-oy@4Z?&F=C@0E2+vPC| zAoxs|BEj804_o%RSQJS4wZKu-HxU2k%IR`7xG*BGG_(|v@``Su-k=36!CeoGVB(^8 zO#JNC26)JCBKpXyrLBT-N!E$1ZXMK&kEC{xOr%JM{qPpPeT4XJ$}zT>rCPGTL~i1p3$ZoD0MO=fs_b3pAE zhbW1DhjspGRmhF!mw(XxFLI(mEC1`BiXnbyV<~N;J4Lr}=M>y__B)!pWOYtNCcj_F zb>gCw>p|Qvi0wi3Rp(Kd71+**s-6N`d% zvfv>TGzyaiCc>@(D_s}w`WZ7Z?vV;j=D4wB9R;JZ$c@76>05Y34sWg?ZG68Ji~_&f zS&B|Xs_Gf$tF{8(I(h2xP}-TtMD%%q8-=bqlSxRQ+UQIQxI1S3$Hf#`64sqx>=rya zkuEgbU+TEIMbD)%ttrb6B~(S@{WH1h*b5`>cUNf4Ylf$6vbu)0i}22kQl`Y4>pv?h z5ECtm6q`&*O%zoWM{7m;sE{!xN=&UnJWOCuB3YJIe(hUYYOu_^^I=sf!muk_>8`C> zt5v&@V)TNBQVpvL(tyjr%#kF3iGgTlE1tA6S!WtWUsV(MY&wB${*c}ysL@yN*TidG}_qtG5e87scftKu<74~@&d za)xAf(cuObbeEcs1C^^1A>)}_aY{e@is^F&hB3YJ!wczb{D#D;>!`hwp_$nWG-3L1 zG0-V{WgkD8F>RGRyLGg#f|C*wiSZi#T*Jk1X}0#Fx1wrriKLiMDrTf(P%y7Rby5th zO}A^<;Yp}~K1Z37kM1}Rr5bS}H`J{ee%YS=`FUY_6;pWO1wKOi{>7{K--1M_TFIBy zIDb(ocUW2p;xX35BV4W*hoI{b$IlnH$Sgbq($(2Dj@|eE%@0AP$M$X=+vDf|#Mi+*xf12w0-Xxub2ofX&(s)s> zDQLUDfC25C;S}SoS+(gJZQU2#B3m~B(PF9(G8EMYjZ8u3IhTanl2+lf_lX!RCURuI zzf^3BpDfAbGVJ1&uzcH^AV=WLeh+a{RjjS4w(-&KJIh(yC^In=yw#kYvAj64HAD{E z{bs4iOd4N2NAclvGSMo(>CH}y%B1jfE=O@nnTW{6)7MC6bV}~zyRp7WW=SXRlL($t z>~#o;(k2YjrkmJF*NK*7bG+;H3}g$+$xdu*v0oC#(LMJ5Hcox#Vh9_p35vG;6i*E6 z07Jfo-f_pTl*%uf263476tuC>uR2VhauRH-%>#zP{+)Iii-+MC>HO0kt~@O>k&Wh^ z!mO4}RHeP}aM^K{uI~p#oku38v9dWdLQ#x7VYl|zlJ9j0K2%I z)JM4;x{};!X)r@reJ2+0<+bE5E=Jx~vr-xr;>xuBm^9FS zV(UJgAlm%jzpXjc4{f`-fDgY1@T#BQMJ3L)&J}N z`0u#r|M^v0h*%p%xQx`xYlVN~j{i5WGNi$K2!t0V|2s+gfBvcP59r@NAOZr&NK2_V zd98qN{6GHf-(UGZzZ%ho)0NfkSRPg%Z|0Xj-;$&WwZW0HqkiV^1O{<*^6udI-2qoI zwhQ^@e)tbPBR~wBbsl;DC%^}x^u08)yN7?xDkvRc!#BWxJQOx`y+L2^V5FWx3aH$k zLB6+Kzc&j7e3_#=_{I)Ey**n3jGM?6{{v`VG3bHT&?<;~vEf%)6bAd|W7=J|44?I_+U_F}rS#m+$sNzk6wj6yzPmg8hz%Dnehr-JsB*L5U-sN9 zQ)`(!xpF(gxdcoKJ`h=&Ct48GmK25bT8vm9gOmgiP&eqU-E^J0s>roz&RcamXFq@-v6uiRaaB%ZK)5J19=I62M%NMj6wXrQ)sh!igUB> z_AQKn2@+fMs!yf;1jbI;9YyiQp#2ei8yE}^jD{;AjIMVIu{HHwH9SQcodGgssSEph zunEERFkBiRYnC>*0pC#?Y&c_(?}gP*Qm-)AnbmzH&%lFVHMWo5A~T z&k!5VU$w)jrb66K;I5#)BfNaJwhYu2f4cdQjz8)Kro(lVELFWUtDrzRlz!lK3FN0D z@Sx>YAUwqcdPt2KU@6lfzbdlm&$T!FPu6YZv2%n42>X>y`FMYIv(%<85G6L=QuE?r zdo-`(33DlqFJN+m;V_>Oh@4i~BMz9C!dFVT@dEUs;JqDfWgEi*k{R{oc)coRIBT62 zoMBbda=6cnUI5Fi0~>^#R{)G{mpIithJt_?jw$L`0ONo*FeV!;1F|&U^BOKwg~y|C zj4N^nspiQ90UH1NFjQ;u&;HQa?8MHfETye{3xzRq3i(NmP`X|e=ZN2?}1gfuHBtr zen;=d&Rzc+V(P;;^;h~DAjTty_kzn;%FvTuT8&JmFGa6kih!8s&pSVePFX>+!#mhu ztP%K=lpcYMcoDd~+Gs6Qzjg}o^<(T}(}?}D;*<4!w5(UlKS8aynEbkN`L4VmrNP7= zCheOINjUfMz)76c%xH<@vI=nY(g(ZN4j>|o{UE4vLy4GC$`~dUTn93ni_0;Wk~m@M z#?@TXdYY}5UF=QD4H*9ZG5D}KkL2e2kdNtH9(lW)4~Gx;?B1KqhG?L~uk?p*xOnf* z+Yov8B;M5qmrd}jtDa0f1;cSf{BaO)R?={w8b|lj+7N>xSw&_~9Vd7U2Z6!{4|_== zkl4ApxX#Y=ZkEA&q0Ycg=~W}@jR!zfqFUBm=3rUJ_ecnw#e$g5$bUfjego)d+M3yL z>76uN2jOV8$THmDI_wQ7=dV_?6eMCVqnT8z3vZ#15nB9Xm5reao!{u-R>ZUUn4#9Q zMCqeZZ}4YH{(S?&8MAxfZrEp8;KUlrl#3rq5YrnGX$m4?6~BUf$iN%Zo%@@^Y3raI zSmwz(FAh#&g()C9l{#mo95-(gnWPHnLsgYe`&m+@Qv7Q~0#~Q@;D}mT2XHB~vc@}g zq4R_Pr~>KEUwkC*9Urgbd?-FW5d2;|rB$6ulAvmLr~++H23ZQ%gx~8ao{ONfa;BBg zt`o)K?a9L3f3AfgX7v*evEw_wdes_y7I=sOfftO6Z*vu=1fG8X=wpy-ThId_$FgUK z0PG5drqjdI)oF&zuIGW%5deqJVlK$6f_QByX-0On7*I8X)&L1SdL5Ih?AZhd($@S^ z+dEU_J~AmASj~adm^|+Srb@j3@E*3idM*wQrDe! z*WqIELv(zj(?`&bLu-vytPys6F(%+I8_N{d!2TqneVT3Eaa%CbqR(!};^*V#cqlR> z0H|eYUOn(U*n)D5@{c*6DU!gztcq zdDQm=gn_?WEyzfX+AI{k`}Q}rFvCq}u0E{#tARpjmRnsFYt+|>r)&^kUPMtZhn$NCN>%OW@z->iV)n1Og(nL6~2-6TTs4B9tAD& zl541`j|<~Wv8C6H8mK+{ztGqJ3)11=!UwzHBi&wm-&5_@vP^lKWbSU!S|7l4%2pOCiEi!CBaW8i)o z4+PE1B(;}VHT1}|1O%K$IJqo^zr?fc4BxA$Cm7PSS~aJxqoIoIUV#0nx(Vg7WD;GR zjMIW+k6HZP58zBX2oQ;J#FkZ{)y`Gkdz^#TPSro$OU|w&FHSL(qz5q{XkFyb2mZSXlC0 z)tus$HbNLaOm{5HcqX<3uo=D%;h){0_yJ#oW3Ur$k++eda7VU6vr$tH+aObNv*Gt= zurY)%7_jQbNF41MKIn`aBh_b=l2U%Wf*CR-ki_%%D0E^f$=CrD{Auk0Cuf({JKUl; z&Z-aJ`=b}cbx8sH=lT5Fue8N4ek%Iy4%yfzZ&^lM)5-`}cI}Y620RC}6mwMz2kZ^;a#I{_g)pHh}& zjcX|Mr%5Zv4Qgs?h{C+dSO6RokkYhJ8B3_I+Vh?l0XG?8=lf6Wob9vGZYYMk6Br25 z(=3L{^)XERpO~sY4M4C1H}SfRsBG>{qJ;^yvQ#6S#UoI}6U^>BO^poNL3N4D#E{Ov4~Qz(_T72s!#z{@2NMNtkAJZGp9!p=<@C8TwoI~kI4!sIe_IJh`7!ai z%oY%ThO=S4`v+~;UGS{$jzS>uJF8)mZU=X9%6}|=krXXnNs1=g#DzmN9GeO1Q!id) zAX~M-qj?+HQC}`DIdot)oCUj|1cUiMsc~L#9On^*{jMCy;J`M5Q&KS(EUgUPKdHJ; z#eTRH{>6Q#m&>Nr-Lnldys!FGwNSvs;bN#oAXug#%Yo{#oFTzg`T-J(`K!LSR7$@% z=Gx3kqJ1%3QUP{@OKND29~{X$S46*veI5O%iO8D{=1p8lj;tURMq9|hiS?>eVG}_< zX4|LXj76bAEYLJ*TX0Tutel?fD|=ynugjlk0o<+cHDc{!;Ru4gEUP?aLs&3{ia@&C zCiM#{Dy-pa4q%5avx~G}70b1JuXC%}wLan-`(dWNHN@C3nSr1qgYAN=1B1J!#)C7^ z`uIpe4hE{v1>|8*Bm%o51+sl;Fr;Ou^#q!8V+ZjhJj+AT@a<*8RGe z3*#5cec(cHWZ6Z+f?-Hhg(+n@XTFZ|1J~9%caepv4t!8z^|9!sxY$uU(!uraZacgY(I{W z7G+2lasXzC0y5W0;15YxP=>8TWnK-bI4o^=e#U;{u=YMvk zT1sP?O(4e4#*H=Zd>l1!Ir*|db!`w_Phr?t$Z!@g+XTL|Uf*vyglu0Rj`M;&Zf&;z zF-p7Td%EgJ{|p&XRlkAT_gEFCSZ(p?H*~DaCgc7*4hU}pJG6u)2hcGiX;JKp&hhgR zWXO|xId)5I{5oo7h2v(wy3j29ti96T7o+DfxD;^M9S@e*@k%rLZ0uf+t(bm_8|@t$ zm&y1niipQgOVPo3G@A8_ATf!TsFgmdpZE|i!Gq3T2>LyWni=`WDo83c1Fsbck%oP| zeBs_mpRA{L#pJG>2TrU)a-B~%cMRNDQ8pD;AJTy+?b5;Y5xJNts&3wwHljR-h@N^G z6!+f<;#4IyAsI6!zTI}u3OA3THKGbzq}Q*zHB38GR%~MnV?aI)1%nSfZYQe3brbE+ z7?0?5LS!gZbVQT3a2?|iSV=?c3Lkf?JHd7DR%uEOV*w9$lO&Yuw@l~k4coa?3Velq zOjmGS<8CK11A8_f=TF+fZ9xk0e@>qH%D$;PWp|A0thZ58N~3-DvsJf0NWk;l$90$4 zH_XN`6e|`jRhHZ_@Ne|C?Z`_m{&5g3%X35ekF3IhvP+kYn;GucKwq)3?3m7wZU8*-_=?6ie?PQT}8MFCRZl#m9}W zi(sih{`ERNjT(${4jz$?EDVV0nMA%s=uq&?fbl=54V?wNnxsytHKsbFEQzluqo2*cx`*Bo7F{0JN@(S1qrQJ zp}Q%_lir()x6jb!k(s3F`)CmgqKdzR$s3C3~iA#CHN9601PF2!h`Ru ztA|0@{jAQgL<@|qk>yT%+ei0Bh?h7h8ztKvh>+tv?KMYO(?afoq2OjbGEU`&Nb{Of zKiJBcWuEA9-ygDP8byxdj+0Y37Jto=bhkF}D{FP=6=x(yXYBE847 z=l6(Mh-AWFjt{@ZI>&S%s-SEVE--2R=Eb!w*^NO>h^Xl6|V0NzDrD>6|tn zHY&}-UId7NPJ5m+W)tgY4Vr44M2t^FPVXrZIz;CS=PLW~-GaYf!N96^jyNM!IPch`*DJ$YOED__ZgS$gRvok%H#Q3jdug#okI<5k%030{#l1pGhH~M=- zr4y^ck-ueG1W|)arfx&vO8ZY@sAOQ1As9@Z;KWE>1{-jmgPR|^8P`>XFZP)GBsYvN zX=qwZ=-?yZ`)bQF5R5m%oM?$HPlL@}e!&}fGOS^C8Gj7CkGn*E(MjjsxTTOU$n#gq z3m%H_$V}mD-wb<|G&w_+xu1tpdPhksu6myRQ$ICO&3x+*7O1@8+&@e7$x-k&PrNm? zi``5%RX8L{&rli;_0Q=FS4ccn%Mb?3)8fwJZFkLjX-jss%1*({oeQn1s6_lC?p>n$ zr%ubCelL%94zeFJHy|Jg?e5}y&IQE?uDjX&GlA)DkAZjOvXmSsx^7A4-umM{G|xH} zP&V}K1DK+y23(9tXc=Xxuo2Q1QYzD2?W*ai3Bl7X38sa$=ZAzfV(sv?Baa+4Iz*2t z?FzRcjznvJ{l^-QJ0#`UPjIeOjhn7hfm*E5~sNA*%$jo0H zzvr-_S2b>Rp!)T`wdLXd#u}L{X^2jW{#=}{WuN8rZ)V$f()Y-qiG`6-t8&Ii!;v=b zn2DR8-WvM23WHDt5Q_BAnX9Bf+5lbTJVp{rH8bR|Y{Jv@ zHNkJw{UVy|jOmRdIls;Y2JZYA>?HtqTH!xi| z0n%mkH-Yj48e&Eg{+F6lHve~>A~N_MNH{CjF?^{w-Rx5b+0HL@M?+9-{0vINvZO5f zQ>H0(17TQ5Z#--Xt^H|@8<7Rb&YZV zU@+tibfkvNoih~tmMKn|&s z$g;vEG8#(dv{5MTwwFIcITSUK0{Y-Q`X)7U{Sc7^l1}Ebnz*G1=jxsBqHq4o1pvyj zo+jiE+3tkKo@#C!bH)xP-(G`C{-b-Oe(n&9!~T;#?PnRD0P@ymq|85x45`r^QIUf3)!jRp?8Bz!RxCSHWa+iGvr0L+p3!wRMlZ;yigIG zNZcNpF9|mww@WqSK5b$76wuM2q@=!7{GhTyzd`-FaJj>v_sOeE#TDY=!1$)3HIGd% zoj^Zg^Na=v0%tqDF@ao`oOwQ88q-fu#^F)Iko06x^%@h}4{;KRMRdzvd zw;AFbV~)!%Ec^^av3T|YWmKwMud6Vj*$s60&4mMg(?Z6#(_B)O00X0z ziVh+fTZa#2MALgJI)N%Gy>Zi+i8ke%;ZsJ%_cRLl1wD9IVyC@2iB_b7T)OJxW^URF zp5G~t%Fdn~FCMiR*VuWOaoRB&i^)s0^A3oCQqZqi=HJ}*;aOgn zDY%sLur9?GTj((m+`f)Dk^j!bJRzb ze3w7eI3c83!V`0I)*f^S* z(jVCnU&CCv!i8eZk_jH*Al_y=#mIMc`-D}VBQWe=kb9=IBHwvAc7h{)1+3G0Wqd7| zwC<2yK?dz^vD3a2e8;N8X{qcYxZo~#%JNH1rJ_W#bt8TuQgi&k)b#1umzc;%_+a6) z@vVL?yilm`?lH)+bhW890iJIO(85O(5wydPaLy$jb836rezXfsV*OFHXm&b!7`ATC z`*Sbq7j+VU!yg2}Be94Ny)F?J5wSJT|H?)`D=XjwskE^+dW4(7^gC}sf#B+h56?q! zzFewo(gLTaEvdgAr+L)-y7Z;$QiWAZaZ+vf%r~fx-D6w)2AroS4uzp~U@a zLL>52WFhO(U(Ie7i;qX22mqWk5xdG{o<@BvN&44!`Lji19J$UTb8YW=apYoCj5$=N z%)T&d9S%qXejlJN5X<)&yAIWB0`F*s-t}Q#GqN`E)jp;cB}dG>FZ|u zRAr5%xv9E=59~wIKF>xsFo$3pp(0ztIiSjQ)mO?&Gd~1%o6QlqmyE^t;kVs_t3>BJ z8XdgvueSCa-S!h9AB#IW%>PLUf(N)4Tl0}PGA-q4{sAGku-$hh?j;7lY&n*zm0Od` z7`;Sn@Om-83Ea8(qRzRcEEry~J$E39(_{Kc{Q8o@u@iUKJz%7Zv!9coud2KFSsn)G z`Y?cKV)q;N%6Dp^>%DP2L5EbYK1 zl5bfqRU7R$N9VT3`T+8^_+(e49WmmzP5PPClW#3g&n%z{Yp*SLeh2!gDVV>fgYv5- zPmm3T;b7El4%>Ah@%xCS_dug_7QPW9gnGx6*3G>SdwN&Hl9*sVWNiVxiai8UzUjKa z*q(H?B84M!z3j+TszgF2L5R#Tw5{Ig{Mpv&-4ONbspMA)>}6i=$az(_&`&vHUoksq zSJER);#l~MllKTauss&U3s92!1B(B~ma&sFeVDi9JD`n*`xn1(4hN2nkoP*8iyseP zqN*l$cT_F{lipeSz}I5$A%kInP_Fb{MF0A7AM4Xid+FHCeVM>AWOl$7&bMytb|TKJ z!bg7b$pjY)Q#71r~B1qMM%_~xE3NAQp6Hb|k!Z3+%?KXVr4uG0}&u8S5+ z6^aE8u+92HaOJFiE0QJeTKO`9!eQ0(jUBPqb_Hpm5 zn|Hk4W4$=?ELJ{-+R@vAl=z>k<<&mZo1`p8Q#ITZAtx*$<~y@GpO++FkAIg1+kZ3j z$%^z*+C`@eyY7b%9^AZYL2yCdb{k<808+cRDjp^}8jS*Ah#_J6mlcAn!u8U=6ir0_ zM4}Y5*td=SKA|q<&WOy7R10}`d$&qJE3+t~o^*!s z&)^u?>dbo5xTCwtnu>2gtUoq~zI#~mq+v_O>hHrXiu4=sogP_+tIiIrS!kz~MXomP zu#)AW`bpCsAda#FG*ivHE^d>|nwsQ;;n0MoT;pW`4*L|Gw0hjG0_3Y_$Ita!lefQq^i)2>Bh}8(}d_@H*#;po0TzkeAvvispkHG)8WEaI%5rBuzW`USeE1_ zjF^d3e|YD?;CO}(CI{bZv&DI{crf>4Q;;#Hn#S!H_%5I#=4OwSbZU#$=Qd%oP;!ET z^X}N&BgbYjE`JF_bposAqlUR8&~0iEv9+OcCwHtG5pe@8uXD3^s4IIf;u%jabE|HJ z3}#d09uywhxbi@L*ZQNT!QK~f_LLL|>lCYlkyW74s~H(R!3eu1*dgsi)7%R#*lF^` znDn0~>?2-?Z6R2EGf)QH z-8IE-L2P&#WOob-8MAn^f2DevS!Q49V-oF}QCNT6=yaRAa=2oU>31gFd9zwzdh(TB z6Ds#~kvTxKLPQYnHV({1?3w z6Ar2uaODWUT;R!qmq#uwhaT?HPESYeZ_lHj$7#v*&&~#qcN5KKJaK}Sd^hc!U+f;t z9o2vMmy7M+ywm^r>N6jr-AD4J^DPxoD8#)p_t&r4!!c^)a^Mp?0%o9K;4tRJaa;KI z6d_A#JS>=!AMw9)QZ7Vrda7}^Bdhyg09ZCVV!6pdcxd7O{@vlc(it!O%j@?(&NSbF zFm1|9{(rySzrXtb>lFqIB0jdwvBCfPtp0xhPZ+XrUJ5#uCR+VppZNdvyKuC@qeLDd z2@!XF1Qyy=5avK0p^LdAYyh~0Bk((7?{HrZHlq8(;iOgIWhwG50!#)woZ$EIrSv}X zH-Ja)^4)^GU2IT_&~^ttFVJ#<(?)EdfO`aw{E8v6S>RqSLv z+*BWqG#Lu|m`&bUZ4HY)cyAJGX+&i`Ap8H9o30%5u`P}WpM2chbSH^b z>jb4wiTVfXM_Ep%gM7@(mtc5EQ-s{(8GyeW0E!h1f*?c(A6A1Y|E`)u*86}m)0j6r zOt=H=r}6)ZX9Y;fLTe~N>d-!wpda74YH-@`;UxL2N6|MxrSj6NKbjlD!P^4v+Nl$3 z9mT#x_otwy&cf1mvnXMSx`FIt5?@)X?As6PkC_doeDRF`hP>n8$3Mi>5#L$!gzVF& zJCBRY_qt92G8NCb+keQmhn@8u>rOlM{&UM2AkUb5sOOI1YN|P*H&#ZzRfZ6PJ~EA< zsmWiOiR)Y8VE)~3tb7EC3P}JH8#!%`HZ5wh11V_rGyyQ4yaVoNqPr8#;B<`GaM9Pe z)dz4nuif0^c&ZwG&{j2yl_o?3gY}Nk3#T=eEQ?^A zU7-9B_?C8|ygs5+<^Ep~&Mhz=Lf~G5%=c

|4iLqn)@%OHiPY#BGq81nd1$RMc( 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 z�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 M;fZ|FBh!HY0M#)jCjbBd literal 307992 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�GoCwQ_p*>`u!IU(Zdo|a#8^5d^e2CTaT-B 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 |I#ay98bXzcONs;A(ty;_*0GrE0R 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ⅆBY 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 From 5c7b905e8deccad1a026a9475b00777fbadc0b18 Mon Sep 17 00:00:00 2001 From: Yichen Zhou Date: Mon, 10 Jun 2024 22:55:18 -0700 Subject: [PATCH 09/18] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c80b742..1eb32e4 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ Please look into the README files in the respective benchmark directories within ## Installation +We recommend at least 16GB RAM to load TimesFM dependencies. + For calling TimesFM, We have two environment files. Inside `timesfm`, for GPU installation (assuming CUDA 12 has been setup), you can create a conda environment `tfm_env` from the base folder through: From 6e77e0ca98f394694aec21193def48de5af41a48 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Mon, 8 Jul 2024 18:31:35 +0000 Subject: [PATCH 10/18] Adding finetuning example + package restructuring --- .../long_horizon_benchmarks/run_eval.py | 2 +- notebooks/finetuning.ipynb | 612 ++++++++++++++++++ src/timesfm/__init__.py | 17 + src/timesfm/data_loader.py | 261 ++++++++ src/timesfm/patched_decoder.py | 521 +++++++++++++++ src/timesfm/time_features.py | 215 ++++++ src/timesfm/timesfm.py | 605 +++++++++++++++++ 7 files changed, 2232 insertions(+), 1 deletion(-) create mode 100644 notebooks/finetuning.ipynb create mode 100644 src/timesfm/__init__.py create mode 100644 src/timesfm/data_loader.py create mode 100644 src/timesfm/patched_decoder.py create mode 100644 src/timesfm/time_features.py create mode 100644 src/timesfm/timesfm.py diff --git a/experiments/long_horizon_benchmarks/run_eval.py b/experiments/long_horizon_benchmarks/run_eval.py index accfbd8..a079496 100644 --- a/experiments/long_horizon_benchmarks/run_eval.py +++ b/experiments/long_horizon_benchmarks/run_eval.py @@ -26,7 +26,7 @@ from paxml import checkpoints import timesfm import torch import tqdm -from . import data_loader +from timesfm import data_loader FLAGS = flags.FLAGS diff --git a/notebooks/finetuning.ipynb b/notebooks/finetuning.ipynb new file mode 100644 index 0000000..31da8f3 --- /dev/null +++ b/notebooks/finetuning.ipynb @@ -0,0 +1,612 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Importing relevant packages for finetuning" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "os.environ['XLA_PYTHON_CLIENT_PREALLOCATE'] = 'false'\n", + "os.environ['JAX_PMAP_USE_TENSORSTORE'] = 'false'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import timesfm\n", + "import gc\n", + "import numpy as np\n", + "import pandas as pd\n", + "from timesfm import patched_decoder\n", + "from timesfm import data_loader" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from tqdm import tqdm\n", + "import dataclasses\n", + "import IPython\n", + "import IPython.display\n", + "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "mpl.rcParams['figure.figsize'] = (8, 6)\n", + "mpl.rcParams['axes.grid'] = False" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Loading TimesFM pretrained checkpoint" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tfm = timesfm.TimesFm(\n", + " context_len=512,\n", + " horizon_len=128,\n", + " input_patch_len=32,\n", + " output_patch_len=128,\n", + " num_layers=20,\n", + " model_dims=1280,\n", + " backend=\"gpu\",\n", + ")\n", + "tfm.load_from_checkpoint(repo_id=\"google/timesfm-1.0-200m\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Evaluating pretrained checkpoint on ETT datasets" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "DATA_DICT = {\n", + " \"ettm2\": {\n", + " \"boundaries\": [34560, 46080, 57600],\n", + " \"data_path\": \"../datasets/ETT-small/ETTm2.csv\",\n", + " \"freq\": \"15min\",\n", + " },\n", + " \"ettm1\": {\n", + " \"boundaries\": [34560, 46080, 57600],\n", + " \"data_path\": \"../datasets/ETT-small/ETTm1.csv\",\n", + " \"freq\": \"15min\",\n", + " },\n", + " \"etth2\": {\n", + " \"boundaries\": [8640, 11520, 14400],\n", + " \"data_path\": \"../datasets/ETT-small/ETTh2.csv\",\n", + " \"freq\": \"H\",\n", + " },\n", + " \"etth1\": {\n", + " \"boundaries\": [8640, 11520, 14400],\n", + " \"data_path\": \"../datasets/ETT-small/ETTh1.csv\",\n", + " \"freq\": \"H\",\n", + " },\n", + " \"elec\": {\n", + " \"boundaries\": [18413, 21044, 26304],\n", + " \"data_path\": \"../datasets/electricity/electricity.csv\",\n", + " \"freq\": \"H\",\n", + " },\n", + " \"traffic\": {\n", + " \"boundaries\": [12280, 14036, 17544],\n", + " \"data_path\": \"../datasets/traffic/traffic.csv\",\n", + " \"freq\": \"H\",\n", + " },\n", + " \"weather\": {\n", + " \"boundaries\": [36887, 42157, 52696],\n", + " \"data_path\": \"../datasets/weather/weather.csv\",\n", + " \"freq\": \"10min\",\n", + " },\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dataset = \"ettm1\"\n", + "data_path = DATA_DICT[dataset][\"data_path\"]\n", + "freq = DATA_DICT[dataset][\"freq\"]\n", + "int_freq = timesfm.freq_map(freq)\n", + "boundaries = DATA_DICT[dataset][\"boundaries\"]\n", + "\n", + "data_df = pd.read_csv(open(data_path, \"r\"))\n", + "\n", + "\n", + "ts_cols = [col for col in data_df.columns if col != \"date\"]\n", + "num_cov_cols = None\n", + "cat_cov_cols = None\n", + "\n", + "context_len = 512\n", + "pred_len = 96\n", + "\n", + "num_ts = len(ts_cols)\n", + "batch_size = 16\n", + "\n", + "dtl = data_loader.TimeSeriesdata(\n", + " data_path=data_path,\n", + " datetime_col=\"date\",\n", + " num_cov_cols=num_cov_cols,\n", + " cat_cov_cols=cat_cov_cols,\n", + " ts_cols=np.array(ts_cols),\n", + " train_range=[0, boundaries[0]],\n", + " val_range=[boundaries[0], boundaries[1]],\n", + " test_range=[boundaries[1], boundaries[2]],\n", + " hist_len=context_len,\n", + " pred_len=pred_len,\n", + " batch_size=num_ts,\n", + " freq=freq,\n", + " normalize=True,\n", + " epoch_len=None,\n", + " holiday=False,\n", + " permute=True,\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "train_batches = dtl.tf_dataset(mode=\"train\", shift=1).batch(batch_size)\n", + "val_batches = dtl.tf_dataset(mode=\"val\", shift=pred_len)\n", + "test_batches = dtl.tf_dataset(mode=\"test\", shift=pred_len)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for tbatch in tqdm(train_batches.as_numpy_iterator()):\n", + " pass\n", + "print(tbatch[0].shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### MAE on the test split for the pretrained TimesFM model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "mae_losses = []\n", + "for batch in tqdm(test_batches.as_numpy_iterator()):\n", + " past = batch[0]\n", + " actuals = batch[3]\n", + " _, forecasts = tfm.forecast(list(past), [0] * past.shape[0])\n", + " forecasts = forecasts[:, 0 : actuals.shape[1], 5]\n", + " mae_losses.append(np.abs(forecasts - actuals).mean())\n", + "\n", + "print(f\"MAE: {np.mean(mae_losses)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Finetuning the model on the ETT dataset" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import jax\n", + "from jax import numpy as jnp\n", + "from praxis import pax_fiddle\n", + "from praxis import py_utils\n", + "from praxis import pytypes\n", + "from praxis import base_model\n", + "from praxis import optimizers\n", + "from praxis import schedules\n", + "from praxis import base_hyperparams\n", + "from praxis import base_layer\n", + "from paxml import tasks_lib\n", + "from paxml import trainer_lib\n", + "from paxml import checkpoints\n", + "from paxml import learners\n", + "from paxml import partitioning\n", + "from paxml import checkpoint_types" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# PAX shortcuts\n", + "NestedMap = py_utils.NestedMap\n", + "WeightInit = base_layer.WeightInit\n", + "WeightHParams = base_layer.WeightHParams\n", + "InstantiableParams = py_utils.InstantiableParams\n", + "JTensor = pytypes.JTensor\n", + "NpTensor = pytypes.NpTensor\n", + "WeightedScalars = pytypes.WeightedScalars\n", + "instantiate = base_hyperparams.instantiate\n", + "LayerTpl = pax_fiddle.Config[base_layer.BaseLayer]\n", + "AuxLossStruct = base_layer.AuxLossStruct\n", + "\n", + "AUX_LOSS = base_layer.AUX_LOSS\n", + "template_field = base_layer.template_field\n", + "\n", + "# Standard prng key names\n", + "PARAMS = base_layer.PARAMS\n", + "RANDOM = base_layer.RANDOM\n", + "\n", + "key = jax.random.PRNGKey(seed=1234)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model = pax_fiddle.Config(\n", + " patched_decoder.PatchedDecoderFinetuneModel,\n", + " name='patched_decoder_finetune',\n", + " core_layer_tpl=tfm.model_p,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### We will hold the transformer layers fixed while finetuning, while training all other components." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "@pax_fiddle.auto_config\n", + "def build_learner() -> learners.Learner:\n", + " return pax_fiddle.Config(\n", + " learners.Learner,\n", + " name='learner',\n", + " loss_name='avg_qloss',\n", + " optimizer=optimizers.Adam(\n", + " epsilon=1e-7,\n", + " clip_threshold=1e2,\n", + " learning_rate=1e-2,\n", + " lr_schedule=pax_fiddle.Config(\n", + " schedules.Cosine,\n", + " initial_value=1e-3,\n", + " final_value=1e-4,\n", + " total_steps=40000,\n", + " ),\n", + " ema_decay=0.9999,\n", + " ),\n", + " # Linear probing i.e we hold the transformer layers fixed.\n", + " bprop_variable_exclusion=['.*/stacked_transformer_layer/.*'],\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "task_p = tasks_lib.SingleTask(\n", + " name='ts-learn',\n", + " model=model,\n", + " train=tasks_lib.SingleTask.Train(\n", + " learner=build_learner(),\n", + " ),\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "task_p.model.ici_mesh_shape = [1, 1, 1]\n", + "task_p.model.mesh_axis_names = ['replica', 'data', 'mdl']\n", + "\n", + "DEVICES = np.array(jax.devices()).reshape([1, 1, 1])\n", + "MESH = jax.sharding.Mesh(DEVICES, ['replica', 'data', 'mdl'])\n", + "\n", + "num_devices = jax.local_device_count()\n", + "print(f'num_devices: {num_devices}')\n", + "print(f'device kind: {jax.local_devices()[0].device_kind}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "jax_task = task_p\n", + "key, init_key = jax.random.split(key)\n", + "\n", + "# To correctly prepare a batch of data for model initialization (now that shape\n", + "# inference is merged), we take one devices*batch_size tensor tuple of data,\n", + "# slice out just one batch, then run the prepare_input_batch function over it.\n", + "\n", + "\n", + "def process_train_batch(batch):\n", + " past_ts = batch[0].reshape(batch_size * num_ts, -1)\n", + " actual_ts = batch[3].reshape(batch_size * num_ts, -1)\n", + " return NestedMap(input_ts=past_ts, actual_ts=actual_ts)\n", + "\n", + "\n", + "def process_eval_batch(batch):\n", + " past_ts = batch[0]\n", + " actual_ts = batch[3]\n", + " return NestedMap(input_ts=past_ts, actual_ts=actual_ts)\n", + "\n", + "\n", + "jax_model_states, _ = trainer_lib.initialize_model_state(\n", + " jax_task,\n", + " init_key,\n", + " process_train_batch(tbatch),\n", + " checkpoint_type=checkpoint_types.CheckpointType.GDA,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setting the initial model weights to the pretrained TimesFM parameters." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "jax_model_states.mdl_vars['params']['core_layer'] = tfm._train_state.mdl_vars['params']\n", + "jax_vars = jax_model_states.mdl_vars\n", + "gc.collect()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Training loop" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "jax_task = task_p\n", + "\n", + "\n", + "def train_step(states, prng_key, inputs):\n", + " return trainer_lib.train_step_single_learner(\n", + " jax_task, states, prng_key, inputs\n", + " )\n", + "\n", + "\n", + "def eval_step(states, prng_key, inputs):\n", + " states = states.to_eval_state()\n", + " return trainer_lib.eval_step_single_learner(\n", + " jax_task, states, prng_key, inputs\n", + " )\n", + "\n", + "key, train_key, eval_key = jax.random.split(key, 3)\n", + "train_prng_seed = jax.random.split(train_key, num=jax.local_device_count())\n", + "eval_prng_seed = jax.random.split(eval_key, num=jax.local_device_count())\n", + "\n", + "p_train_step = jax.pmap(train_step, axis_name='batch')\n", + "p_eval_step = jax.pmap(eval_step, axis_name='batch')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "replicated_jax_states = trainer_lib.replicate_model_state(jax_model_states)\n", + "replicated_jax_vars = replicated_jax_states.mdl_vars" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "best_eval_loss = 1e7\n", + "step_count = 0\n", + "patience = 0\n", + "NUM_EPOCHS = 100\n", + "PATIENCE = 5\n", + "TRAIN_STEPS_PER_EVAL = 1000\n", + "CHECKPOINT_DIR='/home/senrajat_google_com/ettm1_finetune'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def reshape_batch_for_pmap(batch, num_devices):\n", + " def _reshape(input_tensor):\n", + " bsize = input_tensor.shape[0]\n", + " residual_shape = list(input_tensor.shape[1:])\n", + " nbsize = bsize // num_devices\n", + " return jnp.reshape(input_tensor, [num_devices, nbsize] + residual_shape)\n", + "\n", + " return jax.tree.map(_reshape, batch)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for epoch in range(NUM_EPOCHS):\n", + " print(f\"__________________Epoch: {epoch}__________________\", flush=True)\n", + " train_its = train_batches.as_numpy_iterator()\n", + " if patience >= PATIENCE:\n", + " print(\"Early stopping.\", flush=True)\n", + " break\n", + " for batch in tqdm(train_its):\n", + " train_losses = []\n", + " if patience >= PATIENCE:\n", + " print(\"Early stopping.\", flush=True)\n", + " break\n", + " tbatch = process_train_batch(batch)\n", + " tbatch = reshape_batch_for_pmap(tbatch, num_devices)\n", + " replicated_jax_states, step_fun_out = p_train_step(\n", + " replicated_jax_states, train_prng_seed, tbatch\n", + " )\n", + " train_losses.append(step_fun_out.loss[0])\n", + " if step_count % TRAIN_STEPS_PER_EVAL == 0:\n", + " print(\n", + " f\"Train loss at step {step_count}: {np.mean(train_losses)}\",\n", + " flush=True,\n", + " )\n", + " train_losses = []\n", + " print(\"Starting eval.\", flush=True)\n", + " val_its = val_batches.as_numpy_iterator()\n", + " eval_losses = []\n", + " for ev_batch in tqdm(val_its):\n", + " ebatch = process_eval_batch(ev_batch)\n", + " ebatch = reshape_batch_for_pmap(ebatch, num_devices)\n", + " _, step_fun_out = p_eval_step(\n", + " replicated_jax_states, eval_prng_seed, ebatch\n", + " )\n", + " eval_losses.append(step_fun_out.loss[0])\n", + " mean_loss = np.mean(eval_losses)\n", + " print(f\"Eval loss at step {step_count}: {mean_loss}\", flush=True)\n", + " if mean_loss < best_eval_loss or np.isnan(mean_loss):\n", + " best_eval_loss = mean_loss\n", + " print(\"Saving checkpoint.\")\n", + " jax_state_for_saving = py_utils.maybe_unreplicate_for_fully_replicated(\n", + " replicated_jax_states\n", + " )\n", + " checkpoints.save_checkpoint(\n", + " jax_state_for_saving, CHECKPOINT_DIR, overwrite=True\n", + " )\n", + " patience = 0\n", + " del jax_state_for_saving\n", + " gc.collect()\n", + " else:\n", + " patience += 1\n", + " print(f\"patience: {patience}\")\n", + " step_count += 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Loading and evaluating the best (according to validation loss) finetuned checkpoint" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "train_state = checkpoints.restore_checkpoint(jax_model_states, CHECKPOINT_DIR)\n", + "print(train_state.step)\n", + "tfm._train_state.mdl_vars['params'] = train_state.mdl_vars['params']['core_layer']\n", + "tfm.jit_decode()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "mae_losses = []\n", + "for batch in tqdm(test_batches.as_numpy_iterator()):\n", + " past = batch[0]\n", + " actuals = batch[3]\n", + " _, forecasts = tfm.forecast(list(past), [0] * past.shape[0])\n", + " forecasts = forecasts[:, 0 : actuals.shape[1], 5]\n", + " mae_losses.append(np.abs(forecasts - actuals).mean())\n", + "\n", + "print(f\"MAE: {np.mean(mae_losses)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## There is around a __9%__ reduction in MAE from finetuning." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "tfm_env_v3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/timesfm/__init__.py b/src/timesfm/__init__.py new file mode 100644 index 0000000..866e848 --- /dev/null +++ b/src/timesfm/__init__.py @@ -0,0 +1,17 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""TimesFM init file.""" + +from .timesfm import TimesFm, freq_map diff --git a/src/timesfm/data_loader.py b/src/timesfm/data_loader.py new file mode 100644 index 0000000..eeace7b --- /dev/null +++ b/src/timesfm/data_loader.py @@ -0,0 +1,261 @@ +# Copyright 2024 The Google Research Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""TF dataloaders for general timeseries datasets. + +The expected input format is csv file with a datetime index. +""" + + +from absl import logging +import numpy as np +import pandas as pd +from sklearn.preprocessing import StandardScaler +import tensorflow as tf +from . import time_features + + +class TimeSeriesdata(object): + """Data loader class.""" + + def __init__( + self, + data_path, + datetime_col, + num_cov_cols, + cat_cov_cols, + ts_cols, + train_range, + val_range, + test_range, + hist_len, + pred_len, + batch_size, + freq='H', + normalize=True, + epoch_len=None, + holiday=False, + permute=True, + ): + """Initialize objects. + + Args: + data_path: path to csv file + datetime_col: column name for datetime col + num_cov_cols: list of numerical global covariates + cat_cov_cols: list of categorical global covariates + ts_cols: columns corresponding to ts + train_range: tuple of train ranges + val_range: tuple of validation ranges + test_range: tuple of test ranges + hist_len: historical context + pred_len: prediction length + batch_size: batch size (number of ts in a batch) + freq: freq of original data + normalize: std. normalize data or not + epoch_len: num iters in an epoch + holiday: use holiday features or not + permute: permute ts in train batches or not + + Returns: + None + """ + self.data_df = pd.read_csv(open(data_path, 'r')) + if not num_cov_cols: + self.data_df['ncol'] = np.zeros(self.data_df.shape[0]) + num_cov_cols = ['ncol'] + if not cat_cov_cols: + self.data_df['ccol'] = np.zeros(self.data_df.shape[0]) + cat_cov_cols = ['ccol'] + self.data_df.fillna(0, inplace=True) + self.data_df.set_index( + pd.DatetimeIndex(self.data_df[datetime_col]), inplace=True + ) + self.num_cov_cols = num_cov_cols + self.cat_cov_cols = cat_cov_cols + self.ts_cols = ts_cols + self.train_range = train_range + self.val_range = val_range + self.test_range = test_range + data_df_idx = self.data_df.index + date_index = data_df_idx.union( + pd.date_range( + data_df_idx[-1] + pd.Timedelta(1, freq=freq), + periods=pred_len + 1, + freq=freq, + ) + ) + self.time_df = time_features.TimeCovariates( + date_index, holiday=holiday + ).get_covariates() + self.hist_len = hist_len + self.pred_len = pred_len + self.batch_size = batch_size + self.freq = freq + self.normalize = normalize + self.data_mat = self.data_df[self.ts_cols].to_numpy().transpose() + self.data_mat = self.data_mat[:, 0 : self.test_range[1]] + self.time_mat = self.time_df.to_numpy().transpose() + self.num_feat_mat = self.data_df[num_cov_cols].to_numpy().transpose() + self.cat_feat_mat, self.cat_sizes = self._get_cat_cols(cat_cov_cols) + self.normalize = normalize + if normalize: + self._normalize_data() + logging.info( + 'Data Shapes: %s, %s, %s, %s', + self.data_mat.shape, + self.time_mat.shape, + self.num_feat_mat.shape, + self.cat_feat_mat.shape, + ) + self.epoch_len = epoch_len + self.permute = permute + + def _get_cat_cols(self, cat_cov_cols): + """Get categorical columns.""" + cat_vars = [] + cat_sizes = [] + for col in cat_cov_cols: + dct = {x: i for i, x in enumerate(self.data_df[col].unique())} + cat_sizes.append(len(dct)) + mapped = self.data_df[col].map(lambda x: dct[x]).to_numpy().transpose() # pylint: disable=cell-var-from-loop + cat_vars.append(mapped) + return np.vstack(cat_vars), cat_sizes + + def _normalize_data(self): + self.scaler = StandardScaler() + train_mat = self.data_mat[:, self.train_range[0] : self.train_range[1]] + self.scaler = self.scaler.fit(train_mat.transpose()) + self.data_mat = self.scaler.transform(self.data_mat.transpose()).transpose() + + def train_gen(self): + """Generator for training data.""" + num_ts = len(self.ts_cols) + perm = np.arange( + self.train_range[0] + self.hist_len, + self.train_range[1] - self.pred_len, + ) + perm = np.random.permutation(perm) + hist_len = self.hist_len + logging.info('Hist len: %s', hist_len) + if not self.epoch_len: + epoch_len = len(perm) + else: + epoch_len = self.epoch_len + for idx in perm[0:epoch_len]: + for _ in range(num_ts // self.batch_size + 1): + if self.permute: + tsidx = np.random.choice(num_ts, size=self.batch_size, replace=False) + else: + tsidx = np.arange(num_ts) + dtimes = np.arange(idx - hist_len, idx + self.pred_len) + ( + bts_train, + bts_pred, + bfeats_train, + bfeats_pred, + bcf_train, + bcf_pred, + ) = self._get_features_and_ts(dtimes, tsidx, hist_len) + + all_data = [ + bts_train, + bfeats_train, + bcf_train, + bts_pred, + bfeats_pred, + bcf_pred, + tsidx, + ] + yield tuple(all_data) + + def test_val_gen(self, mode='val', shift=1): + """Generator for validation/test data.""" + if mode == 'val': + start = self.val_range[0] + end = self.val_range[1] - self.pred_len + 1 + elif mode == 'test': + start = self.test_range[0] + end = self.test_range[1] - self.pred_len + 1 + else: + raise NotImplementedError('Eval mode not implemented') + num_ts = len(self.ts_cols) + hist_len = self.hist_len + logging.info('Hist len: %s', hist_len) + perm = np.arange(start, end) + if self.epoch_len: + epoch_len = self.epoch_len + else: + epoch_len = len(perm) + for i in range(0, epoch_len, shift): + idx = perm[i] + for batch_idx in range(0, num_ts, self.batch_size): + tsidx = np.arange(batch_idx, min(batch_idx + self.batch_size, num_ts)) + dtimes = np.arange(idx - hist_len, idx + self.pred_len) + ( + bts_train, + bts_pred, + bfeats_train, + bfeats_pred, + bcf_train, + bcf_pred, + ) = self._get_features_and_ts(dtimes, tsidx, hist_len) + all_data = [ + bts_train, + bfeats_train, + bcf_train, + bts_pred, + bfeats_pred, + bcf_pred, + tsidx, + ] + yield tuple(all_data) + + def _get_features_and_ts(self, dtimes, tsidx, hist_len=None): + """Get features and ts in specified windows.""" + if hist_len is None: + hist_len = self.hist_len + data_times = dtimes[dtimes < self.data_mat.shape[1]] + bdata = self.data_mat[:, data_times] + bts = bdata[tsidx, :] + bnf = self.num_feat_mat[:, data_times] + bcf = self.cat_feat_mat[:, data_times] + btf = self.time_mat[:, dtimes] + if bnf.shape[1] < btf.shape[1]: + rem_len = btf.shape[1] - bnf.shape[1] + rem_rep = np.repeat(bnf[:, [-1]], repeats=rem_len) + rem_rep_cat = np.repeat(bcf[:, [-1]], repeats=rem_len) + bnf = np.hstack([bnf, rem_rep.reshape(bnf.shape[0], -1)]) + bcf = np.hstack([bcf, rem_rep_cat.reshape(bcf.shape[0], -1)]) + bfeats = np.vstack([btf, bnf]) + bts_train = bts[:, 0:hist_len] + bts_pred = bts[:, hist_len:] + bfeats_train = bfeats[:, 0:hist_len] + bfeats_pred = bfeats[:, hist_len:] + bcf_train = bcf[:, 0:hist_len] + bcf_pred = bcf[:, hist_len:] + return bts_train, bts_pred, bfeats_train, bfeats_pred, bcf_train, bcf_pred + + def tf_dataset(self, mode='train', shift=1): + """Tensorflow Dataset.""" + if mode == 'train': + gen_fn = self.train_gen + else: + gen_fn = lambda: self.test_val_gen(mode, shift) + output_types = tuple( + [tf.float32] * 2 + [tf.int32] + [tf.float32] * 2 + [tf.int32] * 2 + ) + dataset = tf.data.Dataset.from_generator(gen_fn, output_types) + dataset = dataset.prefetch(tf.data.experimental.AUTOTUNE) + return dataset diff --git a/src/timesfm/patched_decoder.py b/src/timesfm/patched_decoder.py new file mode 100644 index 0000000..5dbdcbc --- /dev/null +++ b/src/timesfm/patched_decoder.py @@ -0,0 +1,521 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Pax ML model for patched time-series decoder. + +The file implements Residual MLPs, Patched Decoder layers and PAX ML models. +""" + +import dataclasses +from typing import Optional, Tuple + +import einshape as es +from jax import lax +import jax.numpy as jnp +from praxis import base_layer +from praxis import base_model +from praxis import layers +from praxis import pax_fiddle +from praxis import py_utils +from praxis import pytypes +from praxis.layers import activations +from praxis.layers import embedding_softmax +from praxis.layers import linears +from praxis.layers import normalizations +from praxis.layers import stochastics +from praxis.layers import transformers + + +# PAX shortcuts +NestedMap = py_utils.NestedMap +JTensor = pytypes.JTensor + +LayerTpl = pax_fiddle.Config[base_layer.BaseLayer] +template_field = base_layer.template_field + + +PAD_VAL = 1123581321.0 +DEFAULT_QUANTILES = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] + +# NestedMap keys +_INPUT_TS = "input_ts" +_TARGET_FUTURE = "actual_ts" +_INPUT_PADDING = "input_padding" +_OUTPUT_TS = "output_ts" +_FREQ = "freq" +_OUTPUT_TOKENS = "output_tokens" +_STATS = "stats" + + +# Small numerical value. +_TOLERANCE = 1e-7 + + +def _shift_padded_seq(mask: JTensor, seq: JTensor) -> JTensor: + """Shifts rows of seq based on the first 0 in each row of the mask.""" + num = seq.shape[1] + + # Find the index of the first 0 in each row of the mask + first_zero_idx = jnp.argmin(mask, axis=1) + + # Create a range array for indexing + idx_range = jnp.arange(num) + + def shift_row(carry, x): + seq_row, shift = x + shifted_idx = (idx_range - shift) % num + shifted_row = seq_row[shifted_idx] + return carry, shifted_row + + # Use lax.scan to shift each row of seq based on the corresponding + # first_zero_idx. + _, shifted_seq = lax.scan(shift_row, None, (seq, first_zero_idx)) + + return shifted_seq + + +class ResidualBlock(base_layer.BaseLayer): + """Simple feedforward block with residual connection. + + Attributes: + input_dims: input dimension. + hidden_dims: hidden dimension. + output_dims: output dimension. + dropout_prob: dropout probability. + layer_norm: whether to use layer norm or not. + dropout_tpl: config for dropout. + ln_tpl: config for layer norm. + act_tpl: config for activation in hidden layer. + """ + + input_dims: int = 0 + hidden_dims: int = 0 + output_dims: int = 0 + dropout_prob: float = 0.0 + layer_norm: bool = False + dropout_tpl: LayerTpl = template_field(stochastics.Dropout) + ln_tpl: LayerTpl = template_field(normalizations.LayerNorm) + act_tpl: LayerTpl = template_field(activations.Swish) + + def setup(self): + lnorm_tpl = self.ln_tpl.clone() + lnorm_tpl.dim = self.output_dims + self.create_child("ln_layer", lnorm_tpl) + + dropout_tpl = self.dropout_tpl.clone() + dropout_tpl.keep_prob = 1.0 - self.dropout_prob + self.create_child("dropout", dropout_tpl) + + self.create_child( + "hidden_layer", + pax_fiddle.Config( + linears.FeedForward, + input_dims=self.input_dims, + output_dims=self.hidden_dims, + activation_tpl=self.act_tpl.clone(), + ), + ) + + self.create_child( + "output_layer", + pax_fiddle.Config( + linears.FeedForward, + input_dims=self.hidden_dims, + output_dims=self.output_dims, + activation_tpl=pax_fiddle.Config(activations.Identity), + ), + ) + + self.create_child( + "residual_layer", + pax_fiddle.Config( + linears.FeedForward, + input_dims=self.input_dims, + output_dims=self.output_dims, + activation_tpl=pax_fiddle.Config(activations.Identity), + ), + ) + + def __call__(self, inputs: JTensor) -> JTensor: + hidden = self.hidden_layer(inputs) + output = self.output_layer(hidden) + output = self.dropout(output) + residual = self.residual_layer(inputs) + if self.layer_norm: + return self.ln_layer(output + residual) + else: + return output + residual + + +def _masked_mean_std(inputs: JTensor, padding: JTensor) -> Tuple[JTensor, JTensor]: + """Calculates mean and standard deviation of arr across axis 1. + + It should exclude values where pad is 1. + + Args: + inputs: A JAX array of shape [b, n, p]. + padding: A JAX array of shape [b, n, p] with values 0 or 1. + + Returns: + A tuple containing the mean and standard deviation of arr. We return the + statistics of the first patch with more than three non-padded values. + """ + # Selecting the first pad with more than 3 unpadded values. + pad_sum = jnp.sum(1 - padding, axis=2) + + def _get_patch_index(arr: JTensor): + indices = jnp.argmax(arr >= 3, axis=1) + row_sum = (arr >= 3).sum(axis=1) + return jnp.where(row_sum == 0, arr.shape[1] - 1, indices) + + patch_indices = _get_patch_index(pad_sum) + bidxs = jnp.arange(inputs.shape[0]) + + arr = inputs[bidxs, patch_indices, :] + pad = padding[bidxs, patch_indices, :] + + # Create a mask where P is 0 + mask = 1 - pad + + # Calculate the number of valid elements + num_valid_elements = jnp.sum(mask, axis=1) + + num_valid_elements = jnp.where(num_valid_elements == 0, 1, num_valid_elements) + + # Calculate the masked sum and squared sum of M + masked_sum = jnp.sum(arr * mask, axis=1) + masked_squared_sum = jnp.sum((arr * mask) ** 2, axis=1) + + # Calculate the masked mean and standard deviation + masked_mean = masked_sum / num_valid_elements + masked_var = masked_squared_sum / num_valid_elements - masked_mean**2 + masked_var = jnp.where(masked_var < 0.0, 0.0, masked_var) + masked_std = jnp.sqrt(masked_var) + + return masked_mean, masked_std + + +def _create_quantiles() -> list[float]: + """Returns the quantiles for forecasting.""" + return DEFAULT_QUANTILES + + +class PatchedTimeSeriesDecoder(base_layer.BaseLayer): + """Patch decoder layer for time-series foundation model. + + Attributes: + patch_len: length of input patches. + horizon_len: length of output patches. Referred to as `output_patch_len` + during inference. + model_dims: model dimension of stacked transformer layer. + hidden_dims: hidden dimensions in fully connected layers. + quantiles: list of quantiles for non prob model. + residual_block_tpl: config for residual block. + stacked_transformer_params_tpl: config for stacked transformer. + use_freq: whether to use frequency encoding. + + In all of what followed, except specified otherwise, B is batch size, T is + sequence length of time-series. N is the number of input patches that can be + obtained from T. P is the input patch length and H is the horizon length. Q is + number of output logits. D is model dimension. + """ + + patch_len: int = 0 + horizon_len: int = 0 + model_dims: int = 0 + hidden_dims: int = 0 + quantiles: list[float] = dataclasses.field(default_factory=_create_quantiles) + residual_block_tpl: LayerTpl = template_field(ResidualBlock) + stacked_transformer_params_tpl: LayerTpl = template_field( + transformers.StackedTransformer + ) + use_freq: bool = True + + def setup(self) -> None: + """Construct the model.""" + num_outputs = len(self.quantiles) + 1 + + stl = self.stacked_transformer_params_tpl.clone() + stl.model_dims = self.model_dims + stl.hidden_dims = self.hidden_dims + stl.mask_self_attention = True + + self.create_child("stacked_transformer_layer", stl) + + input_resl = self.residual_block_tpl.clone() + ff_in_dims = 2 * self.patch_len + input_resl.input_dims = ff_in_dims + input_resl.hidden_dims = self.hidden_dims + input_resl.output_dims = self.model_dims + self.create_child( + "input_ff_layer", + input_resl, + ) + + horizon_resl = self.residual_block_tpl.clone() + horizon_resl.input_dims = self.model_dims + horizon_resl.hidden_dims = self.hidden_dims + horizon_resl.output_dims = self.horizon_len * num_outputs + self.create_child( + "horizon_ff_layer", + horizon_resl, + ) + + self.create_child( + "position_emb", + pax_fiddle.Config( + layers.PositionalEmbedding, embedding_dims=self.model_dims + ), + ) + + if self.use_freq: + self.create_child( + "freq_emb", + pax_fiddle.Config( + embedding_softmax.Embedding, + num_classes=3, + input_dims=self.model_dims, + ), + ) + + def transform_decode_state( + self, transform_fn: base_layer.DecodeStateTransformFn + ) -> None: + """Transforms all decode state variables based on transform_fn.""" + self.stacked_transformer_layer.transform_decode_state(transform_fn) + + def _forward_transform( + self, inputs: JTensor, patched_pads: JTensor + ) -> Tuple[JTensor, Tuple[JTensor, JTensor]]: + """Input is of shape [B, N, P].""" + mu, sigma = _masked_mean_std(inputs, patched_pads) + sigma = jnp.where(sigma < _TOLERANCE, 1.0, sigma) + # Normalize each patch. + outputs = (inputs - mu[:, None, None]) / sigma[:, None, None] + outputs = jnp.where(jnp.abs(inputs - PAD_VAL) < _TOLERANCE, PAD_VAL, outputs) + return outputs, (mu, sigma) + + def _reverse_transform( + self, outputs: JTensor, stats: Tuple[JTensor, JTensor] + ) -> JTensor: + """Output is of shape [B, N, P, Q].""" + mu, sigma = stats + return outputs * sigma[:, None, None, None] + mu[:, None, None, None] + + def _preprocess_input( + self, + input_ts: JTensor, + input_padding: JTensor, + pos_emb: Optional[JTensor] = None, + ) -> Tuple[JTensor, JTensor, Optional[Tuple[JTensor, JTensor]], JTensor]: + """Preprocess input for stacked transformer.""" + # Reshape into patches. + patched_inputs = es.jax_einshape("b(np)->bnp", input_ts, p=self.patch_len) + input_padding = jnp.where( + jnp.abs(input_ts - PAD_VAL) < _TOLERANCE, 1, input_padding + ) + patched_pads = es.jax_einshape("b(np)->bnp", input_padding, p=self.patch_len) + patched_inputs, stats = self._forward_transform(patched_inputs, patched_pads) + # B x N x D + patched_inputs = patched_inputs * (1.0 - patched_pads) + concat_inputs = jnp.concatenate([patched_inputs, patched_pads], axis=-1) + model_input = self.input_ff_layer(concat_inputs) + # A patch should not be padded even if there is at least one zero. + patched_padding = jnp.min(patched_pads, axis=-1) + + if pos_emb is None: + position_emb = self.position_emb(seq_length=model_input.shape[1]) + else: + position_emb = pos_emb + if self.do_eval: + if position_emb.shape[0] != model_input.shape[0]: + position_emb = jnp.repeat(position_emb, model_input.shape[0], axis=0) + position_emb = _shift_padded_seq(patched_padding, position_emb) + model_input += position_emb + + return model_input, patched_padding, stats, patched_inputs + + def _postprocess_output( + self, + model_output: JTensor, + num_outputs: int, + stats: Tuple[JTensor, JTensor], + ) -> JTensor: + """Postprocess output of stacked transformer.""" + # B x N x (H.Q) + output_ts = self.horizon_ff_layer(model_output) + output_ts = es.jax_einshape( + "bn(hq)->bnhq", output_ts, q=num_outputs, h=self.horizon_len + ) + return self._reverse_transform(output_ts, stats) + + def __call__(self, inputs: NestedMap) -> NestedMap: + """PatchTST call. + + Args: + inputs: A NestedMap containing (1) input_ts: input sequence of shape [B, + T] where T must be multiple of patch_length; (2) input_padding: that + contains padding map. + + Returns: + A nested map with two keys: + (1) 'output_tokens' of shape [B, N, D]. + (2) 'output_ts' of shape [B, N, H, Q] + (3) 'stats' a Tuple of statistics for renormalization. + """ + input_ts, input_padding = inputs[_INPUT_TS], inputs[_INPUT_PADDING] + num_outputs = len(self.quantiles) + 1 + model_input, patched_padding, stats, _ = self._preprocess_input( + input_ts=input_ts, + input_padding=input_padding, + ) + if self.use_freq: + freq = inputs[_FREQ].astype(jnp.int32) + f_emb = self.freq_emb(freq) # B x 1 x D + f_emb = jnp.repeat(f_emb, model_input.shape[1], axis=1) + model_input += f_emb + model_output = self.stacked_transformer_layer(model_input, patched_padding) + + output_ts = self._postprocess_output(model_output, num_outputs, stats) + return NestedMap( + {_OUTPUT_TOKENS: model_output, _OUTPUT_TS: output_ts, _STATS: stats} + ) + + def decode( + self, + inputs: NestedMap, + horizon_len: int, + output_patch_len: Optional[int] = None, + max_len: int = 512, + ) -> tuple[JTensor, JTensor]: + """Auto-regressive decoding without caching. + + Args: + inputs: input time-series and paddings. Time-series shape B x C, padding + shape shape B x (C + H) where H is the prediction length. + horizon_len: prediction length. + output_patch_len: output length to be fetched from one step of + auto-regressive decoding. + max_len: maximum training context length. + + Returns: + Tuple of two forecasting results: + - Point (mean) output predictions as a tensor with shape B x H. + - Full predictions (mean and quantiles) as a tensor with shape + B x H x (1 + # quantiles). + """ + final_out = inputs[_INPUT_TS] + inp_time_len = final_out.shape[1] + paddings = inputs[_INPUT_PADDING] + if self.use_freq: + freq = inputs[_FREQ].astype(jnp.int32) + else: + freq = jnp.zeros([final_out.shape[0], 1], dtype=jnp.int32) + full_outputs = [] + if paddings.shape[1] != final_out.shape[1] + horizon_len: + raise ValueError( + "Length of paddings must match length of input + horizon_len:" + f" {paddings.shape[1]} != {final_out.shape[1]} + {horizon_len}" + ) + if output_patch_len is None: + output_patch_len = self.horizon_len + num_decode_patches = (horizon_len + output_patch_len - 1) // output_patch_len + for _ in range(num_decode_patches): + current_padding = paddings[:, 0 : final_out.shape[1]] + input_ts = final_out[:, -max_len:] + input_padding = current_padding[:, -max_len:] + model_input = NestedMap( + input_ts=input_ts, + input_padding=input_padding, + freq=freq, + ) + fprop_outputs = self(model_input)[_OUTPUT_TS] + # (full batch, last patch, output_patch_len, index of mean forecast = 0) + new_ts = fprop_outputs[:, -1, :output_patch_len, 0] + # (full batch, last patch, output_patch_len, all output indices) + full_outputs.append(fprop_outputs[:, -1, :output_patch_len, :]) + final_out = jnp.concatenate([final_out, new_ts], axis=-1) + + return ( + final_out[:, inp_time_len : inp_time_len + horizon_len], + jnp.concatenate(full_outputs, axis=1)[:, 0:horizon_len, :], + ) + + +class PatchedDecoderFinetuneModel(base_model.BaseModel): + """Model class for finetuning patched time-series decoder. + + Attributes: + core_layer_tpl: config for core layer. + freq: freq to finetune on. + """ + + core_layer_tpl: LayerTpl = template_field(PatchedTimeSeriesDecoder) + freq: int = 0 + + def setup(self) -> None: + self.create_child("core_layer", self.core_layer_tpl) + + def compute_predictions(self, input_batch: NestedMap) -> NestedMap: + input_ts = input_batch[_INPUT_TS] + input_padding = jnp.zeros_like(input_ts) + context_len = input_ts.shape[1] + input_patch_len = self.core_layer_tpl.patch_len + context_pad = ( + (context_len + input_patch_len - 1) // input_patch_len + ) * input_patch_len - context_len + + input_ts = jnp.pad(input_ts, [(0, 0), (context_pad, 0)]) + input_padding = jnp.pad( + input_padding, [(0, 0), (context_pad, 0)], constant_values=1 + ) + freq = jnp.ones([input_ts.shape[0], 1], dtype=jnp.int32) * self.freq + new_input_batch = NestedMap( + input_ts=input_ts, + input_padding=input_padding, + freq=freq, + ) + return self.core_layer(new_input_batch) + + def _quantile_loss( + self, pred: JTensor, actual: JTensor, quantile: float + ) -> JTensor: + """Calculates quantile loss. + + Args: + pred: B x T + actual: B x T + quantile: quantile at which loss is computed. + + Returns: + per coordinate loss. + """ + dev = actual - pred + loss_first = dev * quantile + loss_second = -dev * (1.0 - quantile) + return 2 * jnp.where(loss_first >= 0, loss_first, loss_second) + + def compute_loss( + self, prediction_output: NestedMap, input_batch: NestedMap + ) -> Tuple[NestedMap, NestedMap]: + output_ts = prediction_output[_OUTPUT_TS] + actual_ts = input_batch[_TARGET_FUTURE] + pred_ts = output_ts[:, -1, 0 : actual_ts.shape[1], :] + loss = jnp.square(pred_ts[:, :, 0] - actual_ts) + for i, quantile in enumerate(self.core_layer.quantiles): + loss += self._quantile_loss(pred_ts[:, :, i + 1], actual_ts, quantile) + loss = loss.mean() + loss_weight = jnp.array(1.0, dtype=jnp.float32) + per_example_out = NestedMap() + return {"avg_qloss": (loss, loss_weight)}, per_example_out diff --git a/src/timesfm/time_features.py b/src/timesfm/time_features.py new file mode 100644 index 0000000..0bd90a9 --- /dev/null +++ b/src/timesfm/time_features.py @@ -0,0 +1,215 @@ +# Copyright 2024 The Google Research Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Directory to extract time covariates. + +Extract time covariates from datetime. +""" + +import numpy as np +import pandas as pd +from pandas.tseries.holiday import EasterMonday +from pandas.tseries.holiday import GoodFriday +from pandas.tseries.holiday import Holiday +from pandas.tseries.holiday import SU +from pandas.tseries.holiday import TH +from pandas.tseries.holiday import USColumbusDay +from pandas.tseries.holiday import USLaborDay +from pandas.tseries.holiday import USMartinLutherKingJr +from pandas.tseries.holiday import USMemorialDay +from pandas.tseries.holiday import USPresidentsDay +from pandas.tseries.holiday import USThanksgivingDay +from pandas.tseries.offsets import DateOffset +from pandas.tseries.offsets import Day +from pandas.tseries.offsets import Easter +from sklearn.preprocessing import StandardScaler +from tqdm import tqdm + + +# This is 183 to cover half a year (in both directions), also for leap years +# + 17 as Eastern can be between March, 22 - April, 25 +MAX_WINDOW = 183 + 17 + + +def _distance_to_holiday(holiday): + """Return distance to given holiday.""" + + def _distance_to_day(index): + holiday_date = holiday.dates( + index - pd.Timedelta(days=MAX_WINDOW), + index + pd.Timedelta(days=MAX_WINDOW), + ) + assert ( + len(holiday_date) != 0 # pylint: disable=g-explicit-length-test + ), f"No closest holiday for the date index {index} found." + # It sometimes returns two dates if it is exactly half a year after the + # holiday. In this case, the smaller distance (182 days) is returned. + return (index - holiday_date[0]).days + + return _distance_to_day + + +EasterSunday = Holiday( + "Easter Sunday", month=1, day=1, offset=[Easter(), Day(0)] +) +NewYearsDay = Holiday("New Years Day", month=1, day=1) +SuperBowl = Holiday( + "Superbowl", month=2, day=1, offset=DateOffset(weekday=SU(1)) +) +MothersDay = Holiday( + "Mothers Day", month=5, day=1, offset=DateOffset(weekday=SU(2)) +) +IndependenceDay = Holiday("Independence Day", month=7, day=4) +ChristmasEve = Holiday("Christmas", month=12, day=24) +ChristmasDay = Holiday("Christmas", month=12, day=25) +NewYearsEve = Holiday("New Years Eve", month=12, day=31) +BlackFriday = Holiday( + "Black Friday", + month=11, + day=1, + offset=[pd.DateOffset(weekday=TH(4)), Day(1)], +) +CyberMonday = Holiday( + "Cyber Monday", + month=11, + day=1, + offset=[pd.DateOffset(weekday=TH(4)), Day(4)], +) + +HOLIDAYS = [ + EasterMonday, + GoodFriday, + USColumbusDay, + USLaborDay, + USMartinLutherKingJr, + USMemorialDay, + USPresidentsDay, + USThanksgivingDay, + EasterSunday, + NewYearsDay, + SuperBowl, + MothersDay, + IndependenceDay, + ChristmasEve, + ChristmasDay, + NewYearsEve, + BlackFriday, + CyberMonday, +] + + +class TimeCovariates(object): + """Extract all time covariates except for holidays.""" + + def __init__( + self, + datetimes, + normalized=True, + holiday=False, + ): + """Init function. + + Args: + datetimes: pandas DatetimeIndex (lowest granularity supported is min) + normalized: whether to normalize features or not + holiday: fetch holiday features or not + + Returns: + None + """ + self.normalized = normalized + self.dti = datetimes + self.holiday = holiday + + def _minute_of_hour(self): + minutes = np.array(self.dti.minute, dtype=np.float32) + if self.normalized: + minutes = minutes / 59.0 - 0.5 + return minutes + + def _hour_of_day(self): + hours = np.array(self.dti.hour, dtype=np.float32) + if self.normalized: + hours = hours / 23.0 - 0.5 + return hours + + def _day_of_week(self): + day_week = np.array(self.dti.dayofweek, dtype=np.float32) + if self.normalized: + day_week = day_week / 6.0 - 0.5 + return day_week + + def _day_of_month(self): + day_month = np.array(self.dti.day, dtype=np.float32) + if self.normalized: + day_month = day_month / 30.0 - 0.5 + return day_month + + def _day_of_year(self): + day_year = np.array(self.dti.dayofyear, dtype=np.float32) + if self.normalized: + day_year = day_year / 364.0 - 0.5 + return day_year + + def _month_of_year(self): + month_year = np.array(self.dti.month, dtype=np.float32) + if self.normalized: + month_year = month_year / 11.0 - 0.5 + return month_year + + def _week_of_year(self): + week_year = np.array(self.dti.strftime("%U").astype(int), dtype=np.float32) + if self.normalized: + week_year = week_year / 51.0 - 0.5 + return week_year + + def _get_holidays(self): + dti_series = self.dti.to_series() + hol_variates = np.vstack([ + dti_series.apply(_distance_to_holiday(h)).values for h in tqdm(HOLIDAYS) + ]) + # hol_variates is (num_holiday, num_time_steps), the normalization should be + # performed in the num_time_steps dimension. + return StandardScaler().fit_transform(hol_variates.T).T + + def get_covariates(self): + """Get all time covariates.""" + moh = self._minute_of_hour().reshape(1, -1) + hod = self._hour_of_day().reshape(1, -1) + dom = self._day_of_month().reshape(1, -1) + dow = self._day_of_week().reshape(1, -1) + doy = self._day_of_year().reshape(1, -1) + moy = self._month_of_year().reshape(1, -1) + woy = self._week_of_year().reshape(1, -1) + + all_covs = [ + moh, + hod, + dom, + dow, + doy, + moy, + woy, + ] + columns = ["moh", "hod", "dom", "dow", "doy", "moy", "woy"] + if self.holiday: + hol_covs = self._get_holidays() + all_covs.append(hol_covs) + columns += [f"hol_{i}" for i in range(len(HOLIDAYS))] + + return pd.DataFrame( + data=np.vstack(all_covs).transpose(), + columns=columns, + index=self.dti, + ) diff --git a/src/timesfm/timesfm.py b/src/timesfm/timesfm.py new file mode 100644 index 0000000..5dc7611 --- /dev/null +++ b/src/timesfm/timesfm.py @@ -0,0 +1,605 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""TimesFM forecast API for inference.""" + +import logging +import multiprocessing +from os import path +import time +from typing import Any, Literal, Optional, Sequence + +import einshape as es +import jax +import jax.numpy as jnp +import numpy as np +import pandas as pd +from huggingface_hub import snapshot_download +from paxml import checkpoints +from paxml import tasks_lib +from praxis import base_hyperparams +from praxis import base_layer +from praxis import pax_fiddle +from praxis import py_utils +from praxis import pytypes +from praxis.layers import normalizations +from praxis.layers import transformers +from . import patched_decoder +from utilsforecast.processing import make_future_dataframe + +instantiate = base_hyperparams.instantiate +NestedMap = py_utils.NestedMap +JTensor = pytypes.JTensor + + +def process_group(key, group, value_name, forecast_context_len): + group = group.tail(forecast_context_len) + return np.array(group[value_name], dtype=np.float32), key + + +def moving_average(arr, window_size): + """Calculates the moving average using NumPy's convolution function.""" + # Pad with zeros to handle initial window positions + arr_padded = np.pad(arr, (window_size - 1, 0), "constant") + smoothed_arr = ( + np.convolve(arr_padded, np.ones(window_size), "valid") / window_size + ) + return [smoothed_arr, arr - smoothed_arr] + + +def freq_map(freq: str): + """Returns the frequency map for the given frequency string.""" + freq = str.upper(freq) + if ( + freq.endswith("H") + or freq.endswith("T") + or freq.endswith("MIN") + or freq.endswith("D") + or freq.endswith("B") + or freq.endswith("U") + ): + return 0 + elif freq.endswith(("W", "M", "MS")): + return 1 + elif freq.endswith("Y") or freq.endswith("Q"): + return 2 + else: + raise ValueError(f"Invalid frequency: {freq}") + + +class TimesFm: + """TimesFM forecast API for inference. + + This class is the scaffolding for calling TimesFM forecast. To properly use: + 1. Create an instance with the correct hyperparameters of a TimesFM model. + 2. Call `load_from_checkpoint` to load a compatible checkpoint. + 3. Call `forecast` for inference. + + Given the model size, this API does not shard the model weights for SPMD. All + parallelism happens on the data dimension. + + Compilation happens during the first time `forecast` is called and uses the + `per_core_batch_size` to set and freeze the input signature. Subsequent calls + to `forecast` reflect the actual inference latency. + + Attributes: + per_core_batch_size: Batch size on each core for data parallelism. + backend: One of "cpu", "gpu" or "tpu". + num_devices: Number of cores provided the backend. + global_batch_size: per_core_batch_size * num_devices. Each batch of + inference task will be padded with respect to global_batch_size to + minimize latency. + context_len: Largest context length the model allows for each decode call. + This technically can be any large, but practically should set to the + context length the checkpoint was trained with. + horizon_len: Forecast horizon. + input_patch_len: Input patch len. + output_patch_len: Output patch len. How many timepoints is taken from a + single step of autoregressive decoding. Can be set as the training horizon + of the checkpoint. + mesh_shape: Shape of the data parallelism mesh. + mesh_name: Names of the data parallelism mesh. + model_p: Configuration of the TimesFM model deduced from the hparams. + """ + + def _logging(self, s): + if self._verbose: + print(s) + + def __init__( + self, + context_len: int, + horizon_len: int, + input_patch_len: int, + output_patch_len: int, + num_layers: int, + model_dims: int, + per_core_batch_size: int = 32, + backend: Literal["cpu", "gpu", "tpu"] = "cpu", + quantiles: Sequence[float] | None = None, + verbose: bool = True, + ) -> None: + """Initializes the TimesFM forecast API. + + Args: + context_len: Largest context length the model allows for each decode call. + This technically can be any large, but practically should set to the + context length the checkpoint was trained with. + horizon_len: Forecast horizon. + input_patch_len: Input patch len. + output_patch_len: Output patch len. How many timepoints is taken from a + single step of autoregressive decoding. Can be set as the training + horizon of the checkpoint. + num_layers: Number of transformer layers. + model_dims: Model dimension. + per_core_batch_size: Batch size on each core for data parallelism. + backend: One of "cpu", "gpu" or "tpu". + quantiles: list of output quantiles supported by the model. + verbose: Whether to print logging messages. + """ + self.per_core_batch_size = per_core_batch_size + self.backend = backend + self.num_devices = jax.local_device_count(self.backend) + self.global_batch_size = self.per_core_batch_size * self.num_devices + + self.context_len = context_len + self.horizon_len = horizon_len + self.input_patch_len = input_patch_len + self.output_patch_len = output_patch_len + + self.mesh_shape = [1, self.num_devices, 1] + self.mesh_name = ["replica", "data", "mdl"] + if quantiles is None: + quantiles = patched_decoder.DEFAULT_QUANTILES + + self.model_p = pax_fiddle.Config( + patched_decoder.PatchedTimeSeriesDecoder, + name="patched_decoder", + horizon_len=self.output_patch_len, + patch_len=input_patch_len, + model_dims=model_dims, + hidden_dims=model_dims, + residual_block_tpl=pax_fiddle.Config(patched_decoder.ResidualBlock), + quantiles=quantiles, + use_freq=True, + stacked_transformer_params_tpl=pax_fiddle.Config( + transformers.StackedTransformer, + num_heads=16, + num_layers=num_layers, + transformer_layer_params_tpl=pax_fiddle.Config( + transformers.Transformer, + ln_tpl=pax_fiddle.Config( + normalizations.RmsNorm, + ), + ), + ), + ) + + self._key1, self._key2 = jax.random.split(jax.random.PRNGKey(42)) + self._model = None + self._train_state = None + self._pmapped_decode = None + self._verbose = verbose + self._eval_context = base_layer.JaxContext.HParams(do_eval=True) + try: + multiprocessing.set_start_method("spawn") + except RuntimeError: + print("Multiprocessing context has already been set.") + + def _get_sample_inputs(self): + return { + "input_ts": jnp.zeros( + ( + self.per_core_batch_size, + self.context_len + self.output_patch_len, + ), + dtype=jnp.float32, + ), + "input_padding": jnp.zeros( + ( + self.per_core_batch_size, + self.context_len + self.output_patch_len, + ), + dtype=jnp.float32, + ), + "freq": jnp.zeros( + ( + self.per_core_batch_size, + 1, + ), + dtype=jnp.int32, + ), + } + + def load_from_checkpoint( + self, + checkpoint_path: Optional[str] = None, + repo_id: str = "google/timesfm-1.0-200m", + checkpoint_type: checkpoints.CheckpointType = checkpoints.CheckpointType.FLAX, + step: int | None = None, + ) -> None: + """Loads a checkpoint and compiles the decoder. + + Args: + checkpoint_path: Optional path to the checkpoint directory. + repo_id: Hugging Face Hub repo id. + checkpoint_type: type of PAX checkpoint + step: step of the checkpoint to load. If `None`, load latest checkpoint. + """ + # Download the checkpoint from Hugging Face Hub if not given + if checkpoint_path is None: + checkpoint_path = path.join(snapshot_download(repo_id), "checkpoints") + + # Initialize the model weights. + self._logging("Constructing model weights.") + start_time = time.time() + self._model = instantiate(self.model_p) + var_weight_hparams = self._model.abstract_init_with_metadata( + self._get_sample_inputs(), do_eval=True + ) + train_state_partition_specs = tasks_lib.create_state_partition_specs( + var_weight_hparams, + mesh_shape=self.mesh_shape, + mesh_axis_names=self.mesh_name, + discard_opt_states=True, + learners=None, + ) + train_state_local_shapes = tasks_lib.create_state_unpadded_shapes( + var_weight_hparams, + discard_opt_states=True, + learners=None, + ) + self._logging( + f"Constructed model weights in {time.time() - start_time:.2f} seconds." + ) + + # Load the model weights. + self._logging(f"Restoring checkpoint from {checkpoint_path}.") + start_time = time.time() + self._train_state = checkpoints.restore_checkpoint( + train_state_local_shapes, + checkpoint_dir=checkpoint_path, + checkpoint_type=checkpoint_type, + state_specs=train_state_partition_specs, + step=step, + ) + self._logging( + f"Restored checkpoint in {time.time() - start_time:.2f} seconds." + ) + self.jit_decode() + + def jit_decode(self): + """Jitting decoding function.""" + # Initialize and jit the decode fn. + def _decode(inputs): + assert self._model is not None + assert self._train_state is not None + return self._model.apply( + self._train_state.mdl_vars, + inputs, + horizon_len=self.horizon_len, + output_patch_len=self.output_patch_len, + max_len=self.context_len, + rngs={ + base_layer.PARAMS: self._key1, + base_layer.RANDOM: self._key2, + }, + method=self._model.decode, + ) + + self._logging("Jitting decoding.") + start_time = time.time() + self._pmapped_decode = jax.pmap( + _decode, + axis_name="batch", + devices=jax.devices(self.backend), + backend=self.backend, + axis_size=self.num_devices, + ) + with base_layer.JaxContext.new_context(hparams=self._eval_context): + _ = self._pmapped_decode( + NestedMap({ + "input_ts": jnp.zeros( + ( + self.num_devices, + self.per_core_batch_size, + self.context_len, + ), + dtype=jnp.float32, + ), + "input_padding": jnp.zeros( + ( + self.num_devices, + self.per_core_batch_size, + self.context_len + self.horizon_len, + ), + dtype=jnp.float32, + ), + "date_features": None, + "freq": jnp.zeros( + (self.num_devices, self.per_core_batch_size, 1), + dtype=jnp.int32, + ), + }) + ) + self._logging(f"Jitted decoding in {time.time() - start_time:.2f} seconds.") + + def _preprocess( + self, inputs: Sequence[np.array], freq: Sequence[int] + ) -> tuple[np.array, np.array, int]: + """Formats and pads raw inputs to feed into the model. + + This function both pads each time series to match the context length, and + pads the inputs to meet the SPMD shape requirement. + + Args: + inputs: A list of 1d JTensors. Each JTensor is the context time series of + a single forecast task. + freq: list of frequencies + + Returns: + A tuple of: + - the padded input time series to meet the model required context. + - the padding indicator. + - the number of padded examples for SPMD so that each core has the same + number (a multiple of `batch_size`) of examples. + """ + + input_ts, input_padding, inp_freq = [], [], [] + + pmap_pad = ( + (len(inputs) - 1) // self.global_batch_size + 1 + ) * self.global_batch_size - len(inputs) + + for i, ts in enumerate(inputs): + input_len = ts.shape[0] + padding = np.zeros(shape=(input_len + self.horizon_len,), dtype=float) + if input_len < self.context_len: + num_front_pad = self.context_len - input_len + ts = np.concatenate( + [np.zeros(shape=(num_front_pad,), dtype=float), ts], axis=0 + ) + padding = np.concatenate( + [np.ones(shape=(num_front_pad,), dtype=float), padding], axis=0 + ) + elif input_len > self.context_len: + ts = ts[-self.context_len :] + padding = padding[-(self.context_len + self.horizon_len) :] + + input_ts.append(ts) + input_padding.append(padding) + inp_freq.append(freq[i]) + + # Padding the remainder batch. + for _ in range(pmap_pad): + input_ts.append(input_ts[-1]) + input_padding.append(input_padding[-1]) + inp_freq.append(inp_freq[-1]) + + return ( + np.stack(input_ts, axis=0), + np.stack(input_padding, axis=0), + np.array(inp_freq).astype(np.int32).reshape(-1, 1), + pmap_pad, + ) + + def forecast( + self, + inputs: Sequence[Any], + freq: Sequence[int] | None = None, + window_size: int | None = None, + forecast_context_len: int | None = None, + ) -> tuple[JTensor, JTensor]: + """Forecasts on a list of time series. + + Args: + inputs: list of time series forecast contexts. Each context time series + should be in a format convertible to JTensor by `jnp.array`. + freq: frequency of each context time series. 0 for high frequency + (default), 1 for medium, and 2 for low. Notice this is different from + the `freq` required by `forecast_on_df`. + window_size: window size of trend + residual decomposition. If None then + we do not do decomposition. + forecast_context_len: optional max context length. + + Returns: + A tuple for JTensors: + - the mean forecast of size (# inputs, # forecast horizon), + - the full forecast (mean + quantiles) of size + (# inputs, # forecast horizon, 1 + # quantiles). + + Raises: + ValueError: If the checkpoint is not properly loaded. + """ + if not self._train_state or not self._model: + raise ValueError( + "Checkpoint not loaded. Call `load_from_checkpoint` before" + " `forecast`." + ) + if forecast_context_len is None: + forecast_context_len = self.context_len + inputs = [np.array(ts)[-forecast_context_len:] for ts in inputs] + inp_min = np.min([np.min(ts) for ts in inputs]) + + if window_size is not None: + new_inputs = [] + for ts in inputs: + new_inputs.extend(moving_average(ts, window_size)) + inputs = new_inputs + + if freq is None: + logging.info("No frequency provided via `freq`. Default to high (0).") + freq = [0] * len(inputs) + + input_ts, input_padding, inp_freq, pmap_pad = self._preprocess(inputs, freq) + with base_layer.JaxContext.new_context(hparams=self._eval_context): + mean_outputs = [] + full_outputs = [] + assert input_ts.shape[0] % self.global_batch_size == 0 + for i in range(input_ts.shape[0] // self.global_batch_size): + input_ts_in = jnp.array( + input_ts[ + i * self.global_batch_size : (i + 1) * self.global_batch_size + ] + ) + input_padding_in = jnp.array( + input_padding[ + i * self.global_batch_size : (i + 1) * self.global_batch_size + ], + ) + inp_freq_in = jnp.array( + inp_freq[ + i * self.global_batch_size : (i + 1) * self.global_batch_size, : + ], + dtype=jnp.int32, + ) + pmapped_inputs = NestedMap({ + "input_ts": es.jax_einshape( + "(db)...->db...", + input_ts_in, + d=self.num_devices, + ), + "input_padding": es.jax_einshape( + "(db)...->db...", + input_padding_in, + d=self.num_devices, + ), + "date_features": None, + "freq": es.jax_einshape( + "(db)...->db...", + inp_freq_in, + d=self.num_devices, + ), + }) + mean_output, full_output = self._pmapped_decode(pmapped_inputs) + mean_output = es.jax_einshape( + "db...->(db)...", mean_output, d=self.num_devices + ) + full_output = es.jax_einshape( + "db...->(db)...", full_output, d=self.num_devices + ) + mean_output = np.array(mean_output) + full_output = np.array(full_output) + mean_outputs.append(mean_output) + full_outputs.append(full_output) + + mean_outputs = np.concatenate(mean_outputs, axis=0) + full_outputs = np.concatenate(full_outputs, axis=0) + + if pmap_pad > 0: + mean_outputs = mean_outputs[:-pmap_pad, ...] + full_outputs = full_outputs[:-pmap_pad, ...] + + if window_size is not None: + mean_outputs = mean_outputs[0::2, ...] + mean_outputs[1::2, ...] + full_outputs = full_outputs[0::2, ...] + full_outputs[1::2, ...] + if inp_min >= 0: + mean_outputs = np.maximum(mean_outputs, 0.0) + full_outputs = np.maximum(full_outputs, 0.0) + return mean_outputs, full_outputs + + def forecast_on_df( + self, + inputs: pd.DataFrame, + freq: str, + forecast_context_len: int = 0, + value_name: str = "values", + model_name: str = "timesfm", + window_size: int | None = None, + num_jobs: int = 1, + ) -> pd.DataFrame: + """Forecasts on a list of time series. + + Args: + inputs: A pd.DataFrame of all time series. The dataframe should have a + `unique_id` column for identifying the time series, a `ds` column for + timestamps and a value column for the time series values. + freq: string valued `freq` of data. Notice this is different from the + `freq` required by `forecast`. See `freq_map` for allowed values. + forecast_context_len: If provided none zero, we take the last + `forecast_context_len` time-points from each series as the forecast + context instead of the `context_len` set by the model. + value_name: The name of the value column. + model_name: name of the model to be written into future df. + window_size: window size of trend + residual decomposition. If None then + we do not do decomposition. + num_jobs: number of parallel processes to use for dataframe processing. + + Returns: + Future forecasts dataframe. + """ + if not ( + "unique_id" in inputs.columns + and "ds" in inputs.columns + and value_name in inputs.columns + ): + raise ValueError( + f"DataFrame must have unique_id, ds and {value_name} columns." + ) + if not forecast_context_len: + forecast_context_len = self.context_len + logging.info("Preprocessing dataframe.") + df_sorted = inputs.sort_values(by=["unique_id", "ds"]) + new_inputs = [] + uids = [] + if num_jobs == 1: + print("Processing dataframe with single process.") + for key, group in df_sorted.groupby("unique_id"): + inp, uid = process_group( + key, + group, + value_name, + forecast_context_len, + ) + new_inputs.append(inp) + uids.append(uid) + else: + if num_jobs == -1: + num_jobs = multiprocessing.cpu_count() + print("Processing dataframe with multiple processes.") + with multiprocessing.Pool(processes=num_jobs) as pool: + results = pool.starmap( + process_group, + [ + (key, group, value_name, forecast_context_len) + for key, group in df_sorted.groupby("unique_id") + ], + ) + new_inputs, uids = zip(*results) + print("Finished preprocessing dataframe.") + freq_inps = [freq_map(freq)] * len(new_inputs) + _, full_forecast = self.forecast( + new_inputs, freq=freq_inps, window_size=window_size + ) + print("Finished forecasting.") + fcst_df = make_future_dataframe( + uids=uids, + last_times=df_sorted.groupby("unique_id")["ds"].tail(1), + h=self.horizon_len, + freq=freq, + ) + fcst_df[model_name] = full_forecast[:, 0 : self.horizon_len, 0].reshape( + -1, 1 + ) + + if self._model.quantiles is not None: + for i, q in enumerate(self._model.quantiles): + q_col = f"{model_name}-q-{q}" + fcst_df[q_col] = full_forecast[:, 0 : self.horizon_len, 1 + i].reshape( + -1, 1 + ) + if q == 0.5: + fcst_df[model_name] = fcst_df[q_col] + logging.info("Finished creating output dataframe.") + return fcst_df From 739d74e19911e5baafc9c5d23bf3bcd154ce9c24 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Mon, 8 Jul 2024 18:37:00 +0000 Subject: [PATCH 11/18] deleting old files --- __init__.py | 21 - .../long_horizon_benchmarks/data_loader.py | 261 -------- .../long_horizon_benchmarks/time_features.py | 215 ------- src/patched_decoder.py | 461 -------------- src/timesfm.py | 602 ------------------ 5 files changed, 1560 deletions(-) delete mode 100644 __init__.py delete mode 100644 experiments/long_horizon_benchmarks/data_loader.py delete mode 100644 experiments/long_horizon_benchmarks/time_features.py delete mode 100644 src/patched_decoder.py delete mode 100644 src/timesfm.py diff --git a/__init__.py b/__init__.py deleted file mode 100644 index 8275b16..0000000 --- a/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2024 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""TimesFM init file.""" - -from __future__ import absolute_import - -from .src.patched_decoder import PatchedTimeSeriesDecoder -from .src.timesfm import TimesFm -from .src.timesfm import freq_map diff --git a/experiments/long_horizon_benchmarks/data_loader.py b/experiments/long_horizon_benchmarks/data_loader.py deleted file mode 100644 index eeace7b..0000000 --- a/experiments/long_horizon_benchmarks/data_loader.py +++ /dev/null @@ -1,261 +0,0 @@ -# Copyright 2024 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""TF dataloaders for general timeseries datasets. - -The expected input format is csv file with a datetime index. -""" - - -from absl import logging -import numpy as np -import pandas as pd -from sklearn.preprocessing import StandardScaler -import tensorflow as tf -from . import time_features - - -class TimeSeriesdata(object): - """Data loader class.""" - - def __init__( - self, - data_path, - datetime_col, - num_cov_cols, - cat_cov_cols, - ts_cols, - train_range, - val_range, - test_range, - hist_len, - pred_len, - batch_size, - freq='H', - normalize=True, - epoch_len=None, - holiday=False, - permute=True, - ): - """Initialize objects. - - Args: - data_path: path to csv file - datetime_col: column name for datetime col - num_cov_cols: list of numerical global covariates - cat_cov_cols: list of categorical global covariates - ts_cols: columns corresponding to ts - train_range: tuple of train ranges - val_range: tuple of validation ranges - test_range: tuple of test ranges - hist_len: historical context - pred_len: prediction length - batch_size: batch size (number of ts in a batch) - freq: freq of original data - normalize: std. normalize data or not - epoch_len: num iters in an epoch - holiday: use holiday features or not - permute: permute ts in train batches or not - - Returns: - None - """ - self.data_df = pd.read_csv(open(data_path, 'r')) - if not num_cov_cols: - self.data_df['ncol'] = np.zeros(self.data_df.shape[0]) - num_cov_cols = ['ncol'] - if not cat_cov_cols: - self.data_df['ccol'] = np.zeros(self.data_df.shape[0]) - cat_cov_cols = ['ccol'] - self.data_df.fillna(0, inplace=True) - self.data_df.set_index( - pd.DatetimeIndex(self.data_df[datetime_col]), inplace=True - ) - self.num_cov_cols = num_cov_cols - self.cat_cov_cols = cat_cov_cols - self.ts_cols = ts_cols - self.train_range = train_range - self.val_range = val_range - self.test_range = test_range - data_df_idx = self.data_df.index - date_index = data_df_idx.union( - pd.date_range( - data_df_idx[-1] + pd.Timedelta(1, freq=freq), - periods=pred_len + 1, - freq=freq, - ) - ) - self.time_df = time_features.TimeCovariates( - date_index, holiday=holiday - ).get_covariates() - self.hist_len = hist_len - self.pred_len = pred_len - self.batch_size = batch_size - self.freq = freq - self.normalize = normalize - self.data_mat = self.data_df[self.ts_cols].to_numpy().transpose() - self.data_mat = self.data_mat[:, 0 : self.test_range[1]] - self.time_mat = self.time_df.to_numpy().transpose() - self.num_feat_mat = self.data_df[num_cov_cols].to_numpy().transpose() - self.cat_feat_mat, self.cat_sizes = self._get_cat_cols(cat_cov_cols) - self.normalize = normalize - if normalize: - self._normalize_data() - logging.info( - 'Data Shapes: %s, %s, %s, %s', - self.data_mat.shape, - self.time_mat.shape, - self.num_feat_mat.shape, - self.cat_feat_mat.shape, - ) - self.epoch_len = epoch_len - self.permute = permute - - def _get_cat_cols(self, cat_cov_cols): - """Get categorical columns.""" - cat_vars = [] - cat_sizes = [] - for col in cat_cov_cols: - dct = {x: i for i, x in enumerate(self.data_df[col].unique())} - cat_sizes.append(len(dct)) - mapped = self.data_df[col].map(lambda x: dct[x]).to_numpy().transpose() # pylint: disable=cell-var-from-loop - cat_vars.append(mapped) - return np.vstack(cat_vars), cat_sizes - - def _normalize_data(self): - self.scaler = StandardScaler() - train_mat = self.data_mat[:, self.train_range[0] : self.train_range[1]] - self.scaler = self.scaler.fit(train_mat.transpose()) - self.data_mat = self.scaler.transform(self.data_mat.transpose()).transpose() - - def train_gen(self): - """Generator for training data.""" - num_ts = len(self.ts_cols) - perm = np.arange( - self.train_range[0] + self.hist_len, - self.train_range[1] - self.pred_len, - ) - perm = np.random.permutation(perm) - hist_len = self.hist_len - logging.info('Hist len: %s', hist_len) - if not self.epoch_len: - epoch_len = len(perm) - else: - epoch_len = self.epoch_len - for idx in perm[0:epoch_len]: - for _ in range(num_ts // self.batch_size + 1): - if self.permute: - tsidx = np.random.choice(num_ts, size=self.batch_size, replace=False) - else: - tsidx = np.arange(num_ts) - dtimes = np.arange(idx - hist_len, idx + self.pred_len) - ( - bts_train, - bts_pred, - bfeats_train, - bfeats_pred, - bcf_train, - bcf_pred, - ) = self._get_features_and_ts(dtimes, tsidx, hist_len) - - all_data = [ - bts_train, - bfeats_train, - bcf_train, - bts_pred, - bfeats_pred, - bcf_pred, - tsidx, - ] - yield tuple(all_data) - - def test_val_gen(self, mode='val', shift=1): - """Generator for validation/test data.""" - if mode == 'val': - start = self.val_range[0] - end = self.val_range[1] - self.pred_len + 1 - elif mode == 'test': - start = self.test_range[0] - end = self.test_range[1] - self.pred_len + 1 - else: - raise NotImplementedError('Eval mode not implemented') - num_ts = len(self.ts_cols) - hist_len = self.hist_len - logging.info('Hist len: %s', hist_len) - perm = np.arange(start, end) - if self.epoch_len: - epoch_len = self.epoch_len - else: - epoch_len = len(perm) - for i in range(0, epoch_len, shift): - idx = perm[i] - for batch_idx in range(0, num_ts, self.batch_size): - tsidx = np.arange(batch_idx, min(batch_idx + self.batch_size, num_ts)) - dtimes = np.arange(idx - hist_len, idx + self.pred_len) - ( - bts_train, - bts_pred, - bfeats_train, - bfeats_pred, - bcf_train, - bcf_pred, - ) = self._get_features_and_ts(dtimes, tsidx, hist_len) - all_data = [ - bts_train, - bfeats_train, - bcf_train, - bts_pred, - bfeats_pred, - bcf_pred, - tsidx, - ] - yield tuple(all_data) - - def _get_features_and_ts(self, dtimes, tsidx, hist_len=None): - """Get features and ts in specified windows.""" - if hist_len is None: - hist_len = self.hist_len - data_times = dtimes[dtimes < self.data_mat.shape[1]] - bdata = self.data_mat[:, data_times] - bts = bdata[tsidx, :] - bnf = self.num_feat_mat[:, data_times] - bcf = self.cat_feat_mat[:, data_times] - btf = self.time_mat[:, dtimes] - if bnf.shape[1] < btf.shape[1]: - rem_len = btf.shape[1] - bnf.shape[1] - rem_rep = np.repeat(bnf[:, [-1]], repeats=rem_len) - rem_rep_cat = np.repeat(bcf[:, [-1]], repeats=rem_len) - bnf = np.hstack([bnf, rem_rep.reshape(bnf.shape[0], -1)]) - bcf = np.hstack([bcf, rem_rep_cat.reshape(bcf.shape[0], -1)]) - bfeats = np.vstack([btf, bnf]) - bts_train = bts[:, 0:hist_len] - bts_pred = bts[:, hist_len:] - bfeats_train = bfeats[:, 0:hist_len] - bfeats_pred = bfeats[:, hist_len:] - bcf_train = bcf[:, 0:hist_len] - bcf_pred = bcf[:, hist_len:] - return bts_train, bts_pred, bfeats_train, bfeats_pred, bcf_train, bcf_pred - - def tf_dataset(self, mode='train', shift=1): - """Tensorflow Dataset.""" - if mode == 'train': - gen_fn = self.train_gen - else: - gen_fn = lambda: self.test_val_gen(mode, shift) - output_types = tuple( - [tf.float32] * 2 + [tf.int32] + [tf.float32] * 2 + [tf.int32] * 2 - ) - dataset = tf.data.Dataset.from_generator(gen_fn, output_types) - dataset = dataset.prefetch(tf.data.experimental.AUTOTUNE) - return dataset diff --git a/experiments/long_horizon_benchmarks/time_features.py b/experiments/long_horizon_benchmarks/time_features.py deleted file mode 100644 index 0bd90a9..0000000 --- a/experiments/long_horizon_benchmarks/time_features.py +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright 2024 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Directory to extract time covariates. - -Extract time covariates from datetime. -""" - -import numpy as np -import pandas as pd -from pandas.tseries.holiday import EasterMonday -from pandas.tseries.holiday import GoodFriday -from pandas.tseries.holiday import Holiday -from pandas.tseries.holiday import SU -from pandas.tseries.holiday import TH -from pandas.tseries.holiday import USColumbusDay -from pandas.tseries.holiday import USLaborDay -from pandas.tseries.holiday import USMartinLutherKingJr -from pandas.tseries.holiday import USMemorialDay -from pandas.tseries.holiday import USPresidentsDay -from pandas.tseries.holiday import USThanksgivingDay -from pandas.tseries.offsets import DateOffset -from pandas.tseries.offsets import Day -from pandas.tseries.offsets import Easter -from sklearn.preprocessing import StandardScaler -from tqdm import tqdm - - -# This is 183 to cover half a year (in both directions), also for leap years -# + 17 as Eastern can be between March, 22 - April, 25 -MAX_WINDOW = 183 + 17 - - -def _distance_to_holiday(holiday): - """Return distance to given holiday.""" - - def _distance_to_day(index): - holiday_date = holiday.dates( - index - pd.Timedelta(days=MAX_WINDOW), - index + pd.Timedelta(days=MAX_WINDOW), - ) - assert ( - len(holiday_date) != 0 # pylint: disable=g-explicit-length-test - ), f"No closest holiday for the date index {index} found." - # It sometimes returns two dates if it is exactly half a year after the - # holiday. In this case, the smaller distance (182 days) is returned. - return (index - holiday_date[0]).days - - return _distance_to_day - - -EasterSunday = Holiday( - "Easter Sunday", month=1, day=1, offset=[Easter(), Day(0)] -) -NewYearsDay = Holiday("New Years Day", month=1, day=1) -SuperBowl = Holiday( - "Superbowl", month=2, day=1, offset=DateOffset(weekday=SU(1)) -) -MothersDay = Holiday( - "Mothers Day", month=5, day=1, offset=DateOffset(weekday=SU(2)) -) -IndependenceDay = Holiday("Independence Day", month=7, day=4) -ChristmasEve = Holiday("Christmas", month=12, day=24) -ChristmasDay = Holiday("Christmas", month=12, day=25) -NewYearsEve = Holiday("New Years Eve", month=12, day=31) -BlackFriday = Holiday( - "Black Friday", - month=11, - day=1, - offset=[pd.DateOffset(weekday=TH(4)), Day(1)], -) -CyberMonday = Holiday( - "Cyber Monday", - month=11, - day=1, - offset=[pd.DateOffset(weekday=TH(4)), Day(4)], -) - -HOLIDAYS = [ - EasterMonday, - GoodFriday, - USColumbusDay, - USLaborDay, - USMartinLutherKingJr, - USMemorialDay, - USPresidentsDay, - USThanksgivingDay, - EasterSunday, - NewYearsDay, - SuperBowl, - MothersDay, - IndependenceDay, - ChristmasEve, - ChristmasDay, - NewYearsEve, - BlackFriday, - CyberMonday, -] - - -class TimeCovariates(object): - """Extract all time covariates except for holidays.""" - - def __init__( - self, - datetimes, - normalized=True, - holiday=False, - ): - """Init function. - - Args: - datetimes: pandas DatetimeIndex (lowest granularity supported is min) - normalized: whether to normalize features or not - holiday: fetch holiday features or not - - Returns: - None - """ - self.normalized = normalized - self.dti = datetimes - self.holiday = holiday - - def _minute_of_hour(self): - minutes = np.array(self.dti.minute, dtype=np.float32) - if self.normalized: - minutes = minutes / 59.0 - 0.5 - return minutes - - def _hour_of_day(self): - hours = np.array(self.dti.hour, dtype=np.float32) - if self.normalized: - hours = hours / 23.0 - 0.5 - return hours - - def _day_of_week(self): - day_week = np.array(self.dti.dayofweek, dtype=np.float32) - if self.normalized: - day_week = day_week / 6.0 - 0.5 - return day_week - - def _day_of_month(self): - day_month = np.array(self.dti.day, dtype=np.float32) - if self.normalized: - day_month = day_month / 30.0 - 0.5 - return day_month - - def _day_of_year(self): - day_year = np.array(self.dti.dayofyear, dtype=np.float32) - if self.normalized: - day_year = day_year / 364.0 - 0.5 - return day_year - - def _month_of_year(self): - month_year = np.array(self.dti.month, dtype=np.float32) - if self.normalized: - month_year = month_year / 11.0 - 0.5 - return month_year - - def _week_of_year(self): - week_year = np.array(self.dti.strftime("%U").astype(int), dtype=np.float32) - if self.normalized: - week_year = week_year / 51.0 - 0.5 - return week_year - - def _get_holidays(self): - dti_series = self.dti.to_series() - hol_variates = np.vstack([ - dti_series.apply(_distance_to_holiday(h)).values for h in tqdm(HOLIDAYS) - ]) - # hol_variates is (num_holiday, num_time_steps), the normalization should be - # performed in the num_time_steps dimension. - return StandardScaler().fit_transform(hol_variates.T).T - - def get_covariates(self): - """Get all time covariates.""" - moh = self._minute_of_hour().reshape(1, -1) - hod = self._hour_of_day().reshape(1, -1) - dom = self._day_of_month().reshape(1, -1) - dow = self._day_of_week().reshape(1, -1) - doy = self._day_of_year().reshape(1, -1) - moy = self._month_of_year().reshape(1, -1) - woy = self._week_of_year().reshape(1, -1) - - all_covs = [ - moh, - hod, - dom, - dow, - doy, - moy, - woy, - ] - columns = ["moh", "hod", "dom", "dow", "doy", "moy", "woy"] - if self.holiday: - hol_covs = self._get_holidays() - all_covs.append(hol_covs) - columns += [f"hol_{i}" for i in range(len(HOLIDAYS))] - - return pd.DataFrame( - data=np.vstack(all_covs).transpose(), - columns=columns, - index=self.dti, - ) diff --git a/src/patched_decoder.py b/src/patched_decoder.py deleted file mode 100644 index b0decf8..0000000 --- a/src/patched_decoder.py +++ /dev/null @@ -1,461 +0,0 @@ -# Copyright 2024 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Pax ML model for patched time-series decoder. - -The file implements Residual MLPs, Patched Decoder layers and PAX ML models. -""" - -import dataclasses -from typing import Optional, Tuple - -import einshape as es -from jax import lax -import jax.numpy as jnp -from praxis import base_layer -from praxis import layers -from praxis import pax_fiddle -from praxis import py_utils -from praxis import pytypes -from praxis.layers import activations -from praxis.layers import embedding_softmax -from praxis.layers import linears -from praxis.layers import normalizations -from praxis.layers import stochastics -from praxis.layers import transformers - - -# PAX shortcuts -NestedMap = py_utils.NestedMap -JTensor = pytypes.JTensor - -LayerTpl = pax_fiddle.Config[base_layer.BaseLayer] -template_field = base_layer.template_field - - -PAD_VAL = 1123581321.0 -DEFAULT_QUANTILES = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] - -# NestedMap keys -_INPUT_TS = "input_ts" -_INPUT_PADDING = "input_padding" -_OUTPUT_TS = "output_ts" -_FREQ = "freq" -_OUTPUT_TOKENS = "output_tokens" -_STATS = "stats" - - -# Small numerical value. -_TOLERANCE = 1e-7 - - -def _shift_padded_seq(mask: JTensor, seq: JTensor) -> JTensor: - """Shifts rows of seq based on the first 0 in each row of the mask.""" - num = seq.shape[1] - - # Find the index of the first 0 in each row of the mask - first_zero_idx = jnp.argmin(mask, axis=1) - - # Create a range array for indexing - idx_range = jnp.arange(num) - - def shift_row(carry, x): - seq_row, shift = x - shifted_idx = (idx_range - shift) % num - shifted_row = seq_row[shifted_idx] - return carry, shifted_row - - # Use lax.scan to shift each row of seq based on the corresponding - # first_zero_idx. - _, shifted_seq = lax.scan(shift_row, None, (seq, first_zero_idx)) - - return shifted_seq - - -class ResidualBlock(base_layer.BaseLayer): - """Simple feedforward block with residual connection. - - Attributes: - input_dims: input dimension. - hidden_dims: hidden dimension. - output_dims: output dimension. - dropout_prob: dropout probability. - layer_norm: whether to use layer norm or not. - dropout_tpl: config for dropout. - ln_tpl: config for layer norm. - act_tpl: config for activation in hidden layer. - """ - - input_dims: int = 0 - hidden_dims: int = 0 - output_dims: int = 0 - dropout_prob: float = 0.0 - layer_norm: bool = False - dropout_tpl: LayerTpl = template_field(stochastics.Dropout) - ln_tpl: LayerTpl = template_field(normalizations.LayerNorm) - act_tpl: LayerTpl = template_field(activations.Swish) - - def setup(self): - lnorm_tpl = self.ln_tpl.clone() - lnorm_tpl.dim = self.output_dims - self.create_child("ln_layer", lnorm_tpl) - - dropout_tpl = self.dropout_tpl.clone() - dropout_tpl.keep_prob = 1.0 - self.dropout_prob - self.create_child("dropout", dropout_tpl) - - self.create_child( - "hidden_layer", - pax_fiddle.Config( - linears.FeedForward, - input_dims=self.input_dims, - output_dims=self.hidden_dims, - activation_tpl=self.act_tpl.clone(), - ), - ) - - self.create_child( - "output_layer", - pax_fiddle.Config( - linears.FeedForward, - input_dims=self.hidden_dims, - output_dims=self.output_dims, - activation_tpl=pax_fiddle.Config(activations.Identity), - ), - ) - - self.create_child( - "residual_layer", - pax_fiddle.Config( - linears.FeedForward, - input_dims=self.input_dims, - output_dims=self.output_dims, - activation_tpl=pax_fiddle.Config(activations.Identity), - ), - ) - - def __call__(self, inputs: JTensor) -> JTensor: - hidden = self.hidden_layer(inputs) - output = self.output_layer(hidden) - output = self.dropout(output) - residual = self.residual_layer(inputs) - if self.layer_norm: - return self.ln_layer(output + residual) - else: - return output + residual - - -def _masked_mean_std( - inputs: JTensor, padding: JTensor -) -> Tuple[JTensor, JTensor]: - """Calculates mean and standard deviation of arr across axis 1. - - It should exclude values where pad is 1. - - Args: - inputs: A JAX array of shape [b, n, p]. - padding: A JAX array of shape [b, n, p] with values 0 or 1. - - Returns: - A tuple containing the mean and standard deviation of arr. We return the - statistics of the first patch with more than three non-padded values. - """ - # Selecting the first pad with more than 3 unpadded values. - pad_sum = jnp.sum(1 - padding, axis=2) - - def _get_patch_index(arr: JTensor): - indices = jnp.argmax(arr >= 3, axis=1) - row_sum = (arr >= 3).sum(axis=1) - return jnp.where(row_sum == 0, arr.shape[1] - 1, indices) - - patch_indices = _get_patch_index(pad_sum) - bidxs = jnp.arange(inputs.shape[0]) - - arr = inputs[bidxs, patch_indices, :] - pad = padding[bidxs, patch_indices, :] - - # Create a mask where P is 0 - mask = 1 - pad - - # Calculate the number of valid elements - num_valid_elements = jnp.sum(mask, axis=1) - - num_valid_elements = jnp.where(num_valid_elements == 0, 1, num_valid_elements) - - # Calculate the masked sum and squared sum of M - masked_sum = jnp.sum(arr * mask, axis=1) - masked_squared_sum = jnp.sum((arr * mask) ** 2, axis=1) - - # Calculate the masked mean and standard deviation - masked_mean = masked_sum / num_valid_elements - masked_var = masked_squared_sum / num_valid_elements - masked_mean**2 - masked_var = jnp.where(masked_var < 0.0, 0.0, masked_var) - masked_std = jnp.sqrt(masked_var) - - return masked_mean, masked_std - - -def _create_quantiles() -> list[float]: - """Returns the quantiles for forecasting.""" - return DEFAULT_QUANTILES - - -class PatchedTimeSeriesDecoder(base_layer.BaseLayer): - """Patch decoder layer for time-series foundation model. - - Attributes: - patch_len: length of input patches. - horizon_len: length of output patches. Referred to as `output_patch_len` - during inference. - model_dims: model dimension of stacked transformer layer. - hidden_dims: hidden dimensions in fully connected layers. - quantiles: list of quantiles for non prob model. - residual_block_tpl: config for residual block. - stacked_transformer_params_tpl: config for stacked transformer. - use_freq: whether to use frequency encoding. - - In all of what followed, except specified otherwise, B is batch size, T is - sequence length of time-series. N is the number of input patches that can be - obtained from T. P is the input patch length and H is the horizon length. Q is - number of output logits. D is model dimension. - """ - - patch_len: int = 0 - horizon_len: int = 0 - model_dims: int = 0 - hidden_dims: int = 0 - quantiles: list[float] = dataclasses.field(default_factory=_create_quantiles) - residual_block_tpl: LayerTpl = template_field(ResidualBlock) - stacked_transformer_params_tpl: LayerTpl = template_field( - transformers.StackedTransformer - ) - use_freq: bool = True - - def setup(self) -> None: - """Construct the model.""" - num_outputs = len(self.quantiles) + 1 - - stl = self.stacked_transformer_params_tpl.clone() - stl.model_dims = self.model_dims - stl.hidden_dims = self.hidden_dims - stl.mask_self_attention = True - - self.create_child("stacked_transformer_layer", stl) - - input_resl = self.residual_block_tpl.clone() - ff_in_dims = 2 * self.patch_len - input_resl.input_dims = ff_in_dims - input_resl.hidden_dims = self.hidden_dims - input_resl.output_dims = self.model_dims - self.create_child( - "input_ff_layer", - input_resl, - ) - - horizon_resl = self.residual_block_tpl.clone() - horizon_resl.input_dims = self.model_dims - horizon_resl.hidden_dims = self.hidden_dims - horizon_resl.output_dims = self.horizon_len * num_outputs - self.create_child( - "horizon_ff_layer", - horizon_resl, - ) - - self.create_child( - "position_emb", - pax_fiddle.Config( - layers.PositionalEmbedding, embedding_dims=self.model_dims - ), - ) - - if self.use_freq: - self.create_child( - "freq_emb", - pax_fiddle.Config( - embedding_softmax.Embedding, - num_classes=3, - input_dims=self.model_dims, - ), - ) - - def transform_decode_state( - self, transform_fn: base_layer.DecodeStateTransformFn - ) -> None: - """Transforms all decode state variables based on transform_fn.""" - self.stacked_transformer_layer.transform_decode_state(transform_fn) - - def _forward_transform( - self, inputs: JTensor, patched_pads: JTensor - ) -> Tuple[JTensor, Tuple[JTensor, JTensor]]: - """Input is of shape [B, N, P].""" - mu, sigma = _masked_mean_std(inputs, patched_pads) - sigma = jnp.where(sigma < _TOLERANCE, 1.0, sigma) - # Normalize each patch. - outputs = (inputs - mu[:, None, None]) / sigma[:, None, None] - outputs = jnp.where( - jnp.abs(inputs - PAD_VAL) < _TOLERANCE, PAD_VAL, outputs - ) - return outputs, (mu, sigma) - - def _reverse_transform( - self, outputs: JTensor, stats: Tuple[JTensor, JTensor] - ) -> JTensor: - """Output is of shape [B, N, P, Q].""" - mu, sigma = stats - return outputs * sigma[:, None, None, None] + mu[:, None, None, None] - - def _preprocess_input( - self, - input_ts: JTensor, - input_padding: JTensor, - pos_emb: Optional[JTensor] = None, - ) -> Tuple[JTensor, JTensor, Optional[Tuple[JTensor, JTensor]], JTensor]: - """Preprocess input for stacked transformer.""" - # Reshape into patches. - patched_inputs = es.jax_einshape("b(np)->bnp", input_ts, p=self.patch_len) - input_padding = jnp.where( - jnp.abs(input_ts - PAD_VAL) < _TOLERANCE, 1, input_padding - ) - patched_pads = es.jax_einshape( - "b(np)->bnp", input_padding, p=self.patch_len - ) - patched_inputs, stats = self._forward_transform( - patched_inputs, patched_pads - ) - # B x N x D - patched_inputs = patched_inputs * (1.0 - patched_pads) - concat_inputs = jnp.concatenate([patched_inputs, patched_pads], axis=-1) - model_input = self.input_ff_layer(concat_inputs) - # A patch should not be padded even if there is at least one zero. - patched_padding = jnp.min(patched_pads, axis=-1) - - if pos_emb is None: - position_emb = self.position_emb(seq_length=model_input.shape[1]) - else: - position_emb = pos_emb - if self.do_eval: - if position_emb.shape[0] != model_input.shape[0]: - position_emb = jnp.repeat(position_emb, model_input.shape[0], axis=0) - position_emb = _shift_padded_seq(patched_padding, position_emb) - model_input += position_emb - - return model_input, patched_padding, stats, patched_inputs - - def _postprocess_output( - self, - model_output: JTensor, - num_outputs: int, - stats: Tuple[JTensor, JTensor], - ) -> JTensor: - """Postprocess output of stacked transformer.""" - # B x N x (H.Q) - output_ts = self.horizon_ff_layer(model_output) - output_ts = es.jax_einshape( - "bn(hq)->bnhq", output_ts, q=num_outputs, h=self.horizon_len - ) - return self._reverse_transform(output_ts, stats) - - def __call__(self, inputs: NestedMap) -> NestedMap: - """PatchTST call. - - Args: - inputs: A NestedMap containing (1) input_ts: input sequence of shape [B, - T] where T must be multiple of patch_length; (2) input_padding: that - contains padding map. - - Returns: - A nested map with two keys: - (1) 'output_tokens' of shape [B, N, D]. - (2) 'output_ts' of shape [B, N, H, Q] - (3) 'stats' a Tuple of statistics for renormalization. - """ - input_ts, input_padding = inputs[_INPUT_TS], inputs[_INPUT_PADDING] - num_outputs = len(self.quantiles) + 1 - model_input, patched_padding, stats, _ = self._preprocess_input( - input_ts=input_ts, - input_padding=input_padding, - ) - if self.use_freq: - freq = inputs[_FREQ].astype(jnp.int32) - f_emb = self.freq_emb(freq) # B x 1 x D - f_emb = jnp.repeat(f_emb, model_input.shape[1], axis=1) - model_input += f_emb - model_output = self.stacked_transformer_layer(model_input, patched_padding) - - output_ts = self._postprocess_output(model_output, num_outputs, stats) - return NestedMap( - {_OUTPUT_TOKENS: model_output, _OUTPUT_TS: output_ts, _STATS: stats} - ) - - def decode( - self, - inputs: NestedMap, - horizon_len: int, - output_patch_len: Optional[int] = None, - max_len: int = 512, - ) -> tuple[JTensor, JTensor]: - """Auto-regressive decoding without caching. - - Args: - inputs: input time-series and paddings. Time-series shape B x C, padding - shape shape B x (C + H) where H is the prediction length. - horizon_len: prediction length. - output_patch_len: output length to be fetched from one step of - auto-regressive decoding. - max_len: maximum training context length. - - Returns: - Tuple of two forecasting results: - - Point (mean) output predictions as a tensor with shape B x H. - - Full predictions (mean and quantiles) as a tensor with shape - B x H x (1 + # quantiles). - """ - final_out = inputs[_INPUT_TS] - inp_time_len = final_out.shape[1] - paddings = inputs[_INPUT_PADDING] - if self.use_freq: - freq = inputs[_FREQ].astype(jnp.int32) - else: - freq = jnp.zeros([final_out.shape[0], 1], dtype=jnp.int32) - full_outputs = [] - if paddings.shape[1] != final_out.shape[1] + horizon_len: - raise ValueError( - "Length of paddings must match length of input + horizon_len:" - f" {paddings.shape[1]} != {final_out.shape[1]} + {horizon_len}" - ) - if output_patch_len is None: - output_patch_len = self.horizon_len - num_decode_patches = ( - horizon_len + output_patch_len - 1 - ) // output_patch_len - for _ in range(num_decode_patches): - current_padding = paddings[:, 0 : final_out.shape[1]] - input_ts = final_out[:, -max_len:] - input_padding = current_padding[:, -max_len:] - model_input = NestedMap( - input_ts=input_ts, - input_padding=input_padding, - freq=freq, - ) - fprop_outputs = self(model_input)[_OUTPUT_TS] - # (full batch, last patch, output_patch_len, index of mean forecast = 0) - new_ts = fprop_outputs[:, -1, :output_patch_len, 0] - # (full batch, last patch, output_patch_len, all output indices) - full_outputs.append(fprop_outputs[:, -1, :output_patch_len, :]) - final_out = jnp.concatenate([final_out, new_ts], axis=-1) - - return ( - final_out[:, inp_time_len : inp_time_len + horizon_len], - jnp.concatenate(full_outputs, axis=1)[:, 0:horizon_len, :], - ) diff --git a/src/timesfm.py b/src/timesfm.py deleted file mode 100644 index 7dc9d0a..0000000 --- a/src/timesfm.py +++ /dev/null @@ -1,602 +0,0 @@ -# Copyright 2024 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""TimesFM forecast API for inference.""" - -import logging -import multiprocessing -from os import path -import time -from typing import Any, Literal, Optional, Sequence - -import einshape as es -import jax -import jax.numpy as jnp -import numpy as np -import pandas as pd -from huggingface_hub import snapshot_download -from paxml import checkpoints -from paxml import tasks_lib -from praxis import base_hyperparams -from praxis import base_layer -from praxis import pax_fiddle -from praxis import py_utils -from praxis import pytypes -from praxis.layers import normalizations -from praxis.layers import transformers -import patched_decoder -from utilsforecast.processing import make_future_dataframe - -instantiate = base_hyperparams.instantiate -NestedMap = py_utils.NestedMap -JTensor = pytypes.JTensor - - -def process_group(key, group, value_name, forecast_context_len): - group = group.tail(forecast_context_len) - return np.array(group[value_name], dtype=np.float32), key - - -def moving_average(arr, window_size): - """Calculates the moving average using NumPy's convolution function.""" - # Pad with zeros to handle initial window positions - arr_padded = np.pad(arr, (window_size - 1, 0), "constant") - smoothed_arr = ( - np.convolve(arr_padded, np.ones(window_size), "valid") / window_size - ) - return [smoothed_arr, arr - smoothed_arr] - - -def freq_map(freq: str): - """Returns the frequency map for the given frequency string.""" - freq = str.upper(freq) - if ( - freq.endswith("H") - or freq.endswith("T") - or freq.endswith("MIN") - or freq.endswith("D") - or freq.endswith("B") - or freq.endswith("U") - ): - return 0 - elif freq.endswith(("W", "M", "MS")): - return 1 - elif freq.endswith("Y") or freq.endswith("Q"): - return 2 - else: - raise ValueError(f"Invalid frequency: {freq}") - - -class TimesFm: - """TimesFM forecast API for inference. - - This class is the scaffolding for calling TimesFM forecast. To properly use: - 1. Create an instance with the correct hyperparameters of a TimesFM model. - 2. Call `load_from_checkpoint` to load a compatible checkpoint. - 3. Call `forecast` for inference. - - Given the model size, this API does not shard the model weights for SPMD. All - parallelism happens on the data dimension. - - Compilation happens during the first time `forecast` is called and uses the - `per_core_batch_size` to set and freeze the input signature. Subsequent calls - to `forecast` reflect the actual inference latency. - - Attributes: - per_core_batch_size: Batch size on each core for data parallelism. - backend: One of "cpu", "gpu" or "tpu". - num_devices: Number of cores provided the backend. - global_batch_size: per_core_batch_size * num_devices. Each batch of - inference task will be padded with respect to global_batch_size to - minimize latency. - context_len: Largest context length the model allows for each decode call. - This technically can be any large, but practically should set to the - context length the checkpoint was trained with. - horizon_len: Forecast horizon. - input_patch_len: Input patch len. - output_patch_len: Output patch len. How many timepoints is taken from a - single step of autoregressive decoding. Can be set as the training horizon - of the checkpoint. - mesh_shape: Shape of the data parallelism mesh. - mesh_name: Names of the data parallelism mesh. - model_p: Configuration of the TimesFM model deduced from the hparams. - """ - - def _logging(self, s): - if self._verbose: - print(s) - - def __init__( - self, - context_len: int, - horizon_len: int, - input_patch_len: int, - output_patch_len: int, - num_layers: int, - model_dims: int, - per_core_batch_size: int = 32, - backend: Literal["cpu", "gpu", "tpu"] = "cpu", - quantiles: Sequence[float] | None = None, - verbose: bool = True, - ) -> None: - """Initializes the TimesFM forecast API. - - Args: - context_len: Largest context length the model allows for each decode call. - This technically can be any large, but practically should set to the - context length the checkpoint was trained with. - horizon_len: Forecast horizon. - input_patch_len: Input patch len. - output_patch_len: Output patch len. How many timepoints is taken from a - single step of autoregressive decoding. Can be set as the training - horizon of the checkpoint. - num_layers: Number of transformer layers. - model_dims: Model dimension. - per_core_batch_size: Batch size on each core for data parallelism. - backend: One of "cpu", "gpu" or "tpu". - quantiles: list of output quantiles supported by the model. - verbose: Whether to print logging messages. - """ - self.per_core_batch_size = per_core_batch_size - self.backend = backend - self.num_devices = jax.local_device_count(self.backend) - self.global_batch_size = self.per_core_batch_size * self.num_devices - - self.context_len = context_len - self.horizon_len = horizon_len - self.input_patch_len = input_patch_len - self.output_patch_len = output_patch_len - - self.mesh_shape = [1, self.num_devices, 1] - self.mesh_name = ["replica", "data", "mdl"] - if quantiles is None: - quantiles = patched_decoder.DEFAULT_QUANTILES - - self.model_p = pax_fiddle.Config( - patched_decoder.PatchedTimeSeriesDecoder, - name="patched_decoder", - horizon_len=self.output_patch_len, - patch_len=input_patch_len, - model_dims=model_dims, - hidden_dims=model_dims, - residual_block_tpl=pax_fiddle.Config(patched_decoder.ResidualBlock), - quantiles=quantiles, - use_freq=True, - stacked_transformer_params_tpl=pax_fiddle.Config( - transformers.StackedTransformer, - num_heads=16, - num_layers=num_layers, - transformer_layer_params_tpl=pax_fiddle.Config( - transformers.Transformer, - ln_tpl=pax_fiddle.Config( - normalizations.RmsNorm, - ), - ), - ), - ) - - self._key1, self._key2 = jax.random.split(jax.random.PRNGKey(42)) - self._model = None - self._train_state = None - self._pmapped_decode = None - self._verbose = verbose - self._eval_context = base_layer.JaxContext.HParams(do_eval=True) - try: - multiprocessing.set_start_method("spawn") - except RuntimeError: - print("Multiprocessing context has already been set.") - - def _get_sample_inputs(self): - return { - "input_ts": jnp.zeros( - ( - self.per_core_batch_size, - self.context_len + self.output_patch_len, - ), - dtype=jnp.float32, - ), - "input_padding": jnp.zeros( - ( - self.per_core_batch_size, - self.context_len + self.output_patch_len, - ), - dtype=jnp.float32, - ), - "freq": jnp.zeros( - ( - self.per_core_batch_size, - 1, - ), - dtype=jnp.int32, - ), - } - - def load_from_checkpoint( - self, - checkpoint_path: Optional[str] = None, - repo_id: str = "google/timesfm-1.0-200m", - checkpoint_type: checkpoints.CheckpointType = checkpoints.CheckpointType.FLAX, - step: int | None = None, - ) -> None: - """Loads a checkpoint and compiles the decoder. - - Args: - checkpoint_path: Optional path to the checkpoint directory. - repo_id: Hugging Face Hub repo id. - checkpoint_type: type of PAX checkpoint - step: step of the checkpoint to load. If `None`, load latest checkpoint. - """ - # Download the checkpoint from Hugging Face Hub if not given - if checkpoint_path is None: - checkpoint_path = path.join(snapshot_download(repo_id), "checkpoints") - - # Initialize the model weights. - self._logging("Constructing model weights.") - start_time = time.time() - self._model = instantiate(self.model_p) - var_weight_hparams = self._model.abstract_init_with_metadata( - self._get_sample_inputs(), do_eval=True - ) - train_state_partition_specs = tasks_lib.create_state_partition_specs( - var_weight_hparams, - mesh_shape=self.mesh_shape, - mesh_axis_names=self.mesh_name, - discard_opt_states=True, - learners=None, - ) - train_state_local_shapes = tasks_lib.create_state_unpadded_shapes( - var_weight_hparams, - discard_opt_states=True, - learners=None, - ) - self._logging( - f"Constructed model weights in {time.time() - start_time:.2f} seconds." - ) - - # Load the model weights. - self._logging(f"Restoring checkpoint from {checkpoint_path}.") - start_time = time.time() - self._train_state = checkpoints.restore_checkpoint( - train_state_local_shapes, - checkpoint_dir=checkpoint_path, - checkpoint_type=checkpoint_type, - state_specs=train_state_partition_specs, - step=step, - ) - self._logging( - f"Restored checkpoint in {time.time() - start_time:.2f} seconds." - ) - - # Initialize and jit the decode fn. - def _decode(inputs): - assert self._model is not None - assert self._train_state is not None - return self._model.apply( - self._train_state.mdl_vars, - inputs, - horizon_len=self.horizon_len, - output_patch_len=self.output_patch_len, - max_len=self.context_len, - rngs={ - base_layer.PARAMS: self._key1, - base_layer.RANDOM: self._key2, - }, - method=self._model.decode, - ) - - self._logging("Jitting decoding.") - start_time = time.time() - self._pmapped_decode = jax.pmap( - _decode, - axis_name="batch", - devices=jax.devices(self.backend), - backend=self.backend, - axis_size=self.num_devices, - ) - with base_layer.JaxContext.new_context(hparams=self._eval_context): - _ = self._pmapped_decode( - NestedMap({ - "input_ts": jnp.zeros( - ( - self.num_devices, - self.per_core_batch_size, - self.context_len, - ), - dtype=jnp.float32, - ), - "input_padding": jnp.zeros( - ( - self.num_devices, - self.per_core_batch_size, - self.context_len + self.horizon_len, - ), - dtype=jnp.float32, - ), - "date_features": None, - "freq": jnp.zeros( - (self.num_devices, self.per_core_batch_size, 1), - dtype=jnp.int32, - ), - }) - ) - self._logging(f"Jitted decoding in {time.time() - start_time:.2f} seconds.") - - def _preprocess( - self, inputs: Sequence[np.array], freq: Sequence[int] - ) -> tuple[np.array, np.array, int]: - """Formats and pads raw inputs to feed into the model. - - This function both pads each time series to match the context length, and - pads the inputs to meet the SPMD shape requirement. - - Args: - inputs: A list of 1d JTensors. Each JTensor is the context time series of - a single forecast task. - freq: list of frequencies - - Returns: - A tuple of: - - the padded input time series to meet the model required context. - - the padding indicator. - - the number of padded examples for SPMD so that each core has the same - number (a multiple of `batch_size`) of examples. - """ - - input_ts, input_padding, inp_freq = [], [], [] - - pmap_pad = ( - (len(inputs) - 1) // self.global_batch_size + 1 - ) * self.global_batch_size - len(inputs) - - for i, ts in enumerate(inputs): - input_len = ts.shape[0] - padding = np.zeros(shape=(input_len + self.horizon_len,), dtype=float) - if input_len < self.context_len: - num_front_pad = self.context_len - input_len - ts = np.concatenate( - [np.zeros(shape=(num_front_pad,), dtype=float), ts], axis=0 - ) - padding = np.concatenate( - [np.ones(shape=(num_front_pad,), dtype=float), padding], axis=0 - ) - elif input_len > self.context_len: - ts = ts[-self.context_len :] - padding = padding[-(self.context_len + self.horizon_len) :] - - input_ts.append(ts) - input_padding.append(padding) - inp_freq.append(freq[i]) - - # Padding the remainder batch. - for _ in range(pmap_pad): - input_ts.append(input_ts[-1]) - input_padding.append(input_padding[-1]) - inp_freq.append(inp_freq[-1]) - - return ( - np.stack(input_ts, axis=0), - np.stack(input_padding, axis=0), - np.array(inp_freq).astype(np.int32).reshape(-1, 1), - pmap_pad, - ) - - def forecast( - self, - inputs: Sequence[Any], - freq: Sequence[int] | None = None, - window_size: int | None = None, - forecast_context_len: int | None = None, - ) -> tuple[JTensor, JTensor]: - """Forecasts on a list of time series. - - Args: - inputs: list of time series forecast contexts. Each context time series - should be in a format convertible to JTensor by `jnp.array`. - freq: frequency of each context time series. 0 for high frequency - (default), 1 for medium, and 2 for low. Notice this is different from - the `freq` required by `forecast_on_df`. - window_size: window size of trend + residual decomposition. If None then - we do not do decomposition. - forecast_context_len: optional max context length. - - Returns: - A tuple for JTensors: - - the mean forecast of size (# inputs, # forecast horizon), - - the full forecast (mean + quantiles) of size - (# inputs, # forecast horizon, 1 + # quantiles). - - Raises: - ValueError: If the checkpoint is not properly loaded. - """ - if not self._train_state or not self._model: - raise ValueError( - "Checkpoint not loaded. Call `load_from_checkpoint` before" - " `forecast`." - ) - if forecast_context_len is None: - forecast_context_len = self.context_len - inputs = [np.array(ts)[-forecast_context_len:] for ts in inputs] - inp_min = np.min([np.min(ts) for ts in inputs]) - - if window_size is not None: - new_inputs = [] - for ts in inputs: - new_inputs.extend(moving_average(ts, window_size)) - inputs = new_inputs - - if freq is None: - logging.info("No frequency provided via `freq`. Default to high (0).") - freq = [0] * len(inputs) - - input_ts, input_padding, inp_freq, pmap_pad = self._preprocess(inputs, freq) - with base_layer.JaxContext.new_context(hparams=self._eval_context): - mean_outputs = [] - full_outputs = [] - assert input_ts.shape[0] % self.global_batch_size == 0 - for i in range(input_ts.shape[0] // self.global_batch_size): - input_ts_in = jnp.array( - input_ts[ - i * self.global_batch_size : (i + 1) * self.global_batch_size - ] - ) - input_padding_in = jnp.array( - input_padding[ - i * self.global_batch_size : (i + 1) * self.global_batch_size - ], - ) - inp_freq_in = jnp.array( - inp_freq[ - i * self.global_batch_size : (i + 1) * self.global_batch_size, : - ], - dtype=jnp.int32, - ) - pmapped_inputs = NestedMap({ - "input_ts": es.jax_einshape( - "(db)...->db...", - input_ts_in, - d=self.num_devices, - ), - "input_padding": es.jax_einshape( - "(db)...->db...", - input_padding_in, - d=self.num_devices, - ), - "date_features": None, - "freq": es.jax_einshape( - "(db)...->db...", - inp_freq_in, - d=self.num_devices, - ), - }) - mean_output, full_output = self._pmapped_decode(pmapped_inputs) - mean_output = es.jax_einshape( - "db...->(db)...", mean_output, d=self.num_devices - ) - full_output = es.jax_einshape( - "db...->(db)...", full_output, d=self.num_devices - ) - mean_output = np.array(mean_output) - full_output = np.array(full_output) - mean_outputs.append(mean_output) - full_outputs.append(full_output) - - mean_outputs = np.concatenate(mean_outputs, axis=0) - full_outputs = np.concatenate(full_outputs, axis=0) - - if pmap_pad > 0: - mean_outputs = mean_outputs[:-pmap_pad, ...] - full_outputs = full_outputs[:-pmap_pad, ...] - - if window_size is not None: - mean_outputs = mean_outputs[0::2, ...] + mean_outputs[1::2, ...] - full_outputs = full_outputs[0::2, ...] + full_outputs[1::2, ...] - if inp_min >= 0: - mean_outputs = np.maximum(mean_outputs, 0.0) - full_outputs = np.maximum(full_outputs, 0.0) - return mean_outputs, full_outputs - - def forecast_on_df( - self, - inputs: pd.DataFrame, - freq: str, - forecast_context_len: int = 0, - value_name: str = "values", - model_name: str = "timesfm", - window_size: int | None = None, - num_jobs: int = 1, - ) -> pd.DataFrame: - """Forecasts on a list of time series. - - Args: - inputs: A pd.DataFrame of all time series. The dataframe should have a - `unique_id` column for identifying the time series, a `ds` column for - timestamps and a value column for the time series values. - freq: string valued `freq` of data. Notice this is different from the - `freq` required by `forecast`. See `freq_map` for allowed values. - forecast_context_len: If provided none zero, we take the last - `forecast_context_len` time-points from each series as the forecast - context instead of the `context_len` set by the model. - value_name: The name of the value column. - model_name: name of the model to be written into future df. - window_size: window size of trend + residual decomposition. If None then - we do not do decomposition. - num_jobs: number of parallel processes to use for dataframe processing. - - Returns: - Future forecasts dataframe. - """ - if not ( - "unique_id" in inputs.columns - and "ds" in inputs.columns - and value_name in inputs.columns - ): - raise ValueError( - f"DataFrame must have unique_id, ds and {value_name} columns." - ) - if not forecast_context_len: - forecast_context_len = self.context_len - logging.info("Preprocessing dataframe.") - df_sorted = inputs.sort_values(by=["unique_id", "ds"]) - new_inputs = [] - uids = [] - if num_jobs == 1: - print("Processing dataframe with single process.") - for key, group in df_sorted.groupby("unique_id"): - inp, uid = process_group( - key, - group, - value_name, - forecast_context_len, - ) - new_inputs.append(inp) - uids.append(uid) - else: - if num_jobs == -1: - num_jobs = multiprocessing.cpu_count() - print("Processing dataframe with multiple processes.") - with multiprocessing.Pool(processes=num_jobs) as pool: - results = pool.starmap( - process_group, - [ - (key, group, value_name, forecast_context_len) - for key, group in df_sorted.groupby("unique_id") - ], - ) - new_inputs, uids = zip(*results) - print("Finished preprocessing dataframe.") - freq_inps = [freq_map(freq)] * len(new_inputs) - _, full_forecast = self.forecast( - new_inputs, freq=freq_inps, window_size=window_size - ) - print("Finished forecasting.") - fcst_df = make_future_dataframe( - uids=uids, - last_times=df_sorted.groupby("unique_id")["ds"].tail(1), - h=self.horizon_len, - freq=freq, - ) - fcst_df[model_name] = full_forecast[:, 0 : self.horizon_len, 0].reshape( - -1, 1 - ) - - if self._model.quantiles is not None: - for i, q in enumerate(self._model.quantiles): - q_col = f"{model_name}-q-{q}" - fcst_df[q_col] = full_forecast[:, 0 : self.horizon_len, 1 + i].reshape( - -1, 1 - ) - if q == 0.5: - fcst_df[model_name] = fcst_df[q_col] - logging.info("Finished creating output dataframe.") - return fcst_df From a88ff2a5cf5ce7d051f18a8d4b151fe10fb5bb8b Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Mon, 8 Jul 2024 20:53:01 +0000 Subject: [PATCH 12/18] Finetuning instructions added to README --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1eb32e4..1f4f18e 100644 --- a/README.md +++ b/README.md @@ -159,4 +159,9 @@ forecast_df = tfm.forecast_on_df( freq="M", # monthly value_name="y", num_jobs=-1, -)``` +) +``` + +## Finetuning + +We have provided an example of finetuning the model on a new dataset in `notebooks/finetuning.ipynb`. \ No newline at end of file From 41929ba643f0b2639d50bb4a7088cc3fad5e5f40 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Tue, 9 Jul 2024 17:10:18 +0000 Subject: [PATCH 13/18] standardizing styles accross all files. --- experiments/baselines/timegpt_pipeline.py | 364 +++++----- .../extended_benchmarks/run_timegpt.py | 73 +- .../extended_benchmarks/run_timesfm.py | 14 +- experiments/extended_benchmarks/utils.py | 60 +- .../long_horizon_benchmarks/run_eval.py | 55 +- src/timesfm/__init__.py | 1 - src/timesfm/data_loader.py | 22 +- src/timesfm/patched_decoder.py | 641 +++++++++--------- src/timesfm/time_features.py | 28 +- src/timesfm/timesfm.py | 241 +++---- 10 files changed, 718 insertions(+), 781 deletions(-) diff --git a/experiments/baselines/timegpt_pipeline.py b/experiments/baselines/timegpt_pipeline.py index c5a38f5..5ea18ad 100644 --- a/experiments/baselines/timegpt_pipeline.py +++ b/experiments/baselines/timegpt_pipeline.py @@ -31,191 +31,191 @@ from nixtla import NixtlaClient def get_seasonality(freq: str) -> int: - return _get_seasonality(freq, seasonalities={"D": 7}) + return _get_seasonality(freq, seasonalities={"D": 7}) -def maybe_convert_col_to_datetime(df: pd.DataFrame, col_name: str) -> pd.DataFrame: - if not pd.api.types.is_datetime64_any_dtype(df[col_name]): - df = df.copy() - df[col_name] = pd.to_datetime(df[col_name]) - return df +def maybe_convert_col_to_datetime(df: pd.DataFrame, + col_name: str) -> pd.DataFrame: + if not pd.api.types.is_datetime64_any_dtype(df[col_name]): + df = df.copy() + df[col_name] = pd.to_datetime(df[col_name]) + return df def zero_pad_time_series(df, freq, min_length=36): - """If time_series length is less than min_length, front pad it with zeros.""" - # 1. Calculate required padding for each unique_id - value_counts = df["unique_id"].value_counts() - to_pad = value_counts[value_counts < min_length].index + """If time_series length is less than min_length, front pad it with zeros.""" + # 1. Calculate required padding for each unique_id + value_counts = df["unique_id"].value_counts() + to_pad = value_counts[value_counts < min_length].index - # 2. Create a new DataFrame to hold padded data - padded_data = [] + # 2. Create a new DataFrame to hold padded data + padded_data = [] - for unique_id in to_pad: - # 2a. Filter data for the specific unique_id - subset = df[df["unique_id"] == unique_id] - if len(subset) > min_length: - padded_data.append(subset) - else: - # 2b. Determine earliest date and calculate padding dates - start_date = subset["ds"].min() - padding_dates = pd.date_range( - end=start_date, - periods=min_length - len(subset) + 1, - freq=freq, # 'MS' for month start - )[ - :-1 - ] # Exclude the start_date itself + for unique_id in to_pad: + # 2a. Filter data for the specific unique_id + subset = df[df["unique_id"] == unique_id] + if len(subset) > min_length: + padded_data.append(subset) + else: + # 2b. Determine earliest date and calculate padding dates + start_date = subset["ds"].min() + padding_dates = pd.date_range( + end=start_date, + periods=min_length - len(subset) + 1, + freq=freq, # 'MS' for month start + )[:-1] # Exclude the start_date itself - # 2c. Create padding data - padding_df = pd.DataFrame( - {"ds": padding_dates, "unique_id": unique_id, "y": 0} # Zero padding - ) + # 2c. Create padding data + padding_df = pd.DataFrame({ + "ds": padding_dates, + "unique_id": unique_id, + "y": 0 + } # Zero padding + ) - # 2d. Combine original and padding data, and append to the list - padded_data.append(pd.concat([padding_df, subset]).sort_values("ds")) + # 2d. Combine original and padding data, and append to the list + padded_data.append(pd.concat([padding_df, subset]).sort_values("ds")) - # 3. Combine all padded data and original data (unchanged) - result_df = pd.concat(padded_data + [df[~df["unique_id"].isin(to_pad)]]) - return result_df + # 3. Combine all padded data and original data (unchanged) + result_df = pd.concat(padded_data + [df[~df["unique_id"].isin(to_pad)]]) + return result_df class Forecaster: - """Borrowed from + """Borrowed from https://github.com/Nixtla/nixtla/tree/main/experiments/foundation-time-series-arena/xiuhmolpilli/models. """ - def forecast( - self, - df: pd.DataFrame, - h: int, - freq: str, - ) -> pd.DataFrame: - raise NotImplementedError + def forecast( + self, + df: pd.DataFrame, + h: int, + freq: str, + ) -> pd.DataFrame: + raise NotImplementedError - def cross_validation( - self, - df: pd.DataFrame, - h: int, - freq: str, - n_windows: int = 1, - step_size: int | None = None, - ) -> pd.DataFrame: - df = maybe_convert_col_to_datetime(df, "ds") - # mlforecast cv code - results = [] - sort_idxs = maybe_compute_sort_indices(df, "unique_id", "ds") - if sort_idxs is not None: - df = take_rows(df, sort_idxs) - splits = backtest_splits( - df, - n_windows=n_windows, - h=h, - id_col="unique_id", - time_col="ds", - freq=pd.tseries.frequencies.to_offset(freq), - step_size=h if step_size is None else step_size, - ) - for _, (cutoffs, train, valid) in tqdm(enumerate(splits)): - if len(valid.columns) > 3: - raise NotImplementedError( - "Cross validation with exogenous variables is not yet supported." - ) - y_pred = self.forecast( - df=train, - h=h, - freq=freq, - ) - y_pred = join(y_pred, cutoffs, on="unique_id", how="left") - result = join( - valid[["unique_id", "ds", "y"]], - y_pred, - on=["unique_id", "ds"], - ) - if result.shape[0] < valid.shape[0]: - raise ValueError( - "Cross validation result produced less results than expected. " - "Please verify that the frequency parameter (freq) matches your series' " - "and that there aren't any missing periods." - ) - results.append(result) - out = vertical_concat(results) - out = drop_index_if_pandas(out) - first_out_cols = ["unique_id", "ds", "cutoff", "y"] - remaining_cols = [c for c in out.columns if c not in first_out_cols] - fcst_cv_df = out[first_out_cols + remaining_cols] - return fcst_cv_df + def cross_validation( + self, + df: pd.DataFrame, + h: int, + freq: str, + n_windows: int = 1, + step_size: int | None = None, + ) -> pd.DataFrame: + df = maybe_convert_col_to_datetime(df, "ds") + # mlforecast cv code + results = [] + sort_idxs = maybe_compute_sort_indices(df, "unique_id", "ds") + if sort_idxs is not None: + df = take_rows(df, sort_idxs) + splits = backtest_splits( + df, + n_windows=n_windows, + h=h, + id_col="unique_id", + time_col="ds", + freq=pd.tseries.frequencies.to_offset(freq), + step_size=h if step_size is None else step_size, + ) + for _, (cutoffs, train, valid) in tqdm(enumerate(splits)): + if len(valid.columns) > 3: + raise NotImplementedError( + "Cross validation with exogenous variables is not yet supported.") + y_pred = self.forecast( + df=train, + h=h, + freq=freq, + ) + y_pred = join(y_pred, cutoffs, on="unique_id", how="left") + result = join( + valid[["unique_id", "ds", "y"]], + y_pred, + on=["unique_id", "ds"], + ) + if result.shape[0] < valid.shape[0]: + raise ValueError( + "Cross validation result produced less results than expected. " + "Please verify that the frequency parameter (freq) matches your series' " + "and that there aren't any missing periods.") + results.append(result) + out = vertical_concat(results) + out = drop_index_if_pandas(out) + first_out_cols = ["unique_id", "ds", "cutoff", "y"] + remaining_cols = [c for c in out.columns if c not in first_out_cols] + fcst_cv_df = out[first_out_cols + remaining_cols] + return fcst_cv_df class TimeGPT(Forecaster): - """Borrowed from + """Borrowed from https://github.com/Nixtla/nixtla/tree/main/experiments/foundation-time-series-arena/xiuhmolpilli/models. We modify the class to take care of edge cases. """ - def __init__( - self, - api_key: str | None = None, - base_url: Optional[str] = None, - max_retries: int = 1, - model: str = "timegpt-1", - alias: str = "TimeGPT", - ): - self.api_key = api_key - self.base_url = base_url - self.max_retries = max_retries - self.model = model - self.alias = alias + def __init__( + self, + api_key: str | None = None, + base_url: Optional[str] = None, + max_retries: int = 1, + model: str = "timegpt-1", + alias: str = "TimeGPT", + ): + self.api_key = api_key + self.base_url = base_url + self.max_retries = max_retries + self.model = model + self.alias = alias - def _get_client(self) -> NixtlaClient: - if self.api_key is None: - api_key = os.environ["NIXTLA_API_KEY"] - else: - api_key = self.api_key - return NixtlaClient( - api_key=api_key, - base_url=self.base_url, - max_retries=self.max_retries, + def _get_client(self) -> NixtlaClient: + if self.api_key is None: + api_key = os.environ["NIXTLA_API_KEY"] + else: + api_key = self.api_key + return NixtlaClient( + api_key=api_key, + base_url=self.base_url, + max_retries=self.max_retries, + ) + + def forecast( + self, + df: pd.DataFrame, + h: int, + freq: str, + level: List = [90.0], + chunk_size: Optional[int] = None, + ) -> pd.DataFrame: + client = self._get_client() + fcst_df = None + if chunk_size is None: + fcst_df = client.forecast( + df=df, + h=h, + freq=freq, + level=level, + model=self.model, + ) + else: + all_unique_ids = df["unique_id"].unique() + all_fcst_df = [] + for i in range(0, len(all_unique_ids), chunk_size): + chunk_ids = all_unique_ids[i:i + chunk_size] + chunk_df = df[df["unique_id"].isin(chunk_ids)] + fct_chunk_df = client.forecast( + df=chunk_df, + h=h, + freq=freq, + level=level, ) - - def forecast( - self, - df: pd.DataFrame, - h: int, - freq: str, - level: List = [90.0], - chunk_size: Optional[int] = None, - ) -> pd.DataFrame: - client = self._get_client() - fcst_df = None - if chunk_size is None: - fcst_df = client.forecast( - df=df, - h=h, - freq=freq, - level=level, - model=self.model, - ) - else: - all_unique_ids = df["unique_id"].unique() - all_fcst_df = [] - for i in range(0, len(all_unique_ids), chunk_size): - chunk_ids = all_unique_ids[i : i + chunk_size] - chunk_df = df[df["unique_id"].isin(chunk_ids)] - fct_chunk_df = client.forecast( - df=chunk_df, - h=h, - freq=freq, - level=level, - ) - all_fcst_df.append(fct_chunk_df) - fcst_df = pd.concat(all_fcst_df) - fcst_df["ds"] = pd.to_datetime(fcst_df["ds"]) - replace_dict = {} - for col in fcst_df.columns: - if col.startswith("TimeGPT"): - replace_dict[col] = col.replace("TimeGPT", self.alias) - fcst_df = fcst_df.rename(columns=replace_dict) - return fcst_df + all_fcst_df.append(fct_chunk_df) + fcst_df = pd.concat(all_fcst_df) + fcst_df["ds"] = pd.to_datetime(fcst_df["ds"]) + replace_dict = {} + for col in fcst_df.columns: + if col.startswith("TimeGPT"): + replace_dict[col] = col.replace("TimeGPT", self.alias) + fcst_df = fcst_df.rename(columns=replace_dict) + return fcst_df def run_timegpt( @@ -227,25 +227,27 @@ def run_timegpt( dataset: str, model: str = "timegpt-1", ) -> Tuple[pd.DataFrame, float, str]: - os.environ["NIXTLA_ID_AS_COL"] = "true" - model = TimeGPT(model="timegpt-1", alias=model) - padded_train_df = zero_pad_time_series(train_df, freq) - init_time = time() - # For these datasets the API fails if we do not chunk. - if dataset in ["m5", "m4_quarterly"]: - chunk_size = 5000 - else: - chunk_size = None - fcsts_df = model.forecast( - df=padded_train_df, h=horizon, level=level, freq=freq, chunk_size=chunk_size - ) - total_time = time() - init_time - # In case levels are not returned we replace the levels with the mean predictions. - # Note that this does not affect the results table as we only compare on point - # forecastign metrics. - for lvl in level: - if f"{model.alias}-lo-{lvl}" not in fcsts_df.columns: - fcsts_df[f"{model.alias}-lo-{lvl}"] = fcsts_df[model.alias] - if f"{model.alias}-hi-{lvl}" not in fcsts_df.columns: - fcsts_df[f"{model.alias}-hi-{lvl}"] = fcsts_df[model.alias] - return fcsts_df, total_time, model.alias + os.environ["NIXTLA_ID_AS_COL"] = "true" + model = TimeGPT(model="timegpt-1", alias=model) + padded_train_df = zero_pad_time_series(train_df, freq) + init_time = time() + # For these datasets the API fails if we do not chunk. + if dataset in ["m5", "m4_quarterly"]: + chunk_size = 5000 + else: + chunk_size = None + fcsts_df = model.forecast(df=padded_train_df, + h=horizon, + level=level, + freq=freq, + chunk_size=chunk_size) + total_time = time() - init_time + # In case levels are not returned we replace the levels with the mean predictions. + # Note that this does not affect the results table as we only compare on point + # forecastign metrics. + for lvl in level: + if f"{model.alias}-lo-{lvl}" not in fcsts_df.columns: + fcsts_df[f"{model.alias}-lo-{lvl}"] = fcsts_df[model.alias] + if f"{model.alias}-hi-{lvl}" not in fcsts_df.columns: + fcsts_df[f"{model.alias}-hi-{lvl}"] = fcsts_df[model.alias] + return fcsts_df, total_time, model.alias diff --git a/experiments/extended_benchmarks/run_timegpt.py b/experiments/extended_benchmarks/run_timegpt.py index cceab37..455782d 100644 --- a/experiments/extended_benchmarks/run_timegpt.py +++ b/experiments/extended_benchmarks/run_timegpt.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - """Evaluation script for timegpt.""" import os @@ -25,7 +24,6 @@ from ..baselines.timegpt_pipeline import run_timegpt from .utils import ExperimentHandler - dataset_names = [ "m1_monthly", "m1_quarterly", @@ -63,46 +61,45 @@ _MODEL_NAME = flags.DEFINE_string( ) _SAVE_DIR = flags.DEFINE_string("save_dir", "./results", "Save directory") - QUANTILES = list(np.arange(1, 10) / 10.0) def main(): - results_list = [] - run_id = np.random.randint(100000) - model_name = _MODEL_NAME.value - for dataset in dataset_names: - print(f"Evaluating model {model_name} on dataset {dataset}", flush=True) - exp = ExperimentHandler(dataset, quantiles=QUANTILES) - train_df = exp.train_df - horizon = exp.horizon - seasonality = exp.seasonality - freq = exp.freq - level = exp.level - fcsts_df, total_time, model_name = run_timegpt( - train_df=train_df, - horizon=exp.horizon, - model=model_name, - seasonality=seasonality, - freq=freq, - dataset=dataset, - level=level, - ) - time_df = pd.DataFrame({"time": [total_time], "model": model_name}) - fcsts_df = exp.fcst_from_level_to_quantiles(fcsts_df, model_name) - results = exp.evaluate_from_predictions( - models=[model_name], fcsts_df=fcsts_df, times_df=time_df - ) - print(results, flush=True) - results_list.append(results) - results_full = pd.concat(results_list) - save_path = os.path.join(_SAVE_DIR.value, str(run_id)) - print(f"Saving results to {save_path}", flush=True) - os.makedirs(save_path, exist_ok=True) - results_full.to_csv(f"{save_path}/results.csv") + results_list = [] + run_id = np.random.randint(100000) + model_name = _MODEL_NAME.value + for dataset in dataset_names: + print(f"Evaluating model {model_name} on dataset {dataset}", flush=True) + exp = ExperimentHandler(dataset, quantiles=QUANTILES) + train_df = exp.train_df + horizon = exp.horizon + seasonality = exp.seasonality + freq = exp.freq + level = exp.level + fcsts_df, total_time, model_name = run_timegpt( + train_df=train_df, + horizon=exp.horizon, + model=model_name, + seasonality=seasonality, + freq=freq, + dataset=dataset, + level=level, + ) + time_df = pd.DataFrame({"time": [total_time], "model": model_name}) + fcsts_df = exp.fcst_from_level_to_quantiles(fcsts_df, model_name) + results = exp.evaluate_from_predictions(models=[model_name], + fcsts_df=fcsts_df, + times_df=time_df) + print(results, flush=True) + results_list.append(results) + results_full = pd.concat(results_list) + save_path = os.path.join(_SAVE_DIR.value, str(run_id)) + print(f"Saving results to {save_path}", flush=True) + os.makedirs(save_path, exist_ok=True) + results_full.to_csv(f"{save_path}/results.csv") if __name__ == "__main__": - FLAGS = flags.FLAGS - FLAGS(sys.argv) - main() + FLAGS = flags.FLAGS + FLAGS(sys.argv) + main() diff --git a/experiments/extended_benchmarks/run_timesfm.py b/experiments/extended_benchmarks/run_timesfm.py index 23d19d4..f01bf39 100644 --- a/experiments/extended_benchmarks/run_timesfm.py +++ b/experiments/extended_benchmarks/run_timesfm.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - """Evaluation script for timesfm.""" import os @@ -26,7 +25,6 @@ import timesfm from .utils import ExperimentHandler - dataset_names = [ "m1_monthly", "m1_quarterly", @@ -74,16 +72,14 @@ context_dict = { "m4_yearly": 64, } -_MODEL_PATH = flags.DEFINE_string( - "model_path", "/home/timesfm_q10_20240501", "Path to model" -) +_MODEL_PATH = flags.DEFINE_string("model_path", "/home/timesfm_q10_20240501", + "Path to model") _BATCH_SIZE = flags.DEFINE_integer("batch_size", 64, "Batch size") _HORIZON = flags.DEFINE_integer("horizon", 128, "Horizon") _BACKEND = flags.DEFINE_string("backend", "gpu", "Backend") _NUM_JOBS = flags.DEFINE_integer("num_jobs", 1, "Number of jobs") _SAVE_DIR = flags.DEFINE_string("save_dir", "./results", "Save directory") - QUANTILES = list(np.arange(1, 10) / 10.0) @@ -127,9 +123,9 @@ def main(): ) total_time = time.time() - init_time time_df = pd.DataFrame({"time": [total_time], "model": model_name}) - results = exp.evaluate_from_predictions( - models=[model_name], fcsts_df=fcsts_df, times_df=time_df - ) + results = exp.evaluate_from_predictions(models=[model_name], + fcsts_df=fcsts_df, + times_df=time_df) print(results, flush=True) results_list.append(results) results_full = pd.concat(results_list) diff --git a/experiments/extended_benchmarks/utils.py b/experiments/extended_benchmarks/utils.py index de0368b..c9307f4 100644 --- a/experiments/extended_benchmarks/utils.py +++ b/experiments/extended_benchmarks/utils.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - """Forked from https://github.com/Nixtla/nixtla/blob/main/experiments/amazon-chronos/src/utils.py.""" from functools import partial @@ -46,11 +45,9 @@ def quantile_loss( target_col: str = "y", ) -> pd.DataFrame: delta_y = df[models].sub(df[target_col], axis=0) - res = ( - np.maximum(q * delta_y, (q - 1) * delta_y) - .groupby(df[id_col], observed=True) - .mean() - ) + res = (np.maximum(q * delta_y, + (q - 1) * delta_y).groupby(df[id_col], + observed=True).mean()) res.index.name = id_col res = res.reset_index() return res @@ -66,10 +63,8 @@ class ExperimentHandler: models_dir: str = "./models", ): if dataset not in gluonts_datasets: - raise Exception( - f"dataset {dataset} not found in gluonts " - f"available datasets: {', '.join(gluonts_datasets)}" - ) + raise Exception(f"dataset {dataset} not found in gluonts " + f"available datasets: {', '.join(gluonts_datasets)}") self.dataset = dataset self.quantiles = quantiles self.level = self._transform_quantiles_to_levels(quantiles) @@ -80,10 +75,8 @@ class ExperimentHandler: gluonts_dataset = get_dataset(self.dataset) self.horizon = gluonts_dataset.metadata.prediction_length if self.horizon is None: - raise Exception( - f"horizon not found for dataset {self.dataset} " - "experiment cannot be run" - ) + raise Exception(f"horizon not found for dataset {self.dataset} " + "experiment cannot be run") self.freq = gluonts_dataset.metadata.freq # get_seasonality() returns 1 for freq='D', override this to 7. This significantly improves the accuracy of # statistical models on datasets like m5/nn5_daily. The models like AutoARIMA/AutoETS can still set @@ -122,9 +115,8 @@ class ExperimentHandler: @staticmethod def _transform_quantiles_to_levels(quantiles: List[float]) -> List[int]: - level = [ - int(100 - 200 * q) for q in quantiles if q < 0.5 - ] # in this case mean=mediain + level = [int(100 - 200 * q) for q in quantiles if q < 0.5 + ] # in this case mean=mediain level = sorted(list(set(level))) return level @@ -153,9 +145,8 @@ class ExperimentHandler: last_n: int | None = None, ) -> pd.DataFrame: with multiprocessing.Pool(os.cpu_count()) as pool: # Create a process pool - results = pool.map( - parallel_transform, zip(gluonts_dataset, repeat(last_n)) - ) + results = pool.map(parallel_transform, zip(gluonts_dataset, + repeat(last_n))) df = pd.concat(results) df = df.reset_index(drop=True) return df @@ -177,9 +168,8 @@ class ExperimentHandler: def save_dataframe(self, df: pd.DataFrame, file_name: str): df.to_csv(f"{self.results_dir}/{file_name}", index=False) - def save_results( - self, fcst_df: pd.DataFrame, total_time: float, model_name: str - ): + def save_results(self, fcst_df: pd.DataFrame, total_time: float, + model_name: str): self.save_dataframe( fcst_df, f"{model_name}-{self.dataset}-fcst.csv", @@ -215,23 +205,21 @@ class ExperimentHandler: times_df = [] for model in models: fcst_method_df = pd.read_csv( - f"{self.results_dir}/{model}-{self.dataset}-fcst.csv" - ).set_index(["unique_id", "ds"]) + f"{self.results_dir}/{model}-{self.dataset}-fcst.csv").set_index( + ["unique_id", "ds"]) fcsts_df.append(fcst_method_df) time_method_df = pd.read_csv( - f"{self.results_dir}/{model}-{self.dataset}-time.csv" - ) + f"{self.results_dir}/{model}-{self.dataset}-time.csv") times_df.append(time_method_df) fcsts_df = pd.concat(fcsts_df, axis=1).reset_index() fcsts_df["ds"] = pd.to_datetime(fcsts_df["ds"]) times_df = pd.concat(times_df) - return self.evaluate_from_predictions( - models=models, fcsts_df=fcsts_df, times_df=times_df - ) + return self.evaluate_from_predictions(models=models, + fcsts_df=fcsts_df, + times_df=times_df) - def evaluate_from_predictions( - self, models: List[str], fcsts_df: pd.DataFrame, times_df: pd.DataFrame - ) -> pd.DataFrame: + def evaluate_from_predictions(self, models: List[str], fcsts_df: pd.DataFrame, + times_df: pd.DataFrame) -> pd.DataFrame: test_df = self.test_df train_df = self.train_df test_df = test_df.merge(fcsts_df, how="left") @@ -262,9 +250,9 @@ class ExperimentHandler: eval_prob_df["metric"] = "scaled_crps" eval_df = pd.concat([eval_df, eval_prob_df]).reset_index(drop=True) eval_df = eval_df.groupby("metric").mean(numeric_only=True).reset_index() - eval_df = eval_df.melt( - id_vars="metric", value_name="value", var_name="model" - ) + eval_df = eval_df.melt(id_vars="metric", + value_name="value", + var_name="model") times_df.insert(0, "metric", "time") times_df = times_df.rename(columns={"time": "value"}) eval_df = pd.concat([eval_df, times_df]) diff --git a/experiments/long_horizon_benchmarks/run_eval.py b/experiments/long_horizon_benchmarks/run_eval.py index a079496..981f11f 100644 --- a/experiments/long_horizon_benchmarks/run_eval.py +++ b/experiments/long_horizon_benchmarks/run_eval.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - """Eval pipeline.""" import json @@ -28,38 +27,28 @@ import torch import tqdm from timesfm import data_loader - FLAGS = flags.FLAGS -_BATCH_SIZE = flags.DEFINE_integer( - "batch_size", 64, "Batch size for the randomly sampled batch" -) +_BATCH_SIZE = flags.DEFINE_integer("batch_size", 64, + "Batch size for the randomly sampled batch") _DATASET = flags.DEFINE_string("dataset", "etth1", "The name of the dataset.") -_MODEL_PATH = flags.DEFINE_string( - "model_path", "./timesfm_q10_20240501", "The name of the dataset." -) -_DATETIME_COL = flags.DEFINE_string( - "datetime_col", "date", "Column having datetime." -) -_NUM_COV_COLS = flags.DEFINE_list( - "num_cov_cols", None, "Column having numerical features." -) -_CAT_COV_COLS = flags.DEFINE_list( - "cat_cov_cols", None, "Column having categorical features." -) +_MODEL_PATH = flags.DEFINE_string("model_path", "./timesfm_q10_20240501", + "The name of the dataset.") +_DATETIME_COL = flags.DEFINE_string("datetime_col", "date", + "Column having datetime.") +_NUM_COV_COLS = flags.DEFINE_list("num_cov_cols", None, + "Column having numerical features.") +_CAT_COV_COLS = flags.DEFINE_list("cat_cov_cols", None, + "Column having categorical features.") _TS_COLS = flags.DEFINE_list("ts_cols", None, "Columns of time-series features") -_NORMALIZE = flags.DEFINE_bool( - "normalize", True, "normalize data for eval or not" -) -_CONTEXT_LEN = flags.DEFINE_integer( - "context_len", 512, "Length of the context window" -) +_NORMALIZE = flags.DEFINE_bool("normalize", True, + "normalize data for eval or not") +_CONTEXT_LEN = flags.DEFINE_integer("context_len", 512, + "Length of the context window") _PRED_LEN = flags.DEFINE_integer("pred_len", 96, "prediction length.") _BACKEND = flags.DEFINE_string("backend", "gpu", "backend to use") -_RESULTS_DIR = flags.DEFINE_string( - "results_dir", "./results/long_horizon", "results directory" -) - +_RESULTS_DIR = flags.DEFINE_string("results_dir", "./results/long_horizon", + "results directory") DATA_DICT = { "ettm2": { @@ -176,9 +165,8 @@ def eval(): holiday=False, permute=False, ) - eval_itr = dtl.tf_dataset( - mode="test", shift=_PRED_LEN.value - ).as_numpy_iterator() + eval_itr = dtl.tf_dataset(mode="test", + shift=_PRED_LEN.value).as_numpy_iterator() model_path = _MODEL_PATH.value if model_path.startswith("amazon"): model = chronos.ChronosPipeline.from_pretrained( @@ -213,10 +201,9 @@ def eval(): for batch in tqdm.tqdm(eval_itr): past = batch[0] actuals = batch[3] - forecasts = get_forecasts( - model_path, model, past, int_freq, _PRED_LEN.value - ) - forecasts = forecasts[:, 0 : actuals.shape[1]] + forecasts = get_forecasts(model_path, model, past, int_freq, + _PRED_LEN.value) + forecasts = forecasts[:, 0:actuals.shape[1]] mae_run_losses.append(_mae(forecasts, actuals).sum()) mse_run_losses.append(_mse(forecasts, actuals).sum()) smape_run_losses.append(_smape(forecasts, actuals).sum()) diff --git a/src/timesfm/__init__.py b/src/timesfm/__init__.py index 866e848..e794e45 100644 --- a/src/timesfm/__init__.py +++ b/src/timesfm/__init__.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - """TimesFM init file.""" from .timesfm import TimesFm, freq_map diff --git a/src/timesfm/data_loader.py b/src/timesfm/data_loader.py index eeace7b..b524bd4 100644 --- a/src/timesfm/data_loader.py +++ b/src/timesfm/data_loader.py @@ -11,13 +11,11 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - """TF dataloaders for general timeseries datasets. The expected input format is csv file with a datetime index. """ - from absl import logging import numpy as np import pandas as pd @@ -79,9 +77,8 @@ class TimeSeriesdata(object): self.data_df['ccol'] = np.zeros(self.data_df.shape[0]) cat_cov_cols = ['ccol'] self.data_df.fillna(0, inplace=True) - self.data_df.set_index( - pd.DatetimeIndex(self.data_df[datetime_col]), inplace=True - ) + self.data_df.set_index(pd.DatetimeIndex(self.data_df[datetime_col]), + inplace=True) self.num_cov_cols = num_cov_cols self.cat_cov_cols = cat_cov_cols self.ts_cols = ts_cols @@ -94,18 +91,16 @@ class TimeSeriesdata(object): data_df_idx[-1] + pd.Timedelta(1, freq=freq), periods=pred_len + 1, freq=freq, - ) - ) + )) self.time_df = time_features.TimeCovariates( - date_index, holiday=holiday - ).get_covariates() + date_index, holiday=holiday).get_covariates() self.hist_len = hist_len self.pred_len = pred_len self.batch_size = batch_size self.freq = freq self.normalize = normalize self.data_mat = self.data_df[self.ts_cols].to_numpy().transpose() - self.data_mat = self.data_mat[:, 0 : self.test_range[1]] + self.data_mat = self.data_mat[:, 0:self.test_range[1]] self.time_mat = self.time_df.to_numpy().transpose() self.num_feat_mat = self.data_df[num_cov_cols].to_numpy().transpose() self.cat_feat_mat, self.cat_sizes = self._get_cat_cols(cat_cov_cols) @@ -135,7 +130,7 @@ class TimeSeriesdata(object): def _normalize_data(self): self.scaler = StandardScaler() - train_mat = self.data_mat[:, self.train_range[0] : self.train_range[1]] + train_mat = self.data_mat[:, self.train_range[0]:self.train_range[1]] self.scaler = self.scaler.fit(train_mat.transpose()) self.data_mat = self.scaler.transform(self.data_mat.transpose()).transpose() @@ -253,9 +248,8 @@ class TimeSeriesdata(object): gen_fn = self.train_gen else: gen_fn = lambda: self.test_val_gen(mode, shift) - output_types = tuple( - [tf.float32] * 2 + [tf.int32] + [tf.float32] * 2 + [tf.int32] * 2 - ) + output_types = tuple([tf.float32] * 2 + [tf.int32] + [tf.float32] * 2 + + [tf.int32] * 2) dataset = tf.data.Dataset.from_generator(gen_fn, output_types) dataset = dataset.prefetch(tf.data.experimental.AUTOTUNE) return dataset diff --git a/src/timesfm/patched_decoder.py b/src/timesfm/patched_decoder.py index 5dbdcbc..4e2600a 100644 --- a/src/timesfm/patched_decoder.py +++ b/src/timesfm/patched_decoder.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - """Pax ML model for patched time-series decoder. The file implements Residual MLPs, Patched Decoder layers and PAX ML models. @@ -36,7 +35,6 @@ from praxis.layers import normalizations from praxis.layers import stochastics from praxis.layers import transformers - # PAX shortcuts NestedMap = py_utils.NestedMap JTensor = pytypes.JTensor @@ -44,7 +42,6 @@ JTensor = pytypes.JTensor LayerTpl = pax_fiddle.Config[base_layer.BaseLayer] template_field = base_layer.template_field - PAD_VAL = 1123581321.0 DEFAULT_QUANTILES = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] @@ -57,36 +54,35 @@ _FREQ = "freq" _OUTPUT_TOKENS = "output_tokens" _STATS = "stats" - # Small numerical value. _TOLERANCE = 1e-7 def _shift_padded_seq(mask: JTensor, seq: JTensor) -> JTensor: - """Shifts rows of seq based on the first 0 in each row of the mask.""" - num = seq.shape[1] + """Shifts rows of seq based on the first 0 in each row of the mask.""" + num = seq.shape[1] - # Find the index of the first 0 in each row of the mask - first_zero_idx = jnp.argmin(mask, axis=1) + # Find the index of the first 0 in each row of the mask + first_zero_idx = jnp.argmin(mask, axis=1) - # Create a range array for indexing - idx_range = jnp.arange(num) + # Create a range array for indexing + idx_range = jnp.arange(num) - def shift_row(carry, x): - seq_row, shift = x - shifted_idx = (idx_range - shift) % num - shifted_row = seq_row[shifted_idx] - return carry, shifted_row + def shift_row(carry, x): + seq_row, shift = x + shifted_idx = (idx_range - shift) % num + shifted_row = seq_row[shifted_idx] + return carry, shifted_row - # Use lax.scan to shift each row of seq based on the corresponding - # first_zero_idx. - _, shifted_seq = lax.scan(shift_row, None, (seq, first_zero_idx)) + # Use lax.scan to shift each row of seq based on the corresponding + # first_zero_idx. + _, shifted_seq = lax.scan(shift_row, None, (seq, first_zero_idx)) - return shifted_seq + return shifted_seq class ResidualBlock(base_layer.BaseLayer): - """Simple feedforward block with residual connection. + """Simple feedforward block with residual connection. Attributes: input_dims: input dimension. @@ -99,67 +95,68 @@ class ResidualBlock(base_layer.BaseLayer): act_tpl: config for activation in hidden layer. """ - input_dims: int = 0 - hidden_dims: int = 0 - output_dims: int = 0 - dropout_prob: float = 0.0 - layer_norm: bool = False - dropout_tpl: LayerTpl = template_field(stochastics.Dropout) - ln_tpl: LayerTpl = template_field(normalizations.LayerNorm) - act_tpl: LayerTpl = template_field(activations.Swish) + input_dims: int = 0 + hidden_dims: int = 0 + output_dims: int = 0 + dropout_prob: float = 0.0 + layer_norm: bool = False + dropout_tpl: LayerTpl = template_field(stochastics.Dropout) + ln_tpl: LayerTpl = template_field(normalizations.LayerNorm) + act_tpl: LayerTpl = template_field(activations.Swish) - def setup(self): - lnorm_tpl = self.ln_tpl.clone() - lnorm_tpl.dim = self.output_dims - self.create_child("ln_layer", lnorm_tpl) + def setup(self): + lnorm_tpl = self.ln_tpl.clone() + lnorm_tpl.dim = self.output_dims + self.create_child("ln_layer", lnorm_tpl) - dropout_tpl = self.dropout_tpl.clone() - dropout_tpl.keep_prob = 1.0 - self.dropout_prob - self.create_child("dropout", dropout_tpl) + dropout_tpl = self.dropout_tpl.clone() + dropout_tpl.keep_prob = 1.0 - self.dropout_prob + self.create_child("dropout", dropout_tpl) - self.create_child( - "hidden_layer", - pax_fiddle.Config( - linears.FeedForward, - input_dims=self.input_dims, - output_dims=self.hidden_dims, - activation_tpl=self.act_tpl.clone(), - ), - ) + self.create_child( + "hidden_layer", + pax_fiddle.Config( + linears.FeedForward, + input_dims=self.input_dims, + output_dims=self.hidden_dims, + activation_tpl=self.act_tpl.clone(), + ), + ) - self.create_child( - "output_layer", - pax_fiddle.Config( - linears.FeedForward, - input_dims=self.hidden_dims, - output_dims=self.output_dims, - activation_tpl=pax_fiddle.Config(activations.Identity), - ), - ) + self.create_child( + "output_layer", + pax_fiddle.Config( + linears.FeedForward, + input_dims=self.hidden_dims, + output_dims=self.output_dims, + activation_tpl=pax_fiddle.Config(activations.Identity), + ), + ) - self.create_child( - "residual_layer", - pax_fiddle.Config( - linears.FeedForward, - input_dims=self.input_dims, - output_dims=self.output_dims, - activation_tpl=pax_fiddle.Config(activations.Identity), - ), - ) + self.create_child( + "residual_layer", + pax_fiddle.Config( + linears.FeedForward, + input_dims=self.input_dims, + output_dims=self.output_dims, + activation_tpl=pax_fiddle.Config(activations.Identity), + ), + ) - def __call__(self, inputs: JTensor) -> JTensor: - hidden = self.hidden_layer(inputs) - output = self.output_layer(hidden) - output = self.dropout(output) - residual = self.residual_layer(inputs) - if self.layer_norm: - return self.ln_layer(output + residual) - else: - return output + residual + def __call__(self, inputs: JTensor) -> JTensor: + hidden = self.hidden_layer(inputs) + output = self.output_layer(hidden) + output = self.dropout(output) + residual = self.residual_layer(inputs) + if self.layer_norm: + return self.ln_layer(output + residual) + else: + return output + residual -def _masked_mean_std(inputs: JTensor, padding: JTensor) -> Tuple[JTensor, JTensor]: - """Calculates mean and standard deviation of arr across axis 1. +def _masked_mean_std(inputs: JTensor, + padding: JTensor) -> Tuple[JTensor, JTensor]: + """Calculates mean and standard deviation of arr across axis 1. It should exclude values where pad is 1. @@ -171,48 +168,48 @@ def _masked_mean_std(inputs: JTensor, padding: JTensor) -> Tuple[JTensor, JTenso A tuple containing the mean and standard deviation of arr. We return the statistics of the first patch with more than three non-padded values. """ - # Selecting the first pad with more than 3 unpadded values. - pad_sum = jnp.sum(1 - padding, axis=2) + # Selecting the first pad with more than 3 unpadded values. + pad_sum = jnp.sum(1 - padding, axis=2) - def _get_patch_index(arr: JTensor): - indices = jnp.argmax(arr >= 3, axis=1) - row_sum = (arr >= 3).sum(axis=1) - return jnp.where(row_sum == 0, arr.shape[1] - 1, indices) + def _get_patch_index(arr: JTensor): + indices = jnp.argmax(arr >= 3, axis=1) + row_sum = (arr >= 3).sum(axis=1) + return jnp.where(row_sum == 0, arr.shape[1] - 1, indices) - patch_indices = _get_patch_index(pad_sum) - bidxs = jnp.arange(inputs.shape[0]) + patch_indices = _get_patch_index(pad_sum) + bidxs = jnp.arange(inputs.shape[0]) - arr = inputs[bidxs, patch_indices, :] - pad = padding[bidxs, patch_indices, :] + arr = inputs[bidxs, patch_indices, :] + pad = padding[bidxs, patch_indices, :] - # Create a mask where P is 0 - mask = 1 - pad + # Create a mask where P is 0 + mask = 1 - pad - # Calculate the number of valid elements - num_valid_elements = jnp.sum(mask, axis=1) + # Calculate the number of valid elements + num_valid_elements = jnp.sum(mask, axis=1) - num_valid_elements = jnp.where(num_valid_elements == 0, 1, num_valid_elements) + num_valid_elements = jnp.where(num_valid_elements == 0, 1, num_valid_elements) - # Calculate the masked sum and squared sum of M - masked_sum = jnp.sum(arr * mask, axis=1) - masked_squared_sum = jnp.sum((arr * mask) ** 2, axis=1) + # Calculate the masked sum and squared sum of M + masked_sum = jnp.sum(arr * mask, axis=1) + masked_squared_sum = jnp.sum((arr * mask)**2, axis=1) - # Calculate the masked mean and standard deviation - masked_mean = masked_sum / num_valid_elements - masked_var = masked_squared_sum / num_valid_elements - masked_mean**2 - masked_var = jnp.where(masked_var < 0.0, 0.0, masked_var) - masked_std = jnp.sqrt(masked_var) + # Calculate the masked mean and standard deviation + masked_mean = masked_sum / num_valid_elements + masked_var = masked_squared_sum / num_valid_elements - masked_mean**2 + masked_var = jnp.where(masked_var < 0.0, 0.0, masked_var) + masked_std = jnp.sqrt(masked_var) - return masked_mean, masked_std + return masked_mean, masked_std def _create_quantiles() -> list[float]: - """Returns the quantiles for forecasting.""" - return DEFAULT_QUANTILES + """Returns the quantiles for forecasting.""" + return DEFAULT_QUANTILES class PatchedTimeSeriesDecoder(base_layer.BaseLayer): - """Patch decoder layer for time-series foundation model. + """Patch decoder layer for time-series foundation model. Attributes: patch_len: length of input patches. @@ -231,137 +228,137 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): number of output logits. D is model dimension. """ - patch_len: int = 0 - horizon_len: int = 0 - model_dims: int = 0 - hidden_dims: int = 0 - quantiles: list[float] = dataclasses.field(default_factory=_create_quantiles) - residual_block_tpl: LayerTpl = template_field(ResidualBlock) - stacked_transformer_params_tpl: LayerTpl = template_field( - transformers.StackedTransformer + patch_len: int = 0 + horizon_len: int = 0 + model_dims: int = 0 + hidden_dims: int = 0 + quantiles: list[float] = dataclasses.field(default_factory=_create_quantiles) + residual_block_tpl: LayerTpl = template_field(ResidualBlock) + stacked_transformer_params_tpl: LayerTpl = template_field( + transformers.StackedTransformer) + use_freq: bool = True + + def setup(self) -> None: + """Construct the model.""" + num_outputs = len(self.quantiles) + 1 + + stl = self.stacked_transformer_params_tpl.clone() + stl.model_dims = self.model_dims + stl.hidden_dims = self.hidden_dims + stl.mask_self_attention = True + + self.create_child("stacked_transformer_layer", stl) + + input_resl = self.residual_block_tpl.clone() + ff_in_dims = 2 * self.patch_len + input_resl.input_dims = ff_in_dims + input_resl.hidden_dims = self.hidden_dims + input_resl.output_dims = self.model_dims + self.create_child( + "input_ff_layer", + input_resl, ) - use_freq: bool = True - def setup(self) -> None: - """Construct the model.""" - num_outputs = len(self.quantiles) + 1 + horizon_resl = self.residual_block_tpl.clone() + horizon_resl.input_dims = self.model_dims + horizon_resl.hidden_dims = self.hidden_dims + horizon_resl.output_dims = self.horizon_len * num_outputs + self.create_child( + "horizon_ff_layer", + horizon_resl, + ) - stl = self.stacked_transformer_params_tpl.clone() - stl.model_dims = self.model_dims - stl.hidden_dims = self.hidden_dims - stl.mask_self_attention = True + self.create_child( + "position_emb", + pax_fiddle.Config(layers.PositionalEmbedding, + embedding_dims=self.model_dims), + ) - self.create_child("stacked_transformer_layer", stl) + if self.use_freq: + self.create_child( + "freq_emb", + pax_fiddle.Config( + embedding_softmax.Embedding, + num_classes=3, + input_dims=self.model_dims, + ), + ) - input_resl = self.residual_block_tpl.clone() - ff_in_dims = 2 * self.patch_len - input_resl.input_dims = ff_in_dims - input_resl.hidden_dims = self.hidden_dims - input_resl.output_dims = self.model_dims - self.create_child( - "input_ff_layer", - input_resl, - ) + def transform_decode_state( + self, transform_fn: base_layer.DecodeStateTransformFn) -> None: + """Transforms all decode state variables based on transform_fn.""" + self.stacked_transformer_layer.transform_decode_state(transform_fn) - horizon_resl = self.residual_block_tpl.clone() - horizon_resl.input_dims = self.model_dims - horizon_resl.hidden_dims = self.hidden_dims - horizon_resl.output_dims = self.horizon_len * num_outputs - self.create_child( - "horizon_ff_layer", - horizon_resl, - ) + def _forward_transform( + self, inputs: JTensor, + patched_pads: JTensor) -> Tuple[JTensor, Tuple[JTensor, JTensor]]: + """Input is of shape [B, N, P].""" + mu, sigma = _masked_mean_std(inputs, patched_pads) + sigma = jnp.where(sigma < _TOLERANCE, 1.0, sigma) + # Normalize each patch. + outputs = (inputs - mu[:, None, None]) / sigma[:, None, None] + outputs = jnp.where( + jnp.abs(inputs - PAD_VAL) < _TOLERANCE, PAD_VAL, outputs) + return outputs, (mu, sigma) - self.create_child( - "position_emb", - pax_fiddle.Config( - layers.PositionalEmbedding, embedding_dims=self.model_dims - ), - ) + def _reverse_transform(self, outputs: JTensor, + stats: Tuple[JTensor, JTensor]) -> JTensor: + """Output is of shape [B, N, P, Q].""" + mu, sigma = stats + return outputs * sigma[:, None, None, None] + mu[:, None, None, None] - if self.use_freq: - self.create_child( - "freq_emb", - pax_fiddle.Config( - embedding_softmax.Embedding, - num_classes=3, - input_dims=self.model_dims, - ), - ) + def _preprocess_input( + self, + input_ts: JTensor, + input_padding: JTensor, + pos_emb: Optional[JTensor] = None, + ) -> Tuple[JTensor, JTensor, Optional[Tuple[JTensor, JTensor]], JTensor]: + """Preprocess input for stacked transformer.""" + # Reshape into patches. + patched_inputs = es.jax_einshape("b(np)->bnp", input_ts, p=self.patch_len) + input_padding = jnp.where( + jnp.abs(input_ts - PAD_VAL) < _TOLERANCE, 1, input_padding) + patched_pads = es.jax_einshape("b(np)->bnp", + input_padding, + p=self.patch_len) + patched_inputs, stats = self._forward_transform(patched_inputs, + patched_pads) + # B x N x D + patched_inputs = patched_inputs * (1.0 - patched_pads) + concat_inputs = jnp.concatenate([patched_inputs, patched_pads], axis=-1) + model_input = self.input_ff_layer(concat_inputs) + # A patch should not be padded even if there is at least one zero. + patched_padding = jnp.min(patched_pads, axis=-1) - def transform_decode_state( - self, transform_fn: base_layer.DecodeStateTransformFn - ) -> None: - """Transforms all decode state variables based on transform_fn.""" - self.stacked_transformer_layer.transform_decode_state(transform_fn) + if pos_emb is None: + position_emb = self.position_emb(seq_length=model_input.shape[1]) + else: + position_emb = pos_emb + if self.do_eval: + if position_emb.shape[0] != model_input.shape[0]: + position_emb = jnp.repeat(position_emb, model_input.shape[0], axis=0) + position_emb = _shift_padded_seq(patched_padding, position_emb) + model_input += position_emb - def _forward_transform( - self, inputs: JTensor, patched_pads: JTensor - ) -> Tuple[JTensor, Tuple[JTensor, JTensor]]: - """Input is of shape [B, N, P].""" - mu, sigma = _masked_mean_std(inputs, patched_pads) - sigma = jnp.where(sigma < _TOLERANCE, 1.0, sigma) - # Normalize each patch. - outputs = (inputs - mu[:, None, None]) / sigma[:, None, None] - outputs = jnp.where(jnp.abs(inputs - PAD_VAL) < _TOLERANCE, PAD_VAL, outputs) - return outputs, (mu, sigma) + return model_input, patched_padding, stats, patched_inputs - def _reverse_transform( - self, outputs: JTensor, stats: Tuple[JTensor, JTensor] - ) -> JTensor: - """Output is of shape [B, N, P, Q].""" - mu, sigma = stats - return outputs * sigma[:, None, None, None] + mu[:, None, None, None] + def _postprocess_output( + self, + model_output: JTensor, + num_outputs: int, + stats: Tuple[JTensor, JTensor], + ) -> JTensor: + """Postprocess output of stacked transformer.""" + # B x N x (H.Q) + output_ts = self.horizon_ff_layer(model_output) + output_ts = es.jax_einshape("bn(hq)->bnhq", + output_ts, + q=num_outputs, + h=self.horizon_len) + return self._reverse_transform(output_ts, stats) - def _preprocess_input( - self, - input_ts: JTensor, - input_padding: JTensor, - pos_emb: Optional[JTensor] = None, - ) -> Tuple[JTensor, JTensor, Optional[Tuple[JTensor, JTensor]], JTensor]: - """Preprocess input for stacked transformer.""" - # Reshape into patches. - patched_inputs = es.jax_einshape("b(np)->bnp", input_ts, p=self.patch_len) - input_padding = jnp.where( - jnp.abs(input_ts - PAD_VAL) < _TOLERANCE, 1, input_padding - ) - patched_pads = es.jax_einshape("b(np)->bnp", input_padding, p=self.patch_len) - patched_inputs, stats = self._forward_transform(patched_inputs, patched_pads) - # B x N x D - patched_inputs = patched_inputs * (1.0 - patched_pads) - concat_inputs = jnp.concatenate([patched_inputs, patched_pads], axis=-1) - model_input = self.input_ff_layer(concat_inputs) - # A patch should not be padded even if there is at least one zero. - patched_padding = jnp.min(patched_pads, axis=-1) - - if pos_emb is None: - position_emb = self.position_emb(seq_length=model_input.shape[1]) - else: - position_emb = pos_emb - if self.do_eval: - if position_emb.shape[0] != model_input.shape[0]: - position_emb = jnp.repeat(position_emb, model_input.shape[0], axis=0) - position_emb = _shift_padded_seq(patched_padding, position_emb) - model_input += position_emb - - return model_input, patched_padding, stats, patched_inputs - - def _postprocess_output( - self, - model_output: JTensor, - num_outputs: int, - stats: Tuple[JTensor, JTensor], - ) -> JTensor: - """Postprocess output of stacked transformer.""" - # B x N x (H.Q) - output_ts = self.horizon_ff_layer(model_output) - output_ts = es.jax_einshape( - "bn(hq)->bnhq", output_ts, q=num_outputs, h=self.horizon_len - ) - return self._reverse_transform(output_ts, stats) - - def __call__(self, inputs: NestedMap) -> NestedMap: - """PatchTST call. + def __call__(self, inputs: NestedMap) -> NestedMap: + """PatchTST call. Args: inputs: A NestedMap containing (1) input_ts: input sequence of shape [B, @@ -374,32 +371,34 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): (2) 'output_ts' of shape [B, N, H, Q] (3) 'stats' a Tuple of statistics for renormalization. """ - input_ts, input_padding = inputs[_INPUT_TS], inputs[_INPUT_PADDING] - num_outputs = len(self.quantiles) + 1 - model_input, patched_padding, stats, _ = self._preprocess_input( - input_ts=input_ts, - input_padding=input_padding, - ) - if self.use_freq: - freq = inputs[_FREQ].astype(jnp.int32) - f_emb = self.freq_emb(freq) # B x 1 x D - f_emb = jnp.repeat(f_emb, model_input.shape[1], axis=1) - model_input += f_emb - model_output = self.stacked_transformer_layer(model_input, patched_padding) + input_ts, input_padding = inputs[_INPUT_TS], inputs[_INPUT_PADDING] + num_outputs = len(self.quantiles) + 1 + model_input, patched_padding, stats, _ = self._preprocess_input( + input_ts=input_ts, + input_padding=input_padding, + ) + if self.use_freq: + freq = inputs[_FREQ].astype(jnp.int32) + f_emb = self.freq_emb(freq) # B x 1 x D + f_emb = jnp.repeat(f_emb, model_input.shape[1], axis=1) + model_input += f_emb + model_output = self.stacked_transformer_layer(model_input, patched_padding) - output_ts = self._postprocess_output(model_output, num_outputs, stats) - return NestedMap( - {_OUTPUT_TOKENS: model_output, _OUTPUT_TS: output_ts, _STATS: stats} - ) + output_ts = self._postprocess_output(model_output, num_outputs, stats) + return NestedMap({ + _OUTPUT_TOKENS: model_output, + _OUTPUT_TS: output_ts, + _STATS: stats + }) - def decode( - self, - inputs: NestedMap, - horizon_len: int, - output_patch_len: Optional[int] = None, - max_len: int = 512, - ) -> tuple[JTensor, JTensor]: - """Auto-regressive decoding without caching. + def decode( + self, + inputs: NestedMap, + horizon_len: int, + output_patch_len: Optional[int] = None, + max_len: int = 512, + ) -> tuple[JTensor, JTensor]: + """Auto-regressive decoding without caching. Args: inputs: input time-series and paddings. Time-series shape B x C, padding @@ -415,83 +414,80 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): - Full predictions (mean and quantiles) as a tensor with shape B x H x (1 + # quantiles). """ - final_out = inputs[_INPUT_TS] - inp_time_len = final_out.shape[1] - paddings = inputs[_INPUT_PADDING] - if self.use_freq: - freq = inputs[_FREQ].astype(jnp.int32) - else: - freq = jnp.zeros([final_out.shape[0], 1], dtype=jnp.int32) - full_outputs = [] - if paddings.shape[1] != final_out.shape[1] + horizon_len: - raise ValueError( - "Length of paddings must match length of input + horizon_len:" - f" {paddings.shape[1]} != {final_out.shape[1]} + {horizon_len}" - ) - if output_patch_len is None: - output_patch_len = self.horizon_len - num_decode_patches = (horizon_len + output_patch_len - 1) // output_patch_len - for _ in range(num_decode_patches): - current_padding = paddings[:, 0 : final_out.shape[1]] - input_ts = final_out[:, -max_len:] - input_padding = current_padding[:, -max_len:] - model_input = NestedMap( - input_ts=input_ts, - input_padding=input_padding, - freq=freq, - ) - fprop_outputs = self(model_input)[_OUTPUT_TS] - # (full batch, last patch, output_patch_len, index of mean forecast = 0) - new_ts = fprop_outputs[:, -1, :output_patch_len, 0] - # (full batch, last patch, output_patch_len, all output indices) - full_outputs.append(fprop_outputs[:, -1, :output_patch_len, :]) - final_out = jnp.concatenate([final_out, new_ts], axis=-1) + final_out = inputs[_INPUT_TS] + inp_time_len = final_out.shape[1] + paddings = inputs[_INPUT_PADDING] + if self.use_freq: + freq = inputs[_FREQ].astype(jnp.int32) + else: + freq = jnp.zeros([final_out.shape[0], 1], dtype=jnp.int32) + full_outputs = [] + if paddings.shape[1] != final_out.shape[1] + horizon_len: + raise ValueError( + "Length of paddings must match length of input + horizon_len:" + f" {paddings.shape[1]} != {final_out.shape[1]} + {horizon_len}") + if output_patch_len is None: + output_patch_len = self.horizon_len + num_decode_patches = (horizon_len + output_patch_len - + 1) // output_patch_len + for _ in range(num_decode_patches): + current_padding = paddings[:, 0:final_out.shape[1]] + input_ts = final_out[:, -max_len:] + input_padding = current_padding[:, -max_len:] + model_input = NestedMap( + input_ts=input_ts, + input_padding=input_padding, + freq=freq, + ) + fprop_outputs = self(model_input)[_OUTPUT_TS] + # (full batch, last patch, output_patch_len, index of mean forecast = 0) + new_ts = fprop_outputs[:, -1, :output_patch_len, 0] + # (full batch, last patch, output_patch_len, all output indices) + full_outputs.append(fprop_outputs[:, -1, :output_patch_len, :]) + final_out = jnp.concatenate([final_out, new_ts], axis=-1) - return ( - final_out[:, inp_time_len : inp_time_len + horizon_len], - jnp.concatenate(full_outputs, axis=1)[:, 0:horizon_len, :], - ) + return ( + final_out[:, inp_time_len:inp_time_len + horizon_len], + jnp.concatenate(full_outputs, axis=1)[:, 0:horizon_len, :], + ) class PatchedDecoderFinetuneModel(base_model.BaseModel): - """Model class for finetuning patched time-series decoder. + """Model class for finetuning patched time-series decoder. Attributes: core_layer_tpl: config for core layer. freq: freq to finetune on. """ - core_layer_tpl: LayerTpl = template_field(PatchedTimeSeriesDecoder) - freq: int = 0 + core_layer_tpl: LayerTpl = template_field(PatchedTimeSeriesDecoder) + freq: int = 0 - def setup(self) -> None: - self.create_child("core_layer", self.core_layer_tpl) + def setup(self) -> None: + self.create_child("core_layer", self.core_layer_tpl) - def compute_predictions(self, input_batch: NestedMap) -> NestedMap: - input_ts = input_batch[_INPUT_TS] - input_padding = jnp.zeros_like(input_ts) - context_len = input_ts.shape[1] - input_patch_len = self.core_layer_tpl.patch_len - context_pad = ( - (context_len + input_patch_len - 1) // input_patch_len - ) * input_patch_len - context_len + def compute_predictions(self, input_batch: NestedMap) -> NestedMap: + input_ts = input_batch[_INPUT_TS] + input_padding = jnp.zeros_like(input_ts) + context_len = input_ts.shape[1] + input_patch_len = self.core_layer_tpl.patch_len + context_pad = ((context_len + input_patch_len - 1) // + input_patch_len) * input_patch_len - context_len - input_ts = jnp.pad(input_ts, [(0, 0), (context_pad, 0)]) - input_padding = jnp.pad( - input_padding, [(0, 0), (context_pad, 0)], constant_values=1 - ) - freq = jnp.ones([input_ts.shape[0], 1], dtype=jnp.int32) * self.freq - new_input_batch = NestedMap( - input_ts=input_ts, - input_padding=input_padding, - freq=freq, - ) - return self.core_layer(new_input_batch) + input_ts = jnp.pad(input_ts, [(0, 0), (context_pad, 0)]) + input_padding = jnp.pad(input_padding, [(0, 0), (context_pad, 0)], + constant_values=1) + freq = jnp.ones([input_ts.shape[0], 1], dtype=jnp.int32) * self.freq + new_input_batch = NestedMap( + input_ts=input_ts, + input_padding=input_padding, + freq=freq, + ) + return self.core_layer(new_input_batch) - def _quantile_loss( - self, pred: JTensor, actual: JTensor, quantile: float - ) -> JTensor: - """Calculates quantile loss. + def _quantile_loss(self, pred: JTensor, actual: JTensor, + quantile: float) -> JTensor: + """Calculates quantile loss. Args: pred: B x T @@ -501,21 +497,20 @@ class PatchedDecoderFinetuneModel(base_model.BaseModel): Returns: per coordinate loss. """ - dev = actual - pred - loss_first = dev * quantile - loss_second = -dev * (1.0 - quantile) - return 2 * jnp.where(loss_first >= 0, loss_first, loss_second) + dev = actual - pred + loss_first = dev * quantile + loss_second = -dev * (1.0 - quantile) + return 2 * jnp.where(loss_first >= 0, loss_first, loss_second) - def compute_loss( - self, prediction_output: NestedMap, input_batch: NestedMap - ) -> Tuple[NestedMap, NestedMap]: - output_ts = prediction_output[_OUTPUT_TS] - actual_ts = input_batch[_TARGET_FUTURE] - pred_ts = output_ts[:, -1, 0 : actual_ts.shape[1], :] - loss = jnp.square(pred_ts[:, :, 0] - actual_ts) - for i, quantile in enumerate(self.core_layer.quantiles): - loss += self._quantile_loss(pred_ts[:, :, i + 1], actual_ts, quantile) - loss = loss.mean() - loss_weight = jnp.array(1.0, dtype=jnp.float32) - per_example_out = NestedMap() - return {"avg_qloss": (loss, loss_weight)}, per_example_out + def compute_loss(self, prediction_output: NestedMap, + input_batch: NestedMap) -> Tuple[NestedMap, NestedMap]: + output_ts = prediction_output[_OUTPUT_TS] + actual_ts = input_batch[_TARGET_FUTURE] + pred_ts = output_ts[:, -1, 0:actual_ts.shape[1], :] + loss = jnp.square(pred_ts[:, :, 0] - actual_ts) + for i, quantile in enumerate(self.core_layer.quantiles): + loss += self._quantile_loss(pred_ts[:, :, i + 1], actual_ts, quantile) + loss = loss.mean() + loss_weight = jnp.array(1.0, dtype=jnp.float32) + per_example_out = NestedMap() + return {"avg_qloss": (loss, loss_weight)}, per_example_out diff --git a/src/timesfm/time_features.py b/src/timesfm/time_features.py index 0bd90a9..0cc0861 100644 --- a/src/timesfm/time_features.py +++ b/src/timesfm/time_features.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - """Directory to extract time covariates. Extract time covariates from datetime. @@ -36,7 +35,6 @@ from pandas.tseries.offsets import Easter from sklearn.preprocessing import StandardScaler from tqdm import tqdm - # This is 183 to cover half a year (in both directions), also for leap years # + 17 as Eastern can be between March, 22 - April, 25 MAX_WINDOW = 183 + 17 @@ -50,9 +48,8 @@ def _distance_to_holiday(holiday): index - pd.Timedelta(days=MAX_WINDOW), index + pd.Timedelta(days=MAX_WINDOW), ) - assert ( - len(holiday_date) != 0 # pylint: disable=g-explicit-length-test - ), f"No closest holiday for the date index {index} found." + assert (len(holiday_date) != 0 # pylint: disable=g-explicit-length-test + ), f"No closest holiday for the date index {index} found." # It sometimes returns two dates if it is exactly half a year after the # holiday. In this case, the smaller distance (182 days) is returned. return (index - holiday_date[0]).days @@ -60,16 +57,19 @@ def _distance_to_holiday(holiday): return _distance_to_day -EasterSunday = Holiday( - "Easter Sunday", month=1, day=1, offset=[Easter(), Day(0)] -) +EasterSunday = Holiday("Easter Sunday", + month=1, + day=1, + offset=[Easter(), Day(0)]) NewYearsDay = Holiday("New Years Day", month=1, day=1) -SuperBowl = Holiday( - "Superbowl", month=2, day=1, offset=DateOffset(weekday=SU(1)) -) -MothersDay = Holiday( - "Mothers Day", month=5, day=1, offset=DateOffset(weekday=SU(2)) -) +SuperBowl = Holiday("Superbowl", + month=2, + day=1, + offset=DateOffset(weekday=SU(1))) +MothersDay = Holiday("Mothers Day", + month=5, + day=1, + offset=DateOffset(weekday=SU(2))) IndependenceDay = Holiday("Independence Day", month=7, day=4) ChristmasEve = Holiday("Christmas", month=12, day=24) ChristmasDay = Holiday("Christmas", month=12, day=25) diff --git a/src/timesfm/timesfm.py b/src/timesfm/timesfm.py index 5dc7611..70c5292 100644 --- a/src/timesfm/timesfm.py +++ b/src/timesfm/timesfm.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - """TimesFM forecast API for inference.""" import logging @@ -52,23 +51,16 @@ def moving_average(arr, window_size): """Calculates the moving average using NumPy's convolution function.""" # Pad with zeros to handle initial window positions arr_padded = np.pad(arr, (window_size - 1, 0), "constant") - smoothed_arr = ( - np.convolve(arr_padded, np.ones(window_size), "valid") / window_size - ) + smoothed_arr = (np.convolve(arr_padded, np.ones(window_size), "valid") / + window_size) return [smoothed_arr, arr - smoothed_arr] def freq_map(freq: str): """Returns the frequency map for the given frequency string.""" freq = str.upper(freq) - if ( - freq.endswith("H") - or freq.endswith("T") - or freq.endswith("MIN") - or freq.endswith("D") - or freq.endswith("B") - or freq.endswith("U") - ): + if (freq.endswith("H") or freq.endswith("T") or freq.endswith("MIN") or + freq.endswith("D") or freq.endswith("B") or freq.endswith("U")): return 0 elif freq.endswith(("W", "M", "MS")): return 1 @@ -179,9 +171,7 @@ class TimesFm: num_layers=num_layers, transformer_layer_params_tpl=pax_fiddle.Config( transformers.Transformer, - ln_tpl=pax_fiddle.Config( - normalizations.RmsNorm, - ), + ln_tpl=pax_fiddle.Config(normalizations.RmsNorm,), ), ), ) @@ -199,34 +189,38 @@ class TimesFm: def _get_sample_inputs(self): return { - "input_ts": jnp.zeros( - ( - self.per_core_batch_size, - self.context_len + self.output_patch_len, + "input_ts": + jnp.zeros( + ( + self.per_core_batch_size, + self.context_len + self.output_patch_len, + ), + dtype=jnp.float32, ), - dtype=jnp.float32, - ), - "input_padding": jnp.zeros( - ( - self.per_core_batch_size, - self.context_len + self.output_patch_len, + "input_padding": + jnp.zeros( + ( + self.per_core_batch_size, + self.context_len + self.output_patch_len, + ), + dtype=jnp.float32, ), - dtype=jnp.float32, - ), - "freq": jnp.zeros( - ( - self.per_core_batch_size, - 1, + "freq": + jnp.zeros( + ( + self.per_core_batch_size, + 1, + ), + dtype=jnp.int32, ), - dtype=jnp.int32, - ), } def load_from_checkpoint( self, checkpoint_path: Optional[str] = None, repo_id: str = "google/timesfm-1.0-200m", - checkpoint_type: checkpoints.CheckpointType = checkpoints.CheckpointType.FLAX, + checkpoint_type: checkpoints.CheckpointType = checkpoints.CheckpointType. + FLAX, step: int | None = None, ) -> None: """Loads a checkpoint and compiles the decoder. @@ -246,8 +240,7 @@ class TimesFm: start_time = time.time() self._model = instantiate(self.model_p) var_weight_hparams = self._model.abstract_init_with_metadata( - self._get_sample_inputs(), do_eval=True - ) + self._get_sample_inputs(), do_eval=True) train_state_partition_specs = tasks_lib.create_state_partition_specs( var_weight_hparams, mesh_shape=self.mesh_shape, @@ -261,8 +254,7 @@ class TimesFm: learners=None, ) self._logging( - f"Constructed model weights in {time.time() - start_time:.2f} seconds." - ) + f"Constructed model weights in {time.time() - start_time:.2f} seconds.") # Load the model weights. self._logging(f"Restoring checkpoint from {checkpoint_path}.") @@ -275,12 +267,12 @@ class TimesFm: step=step, ) self._logging( - f"Restored checkpoint in {time.time() - start_time:.2f} seconds." - ) + f"Restored checkpoint in {time.time() - start_time:.2f} seconds.") self.jit_decode() - + def jit_decode(self): """Jitting decoding function.""" + # Initialize and jit the decode fn. def _decode(inputs): assert self._model is not None @@ -310,34 +302,36 @@ class TimesFm: with base_layer.JaxContext.new_context(hparams=self._eval_context): _ = self._pmapped_decode( NestedMap({ - "input_ts": jnp.zeros( - ( - self.num_devices, - self.per_core_batch_size, - self.context_len, + "input_ts": + jnp.zeros( + ( + self.num_devices, + self.per_core_batch_size, + self.context_len, + ), + dtype=jnp.float32, ), - dtype=jnp.float32, - ), - "input_padding": jnp.zeros( - ( - self.num_devices, - self.per_core_batch_size, - self.context_len + self.horizon_len, + "input_padding": + jnp.zeros( + ( + self.num_devices, + self.per_core_batch_size, + self.context_len + self.horizon_len, + ), + dtype=jnp.float32, ), - dtype=jnp.float32, - ), - "date_features": None, - "freq": jnp.zeros( - (self.num_devices, self.per_core_batch_size, 1), - dtype=jnp.int32, - ), - }) - ) + "date_features": + None, + "freq": + jnp.zeros( + (self.num_devices, self.per_core_batch_size, 1), + dtype=jnp.int32, + ), + })) self._logging(f"Jitted decoding in {time.time() - start_time:.2f} seconds.") - def _preprocess( - self, inputs: Sequence[np.array], freq: Sequence[int] - ) -> tuple[np.array, np.array, int]: + def _preprocess(self, inputs: Sequence[np.array], + freq: Sequence[int]) -> tuple[np.array, np.array, int]: """Formats and pads raw inputs to feed into the model. This function both pads each time series to match the context length, and @@ -358,24 +352,21 @@ class TimesFm: input_ts, input_padding, inp_freq = [], [], [] - pmap_pad = ( - (len(inputs) - 1) // self.global_batch_size + 1 - ) * self.global_batch_size - len(inputs) + pmap_pad = ((len(inputs) - 1) // self.global_batch_size + + 1) * self.global_batch_size - len(inputs) for i, ts in enumerate(inputs): input_len = ts.shape[0] padding = np.zeros(shape=(input_len + self.horizon_len,), dtype=float) if input_len < self.context_len: num_front_pad = self.context_len - input_len - ts = np.concatenate( - [np.zeros(shape=(num_front_pad,), dtype=float), ts], axis=0 - ) + ts = np.concatenate([np.zeros(shape=(num_front_pad,), dtype=float), ts], + axis=0) padding = np.concatenate( - [np.ones(shape=(num_front_pad,), dtype=float), padding], axis=0 - ) + [np.ones(shape=(num_front_pad,), dtype=float), padding], axis=0) elif input_len > self.context_len: - ts = ts[-self.context_len :] - padding = padding[-(self.context_len + self.horizon_len) :] + ts = ts[-self.context_len:] + padding = padding[-(self.context_len + self.horizon_len):] input_ts.append(ts) input_padding.append(padding) @@ -425,8 +416,7 @@ class TimesFm: if not self._train_state or not self._model: raise ValueError( "Checkpoint not loaded. Call `load_from_checkpoint` before" - " `forecast`." - ) + " `forecast`.") if forecast_context_len is None: forecast_context_len = self.context_len inputs = [np.array(ts)[-forecast_context_len:] for ts in inputs] @@ -448,47 +438,45 @@ class TimesFm: full_outputs = [] assert input_ts.shape[0] % self.global_batch_size == 0 for i in range(input_ts.shape[0] // self.global_batch_size): - input_ts_in = jnp.array( - input_ts[ - i * self.global_batch_size : (i + 1) * self.global_batch_size - ] - ) + input_ts_in = jnp.array(input_ts[i * self.global_batch_size:(i + 1) * + self.global_batch_size]) input_padding_in = jnp.array( - input_padding[ - i * self.global_batch_size : (i + 1) * self.global_batch_size - ], - ) + input_padding[i * self.global_batch_size:(i + 1) * + self.global_batch_size],) inp_freq_in = jnp.array( - inp_freq[ - i * self.global_batch_size : (i + 1) * self.global_batch_size, : - ], + inp_freq[i * self.global_batch_size:(i + 1) * + self.global_batch_size, :], dtype=jnp.int32, ) pmapped_inputs = NestedMap({ - "input_ts": es.jax_einshape( - "(db)...->db...", - input_ts_in, - d=self.num_devices, - ), - "input_padding": es.jax_einshape( - "(db)...->db...", - input_padding_in, - d=self.num_devices, - ), - "date_features": None, - "freq": es.jax_einshape( - "(db)...->db...", - inp_freq_in, - d=self.num_devices, - ), + "input_ts": + es.jax_einshape( + "(db)...->db...", + input_ts_in, + d=self.num_devices, + ), + "input_padding": + es.jax_einshape( + "(db)...->db...", + input_padding_in, + d=self.num_devices, + ), + "date_features": + None, + "freq": + es.jax_einshape( + "(db)...->db...", + inp_freq_in, + d=self.num_devices, + ), }) mean_output, full_output = self._pmapped_decode(pmapped_inputs) - mean_output = es.jax_einshape( - "db...->(db)...", mean_output, d=self.num_devices - ) - full_output = es.jax_einshape( - "db...->(db)...", full_output, d=self.num_devices - ) + mean_output = es.jax_einshape("db...->(db)...", + mean_output, + d=self.num_devices) + full_output = es.jax_einshape("db...->(db)...", + full_output, + d=self.num_devices) mean_output = np.array(mean_output) full_output = np.array(full_output) mean_outputs.append(mean_output) @@ -539,14 +527,10 @@ class TimesFm: Returns: Future forecasts dataframe. """ - if not ( - "unique_id" in inputs.columns - and "ds" in inputs.columns - and value_name in inputs.columns - ): + if not ("unique_id" in inputs.columns and "ds" in inputs.columns and + value_name in inputs.columns): raise ValueError( - f"DataFrame must have unique_id, ds and {value_name} columns." - ) + f"DataFrame must have unique_id, ds and {value_name} columns.") if not forecast_context_len: forecast_context_len = self.context_len logging.info("Preprocessing dataframe.") @@ -571,17 +555,15 @@ class TimesFm: with multiprocessing.Pool(processes=num_jobs) as pool: results = pool.starmap( process_group, - [ - (key, group, value_name, forecast_context_len) - for key, group in df_sorted.groupby("unique_id") - ], + [(key, group, value_name, forecast_context_len) + for key, group in df_sorted.groupby("unique_id")], ) new_inputs, uids = zip(*results) print("Finished preprocessing dataframe.") freq_inps = [freq_map(freq)] * len(new_inputs) - _, full_forecast = self.forecast( - new_inputs, freq=freq_inps, window_size=window_size - ) + _, full_forecast = self.forecast(new_inputs, + freq=freq_inps, + window_size=window_size) print("Finished forecasting.") fcst_df = make_future_dataframe( uids=uids, @@ -589,16 +571,13 @@ class TimesFm: h=self.horizon_len, freq=freq, ) - fcst_df[model_name] = full_forecast[:, 0 : self.horizon_len, 0].reshape( - -1, 1 - ) + fcst_df[model_name] = full_forecast[:, 0:self.horizon_len, 0].reshape(-1, 1) if self._model.quantiles is not None: for i, q in enumerate(self._model.quantiles): q_col = f"{model_name}-q-{q}" - fcst_df[q_col] = full_forecast[:, 0 : self.horizon_len, 1 + i].reshape( - -1, 1 - ) + fcst_df[q_col] = full_forecast[:, 0:self.horizon_len, + 1 + i].reshape(-1, 1) if q == 0.5: fcst_df[model_name] = fcst_df[q_col] logging.info("Finished creating output dataframe.") From 954b7ff4ac031c1ffaf9fed10465d75b9ecafed0 Mon Sep 17 00:00:00 2001 From: Rajat Sen Date: Tue, 9 Jul 2024 17:13:51 +0000 Subject: [PATCH 14/18] adding formatting instructions to README --- README.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f4f18e..b252802 100644 --- a/README.md +++ b/README.md @@ -164,4 +164,19 @@ forecast_df = tfm.forecast_on_df( ## Finetuning -We have provided an example of finetuning the model on a new dataset in `notebooks/finetuning.ipynb`. \ No newline at end of file +We have provided an example of finetuning the model on a new dataset in `notebooks/finetuning.ipynb`. + +## Contribution Style guide + +If you would like to submit a PR please make sure that you use our formatting style. We use [yapf](https://github.com/google/yapf) for formatting with the following options, + +``` +[style] +based_on_style = google +# Add your custom style rules here +indent_width = 2 +spaces_before_comment = 2 + +``` + +Please run `yapf --in-place --recursive ` on all affected files. \ No newline at end of file From 179d20df4a8cebc188dd0bdd5a7c1b30f8140aca Mon Sep 17 00:00:00 2001 From: Yichen Zhou Date: Tue, 9 Jul 2024 16:05:18 -0700 Subject: [PATCH 15/18] No public description PiperOrigin-RevId: 650786820 --- README.md | 4 +- environment.yml | 1 + environment_cpu.yml | 1 + experiments/baselines/timegpt_pipeline.py | 64 ++- experiments/environment.yml | 1 + experiments/environment_cpu.yml | 1 + .../extended_benchmarks/run_timegpt.py | 11 +- .../extended_benchmarks/run_timesfm.py | 14 +- experiments/extended_benchmarks/utils.py | 60 +- .../long_horizon_benchmarks/run_eval.py | 57 +- pyproject.toml | 3 +- src/timesfm/__init__.py | 1 + src/timesfm/data_loader.py | 22 +- src/timesfm/patched_decoder.py | 269 +++++---- src/timesfm/time_features.py | 28 +- src/timesfm/timesfm.py | 506 +++++++++++++---- src/timesfm/xreg_lib.py | 532 ++++++++++++++++++ 17 files changed, 1241 insertions(+), 334 deletions(-) create mode 100644 src/timesfm/xreg_lib.py diff --git a/README.md b/README.md index b252802..3d065eb 100644 --- a/README.md +++ b/README.md @@ -164,7 +164,7 @@ forecast_df = tfm.forecast_on_df( ## Finetuning -We have provided an example of finetuning the model on a new dataset in `notebooks/finetuning.ipynb`. +We have provided an example of finetuning the model on a new dataset in `notebooks/finetuning.ipynb`. ## Contribution Style guide @@ -179,4 +179,4 @@ spaces_before_comment = 2 ``` -Please run `yapf --in-place --recursive ` on all affected files. \ No newline at end of file +Please run `yapf --in-place --recursive ` on all affected files. diff --git a/environment.yml b/environment.yml index e3b0f1e..7a1d6fe 100644 --- a/environment.yml +++ b/environment.yml @@ -15,3 +15,4 @@ dependencies: - paxml - jax[cuda12]==0.4.26 - einshape + - scikit-learn diff --git a/environment_cpu.yml b/environment_cpu.yml index 772c4b7..d808176 100644 --- a/environment_cpu.yml +++ b/environment_cpu.yml @@ -15,3 +15,4 @@ dependencies: - paxml - jax[cpu]==0.4.26 - einshape + - scikit-learn diff --git a/experiments/baselines/timegpt_pipeline.py b/experiments/baselines/timegpt_pipeline.py index 5ea18ad..8a2bfbd 100644 --- a/experiments/baselines/timegpt_pipeline.py +++ b/experiments/baselines/timegpt_pipeline.py @@ -12,10 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -from typing import List, Optional, Tuple import os -import pandas as pd +from time import time +from typing import List, Optional, Tuple +from dotenv import load_dotenv from gluonts.time_feature.seasonality import get_seasonality as _get_seasonality +from nixtla import NixtlaClient +import pandas as pd from tqdm import tqdm from utilsforecast.processing import ( backtest_splits, @@ -25,17 +28,15 @@ from utilsforecast.processing import ( take_rows, vertical_concat, ) -from time import time -from dotenv import load_dotenv -from nixtla import NixtlaClient def get_seasonality(freq: str) -> int: return _get_seasonality(freq, seasonalities={"D": 7}) -def maybe_convert_col_to_datetime(df: pd.DataFrame, - col_name: str) -> pd.DataFrame: +def maybe_convert_col_to_datetime( + df: pd.DataFrame, col_name: str +) -> pd.DataFrame: if not pd.api.types.is_datetime64_any_dtype(df[col_name]): df = df.copy() df[col_name] = pd.to_datetime(df[col_name]) @@ -63,15 +64,14 @@ def zero_pad_time_series(df, freq, min_length=36): end=start_date, periods=min_length - len(subset) + 1, freq=freq, # 'MS' for month start - )[:-1] # Exclude the start_date itself + )[ + :-1 + ] # Exclude the start_date itself # 2c. Create padding data - padding_df = pd.DataFrame({ - "ds": padding_dates, - "unique_id": unique_id, - "y": 0 - } # Zero padding - ) + padding_df = pd.DataFrame( + {"ds": padding_dates, "unique_id": unique_id, "y": 0} # Zero padding + ) # 2d. Combine original and padding data, and append to the list padded_data.append(pd.concat([padding_df, subset]).sort_values("ds")) @@ -83,8 +83,9 @@ def zero_pad_time_series(df, freq, min_length=36): class Forecaster: """Borrowed from - https://github.com/Nixtla/nixtla/tree/main/experiments/foundation-time-series-arena/xiuhmolpilli/models. - """ + + https://github.com/Nixtla/nixtla/tree/main/experiments/foundation-time-series-arena/xiuhmolpilli/models. + """ def forecast( self, @@ -120,7 +121,8 @@ class Forecaster: for _, (cutoffs, train, valid) in tqdm(enumerate(splits)): if len(valid.columns) > 3: raise NotImplementedError( - "Cross validation with exogenous variables is not yet supported.") + "Cross validation with exogenous variables is not yet supported." + ) y_pred = self.forecast( df=train, h=h, @@ -134,9 +136,10 @@ class Forecaster: ) if result.shape[0] < valid.shape[0]: raise ValueError( - "Cross validation result produced less results than expected. " - "Please verify that the frequency parameter (freq) matches your series' " - "and that there aren't any missing periods.") + "Cross validation result produced less results than expected." + " Please verify that the frequency parameter (freq) matches your" + " series' and that there aren't any missing periods." + ) results.append(result) out = vertical_concat(results) out = drop_index_if_pandas(out) @@ -148,9 +151,10 @@ class Forecaster: class TimeGPT(Forecaster): """Borrowed from - https://github.com/Nixtla/nixtla/tree/main/experiments/foundation-time-series-arena/xiuhmolpilli/models. - We modify the class to take care of edge cases. - """ + + https://github.com/Nixtla/nixtla/tree/main/experiments/foundation-time-series-arena/xiuhmolpilli/models. + We modify the class to take care of edge cases. + """ def __init__( self, @@ -199,7 +203,7 @@ class TimeGPT(Forecaster): all_unique_ids = df["unique_id"].unique() all_fcst_df = [] for i in range(0, len(all_unique_ids), chunk_size): - chunk_ids = all_unique_ids[i:i + chunk_size] + chunk_ids = all_unique_ids[i : i + chunk_size] chunk_df = df[df["unique_id"].isin(chunk_ids)] fct_chunk_df = client.forecast( df=chunk_df, @@ -236,11 +240,13 @@ def run_timegpt( chunk_size = 5000 else: chunk_size = None - fcsts_df = model.forecast(df=padded_train_df, - h=horizon, - level=level, - freq=freq, - chunk_size=chunk_size) + fcsts_df = model.forecast( + df=padded_train_df, + h=horizon, + level=level, + freq=freq, + chunk_size=chunk_size, + ) total_time = time() - init_time # In case levels are not returned we replace the levels with the mean predictions. # Note that this does not affect the results table as we only compare on point diff --git a/experiments/environment.yml b/experiments/environment.yml index ea7e746..32e83ee 100644 --- a/experiments/environment.yml +++ b/experiments/environment.yml @@ -25,3 +25,4 @@ dependencies: - python-dotenv - nixtla>=0.5.1 - rich + - scikit-learn diff --git a/experiments/environment_cpu.yml b/experiments/environment_cpu.yml index 7d5a0f6..3f63013 100644 --- a/experiments/environment_cpu.yml +++ b/experiments/environment_cpu.yml @@ -25,3 +25,4 @@ dependencies: - python-dotenv - nixtla>=0.5.1 - rich + - scikit-learn diff --git a/experiments/extended_benchmarks/run_timegpt.py b/experiments/extended_benchmarks/run_timegpt.py index 455782d..38d964d 100644 --- a/experiments/extended_benchmarks/run_timegpt.py +++ b/experiments/extended_benchmarks/run_timegpt.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + """Evaluation script for timegpt.""" import os @@ -20,10 +21,11 @@ import time from absl import flags import numpy as np import pandas as pd -from ..baselines.timegpt_pipeline import run_timegpt +from ..baselines.timegpt_pipeline import run_timegpt from .utils import ExperimentHandler + dataset_names = [ "m1_monthly", "m1_quarterly", @@ -61,6 +63,7 @@ _MODEL_NAME = flags.DEFINE_string( ) _SAVE_DIR = flags.DEFINE_string("save_dir", "./results", "Save directory") + QUANTILES = list(np.arange(1, 10) / 10.0) @@ -87,9 +90,9 @@ def main(): ) time_df = pd.DataFrame({"time": [total_time], "model": model_name}) fcsts_df = exp.fcst_from_level_to_quantiles(fcsts_df, model_name) - results = exp.evaluate_from_predictions(models=[model_name], - fcsts_df=fcsts_df, - times_df=time_df) + results = exp.evaluate_from_predictions( + models=[model_name], fcsts_df=fcsts_df, times_df=time_df + ) print(results, flush=True) results_list.append(results) results_full = pd.concat(results_list) diff --git a/experiments/extended_benchmarks/run_timesfm.py b/experiments/extended_benchmarks/run_timesfm.py index f01bf39..23d19d4 100644 --- a/experiments/extended_benchmarks/run_timesfm.py +++ b/experiments/extended_benchmarks/run_timesfm.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + """Evaluation script for timesfm.""" import os @@ -25,6 +26,7 @@ import timesfm from .utils import ExperimentHandler + dataset_names = [ "m1_monthly", "m1_quarterly", @@ -72,14 +74,16 @@ context_dict = { "m4_yearly": 64, } -_MODEL_PATH = flags.DEFINE_string("model_path", "/home/timesfm_q10_20240501", - "Path to model") +_MODEL_PATH = flags.DEFINE_string( + "model_path", "/home/timesfm_q10_20240501", "Path to model" +) _BATCH_SIZE = flags.DEFINE_integer("batch_size", 64, "Batch size") _HORIZON = flags.DEFINE_integer("horizon", 128, "Horizon") _BACKEND = flags.DEFINE_string("backend", "gpu", "Backend") _NUM_JOBS = flags.DEFINE_integer("num_jobs", 1, "Number of jobs") _SAVE_DIR = flags.DEFINE_string("save_dir", "./results", "Save directory") + QUANTILES = list(np.arange(1, 10) / 10.0) @@ -123,9 +127,9 @@ def main(): ) total_time = time.time() - init_time time_df = pd.DataFrame({"time": [total_time], "model": model_name}) - results = exp.evaluate_from_predictions(models=[model_name], - fcsts_df=fcsts_df, - times_df=time_df) + results = exp.evaluate_from_predictions( + models=[model_name], fcsts_df=fcsts_df, times_df=time_df + ) print(results, flush=True) results_list.append(results) results_full = pd.concat(results_list) diff --git a/experiments/extended_benchmarks/utils.py b/experiments/extended_benchmarks/utils.py index c9307f4..de0368b 100644 --- a/experiments/extended_benchmarks/utils.py +++ b/experiments/extended_benchmarks/utils.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + """Forked from https://github.com/Nixtla/nixtla/blob/main/experiments/amazon-chronos/src/utils.py.""" from functools import partial @@ -45,9 +46,11 @@ def quantile_loss( target_col: str = "y", ) -> pd.DataFrame: delta_y = df[models].sub(df[target_col], axis=0) - res = (np.maximum(q * delta_y, - (q - 1) * delta_y).groupby(df[id_col], - observed=True).mean()) + res = ( + np.maximum(q * delta_y, (q - 1) * delta_y) + .groupby(df[id_col], observed=True) + .mean() + ) res.index.name = id_col res = res.reset_index() return res @@ -63,8 +66,10 @@ class ExperimentHandler: models_dir: str = "./models", ): if dataset not in gluonts_datasets: - raise Exception(f"dataset {dataset} not found in gluonts " - f"available datasets: {', '.join(gluonts_datasets)}") + raise Exception( + f"dataset {dataset} not found in gluonts " + f"available datasets: {', '.join(gluonts_datasets)}" + ) self.dataset = dataset self.quantiles = quantiles self.level = self._transform_quantiles_to_levels(quantiles) @@ -75,8 +80,10 @@ class ExperimentHandler: gluonts_dataset = get_dataset(self.dataset) self.horizon = gluonts_dataset.metadata.prediction_length if self.horizon is None: - raise Exception(f"horizon not found for dataset {self.dataset} " - "experiment cannot be run") + raise Exception( + f"horizon not found for dataset {self.dataset} " + "experiment cannot be run" + ) self.freq = gluonts_dataset.metadata.freq # get_seasonality() returns 1 for freq='D', override this to 7. This significantly improves the accuracy of # statistical models on datasets like m5/nn5_daily. The models like AutoARIMA/AutoETS can still set @@ -115,8 +122,9 @@ class ExperimentHandler: @staticmethod def _transform_quantiles_to_levels(quantiles: List[float]) -> List[int]: - level = [int(100 - 200 * q) for q in quantiles if q < 0.5 - ] # in this case mean=mediain + level = [ + int(100 - 200 * q) for q in quantiles if q < 0.5 + ] # in this case mean=mediain level = sorted(list(set(level))) return level @@ -145,8 +153,9 @@ class ExperimentHandler: last_n: int | None = None, ) -> pd.DataFrame: with multiprocessing.Pool(os.cpu_count()) as pool: # Create a process pool - results = pool.map(parallel_transform, zip(gluonts_dataset, - repeat(last_n))) + results = pool.map( + parallel_transform, zip(gluonts_dataset, repeat(last_n)) + ) df = pd.concat(results) df = df.reset_index(drop=True) return df @@ -168,8 +177,9 @@ class ExperimentHandler: def save_dataframe(self, df: pd.DataFrame, file_name: str): df.to_csv(f"{self.results_dir}/{file_name}", index=False) - def save_results(self, fcst_df: pd.DataFrame, total_time: float, - model_name: str): + def save_results( + self, fcst_df: pd.DataFrame, total_time: float, model_name: str + ): self.save_dataframe( fcst_df, f"{model_name}-{self.dataset}-fcst.csv", @@ -205,21 +215,23 @@ class ExperimentHandler: times_df = [] for model in models: fcst_method_df = pd.read_csv( - f"{self.results_dir}/{model}-{self.dataset}-fcst.csv").set_index( - ["unique_id", "ds"]) + f"{self.results_dir}/{model}-{self.dataset}-fcst.csv" + ).set_index(["unique_id", "ds"]) fcsts_df.append(fcst_method_df) time_method_df = pd.read_csv( - f"{self.results_dir}/{model}-{self.dataset}-time.csv") + f"{self.results_dir}/{model}-{self.dataset}-time.csv" + ) times_df.append(time_method_df) fcsts_df = pd.concat(fcsts_df, axis=1).reset_index() fcsts_df["ds"] = pd.to_datetime(fcsts_df["ds"]) times_df = pd.concat(times_df) - return self.evaluate_from_predictions(models=models, - fcsts_df=fcsts_df, - times_df=times_df) + return self.evaluate_from_predictions( + models=models, fcsts_df=fcsts_df, times_df=times_df + ) - def evaluate_from_predictions(self, models: List[str], fcsts_df: pd.DataFrame, - times_df: pd.DataFrame) -> pd.DataFrame: + def evaluate_from_predictions( + self, models: List[str], fcsts_df: pd.DataFrame, times_df: pd.DataFrame + ) -> pd.DataFrame: test_df = self.test_df train_df = self.train_df test_df = test_df.merge(fcsts_df, how="left") @@ -250,9 +262,9 @@ class ExperimentHandler: eval_prob_df["metric"] = "scaled_crps" eval_df = pd.concat([eval_df, eval_prob_df]).reset_index(drop=True) eval_df = eval_df.groupby("metric").mean(numeric_only=True).reset_index() - eval_df = eval_df.melt(id_vars="metric", - value_name="value", - var_name="model") + eval_df = eval_df.melt( + id_vars="metric", value_name="value", var_name="model" + ) times_df.insert(0, "metric", "time") times_df = times_df.rename(columns={"time": "value"}) eval_df = pd.concat([eval_df, times_df]) diff --git a/experiments/long_horizon_benchmarks/run_eval.py b/experiments/long_horizon_benchmarks/run_eval.py index 981f11f..12a4846 100644 --- a/experiments/long_horizon_benchmarks/run_eval.py +++ b/experiments/long_horizon_benchmarks/run_eval.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + """Eval pipeline.""" import json @@ -23,32 +24,42 @@ import numpy as np import pandas as pd from paxml import checkpoints import timesfm +from timesfm import data_loader import torch import tqdm -from timesfm import data_loader + FLAGS = flags.FLAGS -_BATCH_SIZE = flags.DEFINE_integer("batch_size", 64, - "Batch size for the randomly sampled batch") +_BATCH_SIZE = flags.DEFINE_integer( + "batch_size", 64, "Batch size for the randomly sampled batch" +) _DATASET = flags.DEFINE_string("dataset", "etth1", "The name of the dataset.") -_MODEL_PATH = flags.DEFINE_string("model_path", "./timesfm_q10_20240501", - "The name of the dataset.") -_DATETIME_COL = flags.DEFINE_string("datetime_col", "date", - "Column having datetime.") -_NUM_COV_COLS = flags.DEFINE_list("num_cov_cols", None, - "Column having numerical features.") -_CAT_COV_COLS = flags.DEFINE_list("cat_cov_cols", None, - "Column having categorical features.") +_MODEL_PATH = flags.DEFINE_string( + "model_path", "./timesfm_q10_20240501", "The name of the dataset." +) +_DATETIME_COL = flags.DEFINE_string( + "datetime_col", "date", "Column having datetime." +) +_NUM_COV_COLS = flags.DEFINE_list( + "num_cov_cols", None, "Column having numerical features." +) +_CAT_COV_COLS = flags.DEFINE_list( + "cat_cov_cols", None, "Column having categorical features." +) _TS_COLS = flags.DEFINE_list("ts_cols", None, "Columns of time-series features") -_NORMALIZE = flags.DEFINE_bool("normalize", True, - "normalize data for eval or not") -_CONTEXT_LEN = flags.DEFINE_integer("context_len", 512, - "Length of the context window") +_NORMALIZE = flags.DEFINE_bool( + "normalize", True, "normalize data for eval or not" +) +_CONTEXT_LEN = flags.DEFINE_integer( + "context_len", 512, "Length of the context window" +) _PRED_LEN = flags.DEFINE_integer("pred_len", 96, "prediction length.") _BACKEND = flags.DEFINE_string("backend", "gpu", "backend to use") -_RESULTS_DIR = flags.DEFINE_string("results_dir", "./results/long_horizon", - "results directory") +_RESULTS_DIR = flags.DEFINE_string( + "results_dir", "./results/long_horizon", "results directory" +) + DATA_DICT = { "ettm2": { @@ -165,8 +176,9 @@ def eval(): holiday=False, permute=False, ) - eval_itr = dtl.tf_dataset(mode="test", - shift=_PRED_LEN.value).as_numpy_iterator() + eval_itr = dtl.tf_dataset( + mode="test", shift=_PRED_LEN.value + ).as_numpy_iterator() model_path = _MODEL_PATH.value if model_path.startswith("amazon"): model = chronos.ChronosPipeline.from_pretrained( @@ -201,9 +213,10 @@ def eval(): for batch in tqdm.tqdm(eval_itr): past = batch[0] actuals = batch[3] - forecasts = get_forecasts(model_path, model, past, int_freq, - _PRED_LEN.value) - forecasts = forecasts[:, 0:actuals.shape[1]] + forecasts = get_forecasts( + model_path, model, past, int_freq, _PRED_LEN.value + ) + forecasts = forecasts[:, 0 : actuals.shape[1]] mae_run_losses.append(_mae(forecasts, actuals).sum()) mse_run_losses.append(_mse(forecasts, actuals).sum()) smape_run_losses.append(_smape(forecasts, actuals).sum()) diff --git a/pyproject.toml b/pyproject.toml index 2a34f2e..4aa1d4e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ [project] name = "timesfm" description = "Open weights time-series foundation model from Google Research." -version = "0.0.1" +version = "1.0.0" dependencies = [ "einshape>=1.0.0", "paxml>=1.4.0", @@ -11,6 +11,7 @@ dependencies = [ "jax>=0.4.26", "numpy>=1.26.4", "pandas>=2.1.4", + "sklearn>=1.15.1", ] authors = [ {name = "Rajat Sen", email = "senrajat@google.com"}, diff --git a/src/timesfm/__init__.py b/src/timesfm/__init__.py index e794e45..866e848 100644 --- a/src/timesfm/__init__.py +++ b/src/timesfm/__init__.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + """TimesFM init file.""" from .timesfm import TimesFm, freq_map diff --git a/src/timesfm/data_loader.py b/src/timesfm/data_loader.py index b524bd4..eeace7b 100644 --- a/src/timesfm/data_loader.py +++ b/src/timesfm/data_loader.py @@ -11,11 +11,13 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + """TF dataloaders for general timeseries datasets. The expected input format is csv file with a datetime index. """ + from absl import logging import numpy as np import pandas as pd @@ -77,8 +79,9 @@ class TimeSeriesdata(object): self.data_df['ccol'] = np.zeros(self.data_df.shape[0]) cat_cov_cols = ['ccol'] self.data_df.fillna(0, inplace=True) - self.data_df.set_index(pd.DatetimeIndex(self.data_df[datetime_col]), - inplace=True) + self.data_df.set_index( + pd.DatetimeIndex(self.data_df[datetime_col]), inplace=True + ) self.num_cov_cols = num_cov_cols self.cat_cov_cols = cat_cov_cols self.ts_cols = ts_cols @@ -91,16 +94,18 @@ class TimeSeriesdata(object): data_df_idx[-1] + pd.Timedelta(1, freq=freq), periods=pred_len + 1, freq=freq, - )) + ) + ) self.time_df = time_features.TimeCovariates( - date_index, holiday=holiday).get_covariates() + date_index, holiday=holiday + ).get_covariates() self.hist_len = hist_len self.pred_len = pred_len self.batch_size = batch_size self.freq = freq self.normalize = normalize self.data_mat = self.data_df[self.ts_cols].to_numpy().transpose() - self.data_mat = self.data_mat[:, 0:self.test_range[1]] + self.data_mat = self.data_mat[:, 0 : self.test_range[1]] self.time_mat = self.time_df.to_numpy().transpose() self.num_feat_mat = self.data_df[num_cov_cols].to_numpy().transpose() self.cat_feat_mat, self.cat_sizes = self._get_cat_cols(cat_cov_cols) @@ -130,7 +135,7 @@ class TimeSeriesdata(object): def _normalize_data(self): self.scaler = StandardScaler() - train_mat = self.data_mat[:, self.train_range[0]:self.train_range[1]] + train_mat = self.data_mat[:, self.train_range[0] : self.train_range[1]] self.scaler = self.scaler.fit(train_mat.transpose()) self.data_mat = self.scaler.transform(self.data_mat.transpose()).transpose() @@ -248,8 +253,9 @@ class TimeSeriesdata(object): gen_fn = self.train_gen else: gen_fn = lambda: self.test_val_gen(mode, shift) - output_types = tuple([tf.float32] * 2 + [tf.int32] + [tf.float32] * 2 + - [tf.int32] * 2) + output_types = tuple( + [tf.float32] * 2 + [tf.int32] + [tf.float32] * 2 + [tf.int32] * 2 + ) dataset = tf.data.Dataset.from_generator(gen_fn, output_types) dataset = dataset.prefetch(tf.data.experimental.AUTOTUNE) return dataset diff --git a/src/timesfm/patched_decoder.py b/src/timesfm/patched_decoder.py index 4e2600a..c7c3758 100644 --- a/src/timesfm/patched_decoder.py +++ b/src/timesfm/patched_decoder.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + """Pax ML model for patched time-series decoder. The file implements Residual MLPs, Patched Decoder layers and PAX ML models. @@ -35,6 +36,7 @@ from praxis.layers import normalizations from praxis.layers import stochastics from praxis.layers import transformers + # PAX shortcuts NestedMap = py_utils.NestedMap JTensor = pytypes.JTensor @@ -42,6 +44,7 @@ JTensor = pytypes.JTensor LayerTpl = pax_fiddle.Config[base_layer.BaseLayer] template_field = base_layer.template_field + PAD_VAL = 1123581321.0 DEFAULT_QUANTILES = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] @@ -54,6 +57,7 @@ _FREQ = "freq" _OUTPUT_TOKENS = "output_tokens" _STATS = "stats" + # Small numerical value. _TOLERANCE = 1e-7 @@ -84,16 +88,16 @@ def _shift_padded_seq(mask: JTensor, seq: JTensor) -> JTensor: class ResidualBlock(base_layer.BaseLayer): """Simple feedforward block with residual connection. - Attributes: - input_dims: input dimension. - hidden_dims: hidden dimension. - output_dims: output dimension. - dropout_prob: dropout probability. - layer_norm: whether to use layer norm or not. - dropout_tpl: config for dropout. - ln_tpl: config for layer norm. - act_tpl: config for activation in hidden layer. - """ + Attributes: + input_dims: input dimension. + hidden_dims: hidden dimension. + output_dims: output dimension. + dropout_prob: dropout probability. + layer_norm: whether to use layer norm or not. + dropout_tpl: config for dropout. + ln_tpl: config for layer norm. + act_tpl: config for activation in hidden layer. + """ input_dims: int = 0 hidden_dims: int = 0 @@ -154,20 +158,21 @@ class ResidualBlock(base_layer.BaseLayer): return output + residual -def _masked_mean_std(inputs: JTensor, - padding: JTensor) -> Tuple[JTensor, JTensor]: +def _masked_mean_std( + inputs: JTensor, padding: JTensor +) -> Tuple[JTensor, JTensor]: """Calculates mean and standard deviation of arr across axis 1. - It should exclude values where pad is 1. + It should exclude values where pad is 1. - Args: - inputs: A JAX array of shape [b, n, p]. - padding: A JAX array of shape [b, n, p] with values 0 or 1. + Args: + inputs: A JAX array of shape [b, n, p]. + padding: A JAX array of shape [b, n, p] with values 0 or 1. - Returns: - A tuple containing the mean and standard deviation of arr. We return the - statistics of the first patch with more than three non-padded values. - """ + Returns: + A tuple containing the mean and standard deviation of arr. We return the + statistics of the first patch with more than three non-padded values. + """ # Selecting the first pad with more than 3 unpadded values. pad_sum = jnp.sum(1 - padding, axis=2) @@ -192,7 +197,7 @@ def _masked_mean_std(inputs: JTensor, # Calculate the masked sum and squared sum of M masked_sum = jnp.sum(arr * mask, axis=1) - masked_squared_sum = jnp.sum((arr * mask)**2, axis=1) + masked_squared_sum = jnp.sum((arr * mask) ** 2, axis=1) # Calculate the masked mean and standard deviation masked_mean = masked_sum / num_valid_elements @@ -211,22 +216,22 @@ def _create_quantiles() -> list[float]: class PatchedTimeSeriesDecoder(base_layer.BaseLayer): """Patch decoder layer for time-series foundation model. - Attributes: - patch_len: length of input patches. - horizon_len: length of output patches. Referred to as `output_patch_len` - during inference. - model_dims: model dimension of stacked transformer layer. - hidden_dims: hidden dimensions in fully connected layers. - quantiles: list of quantiles for non prob model. - residual_block_tpl: config for residual block. - stacked_transformer_params_tpl: config for stacked transformer. - use_freq: whether to use frequency encoding. + Attributes: + patch_len: length of input patches. + horizon_len: length of output patches. Referred to as `output_patch_len` + during inference. + model_dims: model dimension of stacked transformer layer. + hidden_dims: hidden dimensions in fully connected layers. + quantiles: list of quantiles for non prob model. + residual_block_tpl: config for residual block. + stacked_transformer_params_tpl: config for stacked transformer. + use_freq: whether to use frequency encoding. - In all of what followed, except specified otherwise, B is batch size, T is - sequence length of time-series. N is the number of input patches that can be - obtained from T. P is the input patch length and H is the horizon length. Q is - number of output logits. D is model dimension. - """ + In all of what followed, except specified otherwise, B is batch size, T is + sequence length of time-series. N is the number of input patches that can be + obtained from T. P is the input patch length and H is the horizon length. Q is + number of output logits. D is model dimension. + """ patch_len: int = 0 horizon_len: int = 0 @@ -235,7 +240,8 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): quantiles: list[float] = dataclasses.field(default_factory=_create_quantiles) residual_block_tpl: LayerTpl = template_field(ResidualBlock) stacked_transformer_params_tpl: LayerTpl = template_field( - transformers.StackedTransformer) + transformers.StackedTransformer + ) use_freq: bool = True def setup(self) -> None: @@ -270,8 +276,9 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): self.create_child( "position_emb", - pax_fiddle.Config(layers.PositionalEmbedding, - embedding_dims=self.model_dims), + pax_fiddle.Config( + layers.PositionalEmbedding, embedding_dims=self.model_dims + ), ) if self.use_freq: @@ -285,24 +292,27 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): ) def transform_decode_state( - self, transform_fn: base_layer.DecodeStateTransformFn) -> None: + self, transform_fn: base_layer.DecodeStateTransformFn + ) -> None: """Transforms all decode state variables based on transform_fn.""" self.stacked_transformer_layer.transform_decode_state(transform_fn) def _forward_transform( - self, inputs: JTensor, - patched_pads: JTensor) -> Tuple[JTensor, Tuple[JTensor, JTensor]]: + self, inputs: JTensor, patched_pads: JTensor + ) -> Tuple[JTensor, Tuple[JTensor, JTensor]]: """Input is of shape [B, N, P].""" mu, sigma = _masked_mean_std(inputs, patched_pads) sigma = jnp.where(sigma < _TOLERANCE, 1.0, sigma) # Normalize each patch. outputs = (inputs - mu[:, None, None]) / sigma[:, None, None] outputs = jnp.where( - jnp.abs(inputs - PAD_VAL) < _TOLERANCE, PAD_VAL, outputs) + jnp.abs(inputs - PAD_VAL) < _TOLERANCE, PAD_VAL, outputs + ) return outputs, (mu, sigma) - def _reverse_transform(self, outputs: JTensor, - stats: Tuple[JTensor, JTensor]) -> JTensor: + def _reverse_transform( + self, outputs: JTensor, stats: Tuple[JTensor, JTensor] + ) -> JTensor: """Output is of shape [B, N, P, Q].""" mu, sigma = stats return outputs * sigma[:, None, None, None] + mu[:, None, None, None] @@ -316,13 +326,19 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): """Preprocess input for stacked transformer.""" # Reshape into patches. patched_inputs = es.jax_einshape("b(np)->bnp", input_ts, p=self.patch_len) - input_padding = jnp.where( - jnp.abs(input_ts - PAD_VAL) < _TOLERANCE, 1, input_padding) - patched_pads = es.jax_einshape("b(np)->bnp", - input_padding, - p=self.patch_len) - patched_inputs, stats = self._forward_transform(patched_inputs, - patched_pads) + patched_pads = es.jax_einshape( + "b(np)->bnp", input_padding, p=self.patch_len + ) + patched_inputs = jnp.where( + jnp.abs(patched_pads - 1.0) < _TOLERANCE, 0.0, patched_inputs + ) + patched_pads = jnp.where( + jnp.abs(patched_inputs - PAD_VAL) < _TOLERANCE, 1, patched_pads + ) + patched_inputs, stats = self._forward_transform( + patched_inputs, patched_pads + ) + # B x N x D patched_inputs = patched_inputs * (1.0 - patched_pads) concat_inputs = jnp.concatenate([patched_inputs, patched_pads], axis=-1) @@ -351,26 +367,25 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): """Postprocess output of stacked transformer.""" # B x N x (H.Q) output_ts = self.horizon_ff_layer(model_output) - output_ts = es.jax_einshape("bn(hq)->bnhq", - output_ts, - q=num_outputs, - h=self.horizon_len) + output_ts = es.jax_einshape( + "bn(hq)->bnhq", output_ts, q=num_outputs, h=self.horizon_len + ) return self._reverse_transform(output_ts, stats) def __call__(self, inputs: NestedMap) -> NestedMap: """PatchTST call. - Args: - inputs: A NestedMap containing (1) input_ts: input sequence of shape [B, - T] where T must be multiple of patch_length; (2) input_padding: that - contains padding map. + Args: + inputs: A NestedMap containing (1) input_ts: input sequence of shape [B, + T] where T must be multiple of patch_length; (2) input_padding: that + contains padding map. - Returns: - A nested map with two keys: - (1) 'output_tokens' of shape [B, N, D]. - (2) 'output_ts' of shape [B, N, H, Q] - (3) 'stats' a Tuple of statistics for renormalization. - """ + Returns: + A nested map with two keys: + (1) 'output_tokens' of shape [B, N, D]. + (2) 'output_ts' of shape [B, N, H, Q] + (3) 'stats' a Tuple of statistics for renormalization. + """ input_ts, input_padding = inputs[_INPUT_TS], inputs[_INPUT_PADDING] num_outputs = len(self.quantiles) + 1 model_input, patched_padding, stats, _ = self._preprocess_input( @@ -385,11 +400,9 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): model_output = self.stacked_transformer_layer(model_input, patched_padding) output_ts = self._postprocess_output(model_output, num_outputs, stats) - return NestedMap({ - _OUTPUT_TOKENS: model_output, - _OUTPUT_TS: output_ts, - _STATS: stats - }) + return NestedMap( + {_OUTPUT_TOKENS: model_output, _OUTPUT_TS: output_ts, _STATS: stats} + ) def decode( self, @@ -397,25 +410,30 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): horizon_len: int, output_patch_len: Optional[int] = None, max_len: int = 512, + return_forecast_on_context: bool = False, ) -> tuple[JTensor, JTensor]: """Auto-regressive decoding without caching. - Args: - inputs: input time-series and paddings. Time-series shape B x C, padding - shape shape B x (C + H) where H is the prediction length. - horizon_len: prediction length. - output_patch_len: output length to be fetched from one step of - auto-regressive decoding. - max_len: maximum training context length. + Args: + inputs: input time-series and paddings. Time-series shape B x C, padding + shape shape B x (C + H) where H is the prediction length. + horizon_len: prediction length. + output_patch_len: output length to be fetched from one step of + auto-regressive decoding. + max_len: maximum training context length. + return_forecast_on_context: whether to return the model forecast on the + context except the first input patch. - Returns: - Tuple of two forecasting results: - - Point (mean) output predictions as a tensor with shape B x H. - - Full predictions (mean and quantiles) as a tensor with shape - B x H x (1 + # quantiles). - """ + Returns: + Tuple of two forecasting results: + - Point (mean) output predictions as a tensor with shape B x H'. + - Full predictions (mean and quantiles) as a tensor with shape + B x H' x (1 + # quantiles). + In particular, if return_forecast_on_context is True, H' is H plus + the forecastable context length, i.e. context_len - (first) patch_len. + """ final_out = inputs[_INPUT_TS] - inp_time_len = final_out.shape[1] + context_len = final_out.shape[1] paddings = inputs[_INPUT_PADDING] if self.use_freq: freq = inputs[_FREQ].astype(jnp.int32) @@ -425,13 +443,15 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): if paddings.shape[1] != final_out.shape[1] + horizon_len: raise ValueError( "Length of paddings must match length of input + horizon_len:" - f" {paddings.shape[1]} != {final_out.shape[1]} + {horizon_len}") + f" {paddings.shape[1]} != {final_out.shape[1]} + {horizon_len}" + ) if output_patch_len is None: output_patch_len = self.horizon_len - num_decode_patches = (horizon_len + output_patch_len - - 1) // output_patch_len - for _ in range(num_decode_patches): - current_padding = paddings[:, 0:final_out.shape[1]] + num_decode_patches = ( + horizon_len + output_patch_len - 1 + ) // output_patch_len + for step_index in range(num_decode_patches): + current_padding = paddings[:, 0 : final_out.shape[1]] input_ts = final_out[:, -max_len:] input_padding = current_padding[:, -max_len:] model_input = NestedMap( @@ -440,25 +460,40 @@ class PatchedTimeSeriesDecoder(base_layer.BaseLayer): freq=freq, ) fprop_outputs = self(model_input)[_OUTPUT_TS] + if return_forecast_on_context and step_index == 0: + # For the first decodings step, collect the model forecast on the + # context except the unavailable first input batch forecast. + new_full_ts = fprop_outputs[:, :-1, : self.patch_len, :] + new_full_ts = es.jax_einshape("bnph->b(np)h", new_full_ts) + + full_outputs.append(new_full_ts) + # (full batch, last patch, output_patch_len, index of mean forecast = 0) new_ts = fprop_outputs[:, -1, :output_patch_len, 0] + new_full_ts = fprop_outputs[:, -1, :output_patch_len, :] # (full batch, last patch, output_patch_len, all output indices) - full_outputs.append(fprop_outputs[:, -1, :output_patch_len, :]) + full_outputs.append(new_full_ts) final_out = jnp.concatenate([final_out, new_ts], axis=-1) - return ( - final_out[:, inp_time_len:inp_time_len + horizon_len], - jnp.concatenate(full_outputs, axis=1)[:, 0:horizon_len, :], - ) + if return_forecast_on_context: + # `full_outputs` indexing starts at after the first input patch. + full_outputs = jnp.concatenate(full_outputs, axis=1)[ + :, : (context_len - self.patch_len + horizon_len), : + ] + else: + # `full_outputs` indexing starts at the forecast horizon. + full_outputs = jnp.concatenate(full_outputs, axis=1)[:, 0:horizon_len, :] + + return (full_outputs[:, :, 0], full_outputs) class PatchedDecoderFinetuneModel(base_model.BaseModel): """Model class for finetuning patched time-series decoder. - Attributes: - core_layer_tpl: config for core layer. - freq: freq to finetune on. - """ + Attributes: + core_layer_tpl: config for core layer. + freq: freq to finetune on. + """ core_layer_tpl: LayerTpl = template_field(PatchedTimeSeriesDecoder) freq: int = 0 @@ -471,12 +506,14 @@ class PatchedDecoderFinetuneModel(base_model.BaseModel): input_padding = jnp.zeros_like(input_ts) context_len = input_ts.shape[1] input_patch_len = self.core_layer_tpl.patch_len - context_pad = ((context_len + input_patch_len - 1) // - input_patch_len) * input_patch_len - context_len + context_pad = ( + (context_len + input_patch_len - 1) // input_patch_len + ) * input_patch_len - context_len input_ts = jnp.pad(input_ts, [(0, 0), (context_pad, 0)]) - input_padding = jnp.pad(input_padding, [(0, 0), (context_pad, 0)], - constant_values=1) + input_padding = jnp.pad( + input_padding, [(0, 0), (context_pad, 0)], constant_values=1 + ) freq = jnp.ones([input_ts.shape[0], 1], dtype=jnp.int32) * self.freq new_input_batch = NestedMap( input_ts=input_ts, @@ -485,28 +522,30 @@ class PatchedDecoderFinetuneModel(base_model.BaseModel): ) return self.core_layer(new_input_batch) - def _quantile_loss(self, pred: JTensor, actual: JTensor, - quantile: float) -> JTensor: + def _quantile_loss( + self, pred: JTensor, actual: JTensor, quantile: float + ) -> JTensor: """Calculates quantile loss. - Args: - pred: B x T - actual: B x T - quantile: quantile at which loss is computed. + Args: + pred: B x T + actual: B x T + quantile: quantile at which loss is computed. - Returns: - per coordinate loss. - """ + Returns: + per coordinate loss. + """ dev = actual - pred loss_first = dev * quantile loss_second = -dev * (1.0 - quantile) return 2 * jnp.where(loss_first >= 0, loss_first, loss_second) - def compute_loss(self, prediction_output: NestedMap, - input_batch: NestedMap) -> Tuple[NestedMap, NestedMap]: + def compute_loss( + self, prediction_output: NestedMap, input_batch: NestedMap + ) -> Tuple[NestedMap, NestedMap]: output_ts = prediction_output[_OUTPUT_TS] actual_ts = input_batch[_TARGET_FUTURE] - pred_ts = output_ts[:, -1, 0:actual_ts.shape[1], :] + pred_ts = output_ts[:, -1, 0 : actual_ts.shape[1], :] loss = jnp.square(pred_ts[:, :, 0] - actual_ts) for i, quantile in enumerate(self.core_layer.quantiles): loss += self._quantile_loss(pred_ts[:, :, i + 1], actual_ts, quantile) diff --git a/src/timesfm/time_features.py b/src/timesfm/time_features.py index 0cc0861..0bd90a9 100644 --- a/src/timesfm/time_features.py +++ b/src/timesfm/time_features.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + """Directory to extract time covariates. Extract time covariates from datetime. @@ -35,6 +36,7 @@ from pandas.tseries.offsets import Easter from sklearn.preprocessing import StandardScaler from tqdm import tqdm + # This is 183 to cover half a year (in both directions), also for leap years # + 17 as Eastern can be between March, 22 - April, 25 MAX_WINDOW = 183 + 17 @@ -48,8 +50,9 @@ def _distance_to_holiday(holiday): index - pd.Timedelta(days=MAX_WINDOW), index + pd.Timedelta(days=MAX_WINDOW), ) - assert (len(holiday_date) != 0 # pylint: disable=g-explicit-length-test - ), f"No closest holiday for the date index {index} found." + assert ( + len(holiday_date) != 0 # pylint: disable=g-explicit-length-test + ), f"No closest holiday for the date index {index} found." # It sometimes returns two dates if it is exactly half a year after the # holiday. In this case, the smaller distance (182 days) is returned. return (index - holiday_date[0]).days @@ -57,19 +60,16 @@ def _distance_to_holiday(holiday): return _distance_to_day -EasterSunday = Holiday("Easter Sunday", - month=1, - day=1, - offset=[Easter(), Day(0)]) +EasterSunday = Holiday( + "Easter Sunday", month=1, day=1, offset=[Easter(), Day(0)] +) NewYearsDay = Holiday("New Years Day", month=1, day=1) -SuperBowl = Holiday("Superbowl", - month=2, - day=1, - offset=DateOffset(weekday=SU(1))) -MothersDay = Holiday("Mothers Day", - month=5, - day=1, - offset=DateOffset(weekday=SU(2))) +SuperBowl = Holiday( + "Superbowl", month=2, day=1, offset=DateOffset(weekday=SU(1)) +) +MothersDay = Holiday( + "Mothers Day", month=5, day=1, offset=DateOffset(weekday=SU(2)) +) IndependenceDay = Holiday("Independence Day", month=7, day=4) ChristmasEve = Holiday("Christmas", month=12, day=24) ChristmasDay = Holiday("Christmas", month=12, day=25) diff --git a/src/timesfm/timesfm.py b/src/timesfm/timesfm.py index 70c5292..ec63a20 100644 --- a/src/timesfm/timesfm.py +++ b/src/timesfm/timesfm.py @@ -11,8 +11,10 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + """TimesFM forecast API for inference.""" +import collections import logging import multiprocessing from os import path @@ -20,11 +22,11 @@ import time from typing import Any, Literal, Optional, Sequence import einshape as es +from huggingface_hub import snapshot_download import jax import jax.numpy as jnp import numpy as np import pandas as pd -from huggingface_hub import snapshot_download from paxml import checkpoints from paxml import tasks_lib from praxis import base_hyperparams @@ -34,12 +36,19 @@ from praxis import py_utils from praxis import pytypes from praxis.layers import normalizations from praxis.layers import transformers -from . import patched_decoder + from utilsforecast.processing import make_future_dataframe +from . import patched_decoder +from . import xreg_lib + instantiate = base_hyperparams.instantiate NestedMap = py_utils.NestedMap JTensor = pytypes.JTensor +Category = xreg_lib.Category +XRegMode = xreg_lib.XRegMode + +_TOL = 1e-6 def process_group(key, group, value_name, forecast_context_len): @@ -51,16 +60,23 @@ def moving_average(arr, window_size): """Calculates the moving average using NumPy's convolution function.""" # Pad with zeros to handle initial window positions arr_padded = np.pad(arr, (window_size - 1, 0), "constant") - smoothed_arr = (np.convolve(arr_padded, np.ones(window_size), "valid") / - window_size) + smoothed_arr = ( + np.convolve(arr_padded, np.ones(window_size), "valid") / window_size + ) return [smoothed_arr, arr - smoothed_arr] def freq_map(freq: str): """Returns the frequency map for the given frequency string.""" freq = str.upper(freq) - if (freq.endswith("H") or freq.endswith("T") or freq.endswith("MIN") or - freq.endswith("D") or freq.endswith("B") or freq.endswith("U")): + if ( + freq.endswith("H") + or freq.endswith("T") + or freq.endswith("MIN") + or freq.endswith("D") + or freq.endswith("B") + or freq.endswith("U") + ): return 0 elif freq.endswith(("W", "M", "MS")): return 1 @@ -70,6 +86,20 @@ def freq_map(freq: str): raise ValueError(f"Invalid frequency: {freq}") +# Per time series normalization: forward. +def _normalize(batch): + stats = [ + (np.mean(x), np.where((w := np.std(x)) > _TOL, w, 1.0)) for x in batch + ] + new_batch = [(x - stat[0]) / stat[1] for x, stat in zip(batch, stats)] + return new_batch, stats + + +# Per time series normalization: inverse. +def _renormalize(batch, stats): + return [x * stat[1] + stat[0] for x, stat in zip(batch, stats)] + + class TimesFm: """TimesFM forecast API for inference. @@ -149,6 +179,7 @@ class TimesFm: self.horizon_len = horizon_len self.input_patch_len = input_patch_len self.output_patch_len = output_patch_len + self._horizon_start = self.context_len - self.input_patch_len self.mesh_shape = [1, self.num_devices, 1] self.mesh_name = ["replica", "data", "mdl"] @@ -171,7 +202,9 @@ class TimesFm: num_layers=num_layers, transformer_layer_params_tpl=pax_fiddle.Config( transformers.Transformer, - ln_tpl=pax_fiddle.Config(normalizations.RmsNorm,), + ln_tpl=pax_fiddle.Config( + normalizations.RmsNorm, + ), ), ), ) @@ -189,38 +222,34 @@ class TimesFm: def _get_sample_inputs(self): return { - "input_ts": - jnp.zeros( - ( - self.per_core_batch_size, - self.context_len + self.output_patch_len, - ), - dtype=jnp.float32, + "input_ts": jnp.zeros( + ( + self.per_core_batch_size, + self.context_len + self.output_patch_len, ), - "input_padding": - jnp.zeros( - ( - self.per_core_batch_size, - self.context_len + self.output_patch_len, - ), - dtype=jnp.float32, + dtype=jnp.float32, + ), + "input_padding": jnp.zeros( + ( + self.per_core_batch_size, + self.context_len + self.output_patch_len, ), - "freq": - jnp.zeros( - ( - self.per_core_batch_size, - 1, - ), - dtype=jnp.int32, + dtype=jnp.float32, + ), + "freq": jnp.zeros( + ( + self.per_core_batch_size, + 1, ), + dtype=jnp.int32, + ), } def load_from_checkpoint( self, checkpoint_path: Optional[str] = None, repo_id: str = "google/timesfm-1.0-200m", - checkpoint_type: checkpoints.CheckpointType = checkpoints.CheckpointType. - FLAX, + checkpoint_type: checkpoints.CheckpointType = checkpoints.CheckpointType.FLAX, step: int | None = None, ) -> None: """Loads a checkpoint and compiles the decoder. @@ -240,7 +269,8 @@ class TimesFm: start_time = time.time() self._model = instantiate(self.model_p) var_weight_hparams = self._model.abstract_init_with_metadata( - self._get_sample_inputs(), do_eval=True) + self._get_sample_inputs(), do_eval=True + ) train_state_partition_specs = tasks_lib.create_state_partition_specs( var_weight_hparams, mesh_shape=self.mesh_shape, @@ -254,7 +284,8 @@ class TimesFm: learners=None, ) self._logging( - f"Constructed model weights in {time.time() - start_time:.2f} seconds.") + f"Constructed model weights in {time.time() - start_time:.2f} seconds." + ) # Load the model weights. self._logging(f"Restoring checkpoint from {checkpoint_path}.") @@ -267,7 +298,8 @@ class TimesFm: step=step, ) self._logging( - f"Restored checkpoint in {time.time() - start_time:.2f} seconds.") + f"Restored checkpoint in {time.time() - start_time:.2f} seconds." + ) self.jit_decode() def jit_decode(self): @@ -283,6 +315,7 @@ class TimesFm: horizon_len=self.horizon_len, output_patch_len=self.output_patch_len, max_len=self.context_len, + return_forecast_on_context=True, rngs={ base_layer.PARAMS: self._key1, base_layer.RANDOM: self._key2, @@ -302,36 +335,34 @@ class TimesFm: with base_layer.JaxContext.new_context(hparams=self._eval_context): _ = self._pmapped_decode( NestedMap({ - "input_ts": - jnp.zeros( - ( - self.num_devices, - self.per_core_batch_size, - self.context_len, - ), - dtype=jnp.float32, + "input_ts": jnp.zeros( + ( + self.num_devices, + self.per_core_batch_size, + self.context_len, ), - "input_padding": - jnp.zeros( - ( - self.num_devices, - self.per_core_batch_size, - self.context_len + self.horizon_len, - ), - dtype=jnp.float32, + dtype=jnp.float32, + ), + "input_padding": jnp.zeros( + ( + self.num_devices, + self.per_core_batch_size, + self.context_len + self.horizon_len, ), - "date_features": - None, - "freq": - jnp.zeros( - (self.num_devices, self.per_core_batch_size, 1), - dtype=jnp.int32, - ), - })) + dtype=jnp.float32, + ), + "date_features": None, + "freq": jnp.zeros( + (self.num_devices, self.per_core_batch_size, 1), + dtype=jnp.int32, + ), + }) + ) self._logging(f"Jitted decoding in {time.time() - start_time:.2f} seconds.") - def _preprocess(self, inputs: Sequence[np.array], - freq: Sequence[int]) -> tuple[np.array, np.array, int]: + def _preprocess( + self, inputs: Sequence[np.array], freq: Sequence[int] + ) -> tuple[np.array, np.array, int]: """Formats and pads raw inputs to feed into the model. This function both pads each time series to match the context length, and @@ -352,21 +383,24 @@ class TimesFm: input_ts, input_padding, inp_freq = [], [], [] - pmap_pad = ((len(inputs) - 1) // self.global_batch_size + - 1) * self.global_batch_size - len(inputs) + pmap_pad = ( + (len(inputs) - 1) // self.global_batch_size + 1 + ) * self.global_batch_size - len(inputs) for i, ts in enumerate(inputs): input_len = ts.shape[0] padding = np.zeros(shape=(input_len + self.horizon_len,), dtype=float) if input_len < self.context_len: num_front_pad = self.context_len - input_len - ts = np.concatenate([np.zeros(shape=(num_front_pad,), dtype=float), ts], - axis=0) + ts = np.concatenate( + [np.zeros(shape=(num_front_pad,), dtype=float), ts], axis=0 + ) padding = np.concatenate( - [np.ones(shape=(num_front_pad,), dtype=float), padding], axis=0) + [np.ones(shape=(num_front_pad,), dtype=float), padding], axis=0 + ) elif input_len > self.context_len: - ts = ts[-self.context_len:] - padding = padding[-(self.context_len + self.horizon_len):] + ts = ts[-self.context_len :] + padding = padding[-(self.context_len + self.horizon_len) :] input_ts.append(ts) input_padding.append(padding) @@ -391,6 +425,7 @@ class TimesFm: freq: Sequence[int] | None = None, window_size: int | None = None, forecast_context_len: int | None = None, + return_forecast_on_context: bool = False, ) -> tuple[JTensor, JTensor]: """Forecasts on a list of time series. @@ -403,6 +438,8 @@ class TimesFm: window_size: window size of trend + residual decomposition. If None then we do not do decomposition. forecast_context_len: optional max context length. + return_forecast_on_context: True to return the forecast on the context + when available, i.e. after the first input patch. Returns: A tuple for JTensors: @@ -416,7 +453,8 @@ class TimesFm: if not self._train_state or not self._model: raise ValueError( "Checkpoint not loaded. Call `load_from_checkpoint` before" - " `forecast`.") + " `forecast`." + ) if forecast_context_len is None: forecast_context_len = self.context_len inputs = [np.array(ts)[-forecast_context_len:] for ts in inputs] @@ -438,45 +476,50 @@ class TimesFm: full_outputs = [] assert input_ts.shape[0] % self.global_batch_size == 0 for i in range(input_ts.shape[0] // self.global_batch_size): - input_ts_in = jnp.array(input_ts[i * self.global_batch_size:(i + 1) * - self.global_batch_size]) + input_ts_in = jnp.array( + input_ts[ + i * self.global_batch_size : (i + 1) * self.global_batch_size + ] + ) input_padding_in = jnp.array( - input_padding[i * self.global_batch_size:(i + 1) * - self.global_batch_size],) + input_padding[ + i * self.global_batch_size : (i + 1) * self.global_batch_size + ], + ) inp_freq_in = jnp.array( - inp_freq[i * self.global_batch_size:(i + 1) * - self.global_batch_size, :], + inp_freq[ + i * self.global_batch_size : (i + 1) * self.global_batch_size, : + ], dtype=jnp.int32, ) pmapped_inputs = NestedMap({ - "input_ts": - es.jax_einshape( - "(db)...->db...", - input_ts_in, - d=self.num_devices, - ), - "input_padding": - es.jax_einshape( - "(db)...->db...", - input_padding_in, - d=self.num_devices, - ), - "date_features": - None, - "freq": - es.jax_einshape( - "(db)...->db...", - inp_freq_in, - d=self.num_devices, - ), + "input_ts": es.jax_einshape( + "(db)...->db...", + input_ts_in, + d=self.num_devices, + ), + "input_padding": es.jax_einshape( + "(db)...->db...", + input_padding_in, + d=self.num_devices, + ), + "date_features": None, + "freq": es.jax_einshape( + "(db)...->db...", + inp_freq_in, + d=self.num_devices, + ), }) mean_output, full_output = self._pmapped_decode(pmapped_inputs) - mean_output = es.jax_einshape("db...->(db)...", - mean_output, - d=self.num_devices) - full_output = es.jax_einshape("db...->(db)...", - full_output, - d=self.num_devices) + if not return_forecast_on_context: + mean_output = mean_output[:, :, self._horizon_start :, ...] + full_output = full_output[:, :, self._horizon_start :, ...] + mean_output = es.jax_einshape( + "db...->(db)...", mean_output, d=self.num_devices + ) + full_output = es.jax_einshape( + "db...->(db)...", full_output, d=self.num_devices + ) mean_output = np.array(mean_output) full_output = np.array(full_output) mean_outputs.append(mean_output) @@ -497,6 +540,240 @@ class TimesFm: full_outputs = np.maximum(full_outputs, 0.0) return mean_outputs, full_outputs + def forecast_with_covariates( + self, + inputs: list[Sequence[float]], + dynamic_numerical_covariates: ( + dict[str, Sequence[Sequence[float]]] | None + ) = None, + dynamic_categorical_covariates: ( + dict[str, Sequence[Sequence[Category]]] | None + ) = None, + static_numerical_covariates: dict[str, Sequence[float]] | None = None, + static_categorical_covariates: ( + dict[str, Sequence[Category]] | None + ) = None, + freq: Sequence[int] | None = None, + window_size: int | None = None, + forecast_context_len: int | None = None, + xreg_mode: XRegMode = "xreg + timesfm", + normalize_xreg_target_per_input: bool = True, + ridge: float = 0.0, + max_rows_per_col: int = 0, + force_on_cpu: bool = False, + ): + """Forecasts on a list of time series with covariates. + + To optimize inference speed, avoid string valued categorical covariates. + + Args: + inputs: A list of time series forecast contexts. Each context time series + should be in a format convertible to JTensor by `jnp.array`. + dynamic_numerical_covariates: A dict of dynamic numerical covariates. + dynamic_categorical_covariates: A dict of dynamic categorical covariates. + static_numerical_covariates: A dict of static numerical covariates. + static_categorical_covariates: A dict of static categorical covariates. + freq: frequency of each context time series. 0 for high frequency + (default), 1 for medium, and 2 for low. Notice this is different from + the `freq` required by `forecast_on_df`. + window_size: window size of trend + residual decomposition. If None then + we do not do decomposition. + forecast_context_len: optional max context length. + xreg_mode: one of "xreg + timesfm" or "timesfm + xreg". "xreg + timesfm" + fits a model on the residuals of the TimesFM forecast. "timesfm + xreg" + fits a model on the targets then forecasts on the residuals via TimesFM. + normalize_xreg_target_per_input: whether to normalize the xreg target per + input in the given batch. + ridge: ridge penalty for the linear model. + max_rows_per_col: max number of rows per column for the linear model. + force_on_cpu: whether to force running on cpu for the linear model. + + Returns: + A tuple of two lists. The first is the outputs of the model. The second is + the outputs of the xreg. + """ + + # Verify and bookkeep covariates. + if not ( + dynamic_numerical_covariates + or dynamic_categorical_covariates + or static_numerical_covariates + or static_categorical_covariates + ): + raise ValueError( + "At least one of dynamic_numerical_covariates," + " dynamic_categorical_covariates, static_numerical_covariates," + " static_categorical_covariates must be set." + ) + + # Track the lengths of (1) each input, (2) the part that can be used in the + # linear model, and (3) the horizon. + input_lens, train_lens, test_lens = [], [], [] + + for i, input_ts in enumerate(inputs): + input_len = len(input_ts) + input_lens.append(input_len) + + if xreg_mode == "timesfm + xreg": + # For fitting residuals, no TimesFM forecast on the first patch. + train_lens.append(max(0, input_len - self.input_patch_len)) + elif xreg_mode == "xreg + timesfm": + train_lens.append(input_len) + else: + raise ValueError(f"Unsupported mode: {xreg_mode}") + + if dynamic_numerical_covariates: + test_lens.append( + len(list(dynamic_numerical_covariates.values())[0][i]) - input_len + ) + elif dynamic_categorical_covariates: + test_lens.append( + len(list(dynamic_categorical_covariates.values())[0][i]) - input_len + ) + else: + test_lens.append(self.horizon_len) + + if test_lens[-1] > self.horizon_len: + raise ValueError( + "Forecast requested longer horizon than the model definition " + f"supports: {test_lens[-1]} vs {self.horizon_len}." + ) + + # Prepare the covariates into train and test. + train_dynamic_numerical_covariates = collections.defaultdict(list) + test_dynamic_numerical_covariates = collections.defaultdict(list) + train_dynamic_categorical_covariates = collections.defaultdict(list) + test_dynamic_categorical_covariates = collections.defaultdict(list) + for covariates, train_covariates, test_covariates in ( + ( + dynamic_numerical_covariates, + train_dynamic_numerical_covariates, + test_dynamic_numerical_covariates, + ), + ( + dynamic_categorical_covariates, + train_dynamic_categorical_covariates, + test_dynamic_categorical_covariates, + ), + ): + if not covariates: + continue + for covariate_name, covariate_values in covariates.items(): + for input_len, train_len, covariate_value in zip( + input_lens, train_lens, covariate_values + ): + train_covariates[covariate_name].append( + covariate_value[(input_len - train_len) : input_len] + ) + test_covariates[covariate_name].append(covariate_value[input_len:]) + + # Fit models. + if xreg_mode == "timesfm + xreg": + # Forecast via TimesFM then fit a model on the residuals. + mean_outputs, _ = self.forecast( + inputs, + freq, + window_size, + forecast_context_len, + return_forecast_on_context=True, + ) + targets = [ + ( + np.array(input_ts)[-train_len:] + - mean_output[ + (self._horizon_start - train_len) : self._horizon_start + ] + ) + for input_ts, mean_output, train_len in zip( + inputs, mean_outputs, train_lens + ) + ] + per_instance_stats = None + if normalize_xreg_target_per_input: + targets, per_instance_stats = _normalize(targets) + xregs = xreg_lib.BatchedInContextXRegLinear( + targets=targets, + train_lens=train_lens, + test_lens=test_lens, + train_dynamic_numerical_covariates=train_dynamic_numerical_covariates, + test_dynamic_numerical_covariates=test_dynamic_numerical_covariates, + train_dynamic_categorical_covariates=train_dynamic_categorical_covariates, + test_dynamic_categorical_covariates=test_dynamic_categorical_covariates, + static_numerical_covariates=static_numerical_covariates, + static_categorical_covariates=static_categorical_covariates, + ).fit( + ridge=ridge, + one_hot_encoder_drop=None if ridge > 0 else "first", + max_rows_per_col=max_rows_per_col, + force_on_cpu=force_on_cpu, + debug_info=False, + assert_covariates=True, + assert_covariate_shapes=True, + ) + if normalize_xreg_target_per_input: + xregs = _renormalize(xregs, per_instance_stats) + outputs = [ + ( + mean_output[ + self._horizon_start : (self._horizon_start + test_len) + ] + + xreg + ) + for mean_output, test_len, xreg in zip(mean_outputs, test_lens, xregs) + ] + + else: + # Fit a model on the targets then forecast on the residuals via TimesFM. + targets = [ + np.array(input_ts)[-train_len:] + for input_ts, train_len in zip(inputs, train_lens) + ] + per_instance_stats = None + if normalize_xreg_target_per_input: + targets, per_instance_stats = _normalize(targets) + xregs, xregs_on_context, _, _, _ = xreg_lib.BatchedInContextXRegLinear( + targets=targets, + train_lens=train_lens, + test_lens=test_lens, + train_dynamic_numerical_covariates=train_dynamic_numerical_covariates, + test_dynamic_numerical_covariates=test_dynamic_numerical_covariates, + train_dynamic_categorical_covariates=train_dynamic_categorical_covariates, + test_dynamic_categorical_covariates=test_dynamic_categorical_covariates, + static_numerical_covariates=static_numerical_covariates, + static_categorical_covariates=static_categorical_covariates, + ).fit( + ridge=ridge, + one_hot_encoder_drop=None if ridge > 0 else "first", + max_rows_per_col=max_rows_per_col, + force_on_cpu=force_on_cpu, + debug_info=True, + assert_covariates=True, + assert_covariate_shapes=True, + ) + mean_outputs, _ = self.forecast( + [ + target - xreg_on_context + for target, xreg_on_context in zip(targets, xregs_on_context) + ], + freq, + window_size, + forecast_context_len, + return_forecast_on_context=True, + ) + outputs = [ + ( + mean_output[ + self._horizon_start : (self._horizon_start + test_len) + ] + + xreg + ) + for mean_output, test_len, xreg in zip(mean_outputs, test_lens, xregs) + ] + if normalize_xreg_target_per_input: + outputs = _renormalize(outputs, per_instance_stats) + + return outputs, xregs + def forecast_on_df( self, inputs: pd.DataFrame, @@ -527,10 +804,14 @@ class TimesFm: Returns: Future forecasts dataframe. """ - if not ("unique_id" in inputs.columns and "ds" in inputs.columns and - value_name in inputs.columns): + if not ( + "unique_id" in inputs.columns + and "ds" in inputs.columns + and value_name in inputs.columns + ): raise ValueError( - f"DataFrame must have unique_id, ds and {value_name} columns.") + f"DataFrame must have unique_id, ds and {value_name} columns." + ) if not forecast_context_len: forecast_context_len = self.context_len logging.info("Preprocessing dataframe.") @@ -555,15 +836,17 @@ class TimesFm: with multiprocessing.Pool(processes=num_jobs) as pool: results = pool.starmap( process_group, - [(key, group, value_name, forecast_context_len) - for key, group in df_sorted.groupby("unique_id")], + [ + (key, group, value_name, forecast_context_len) + for key, group in df_sorted.groupby("unique_id") + ], ) new_inputs, uids = zip(*results) print("Finished preprocessing dataframe.") freq_inps = [freq_map(freq)] * len(new_inputs) - _, full_forecast = self.forecast(new_inputs, - freq=freq_inps, - window_size=window_size) + _, full_forecast = self.forecast( + new_inputs, freq=freq_inps, window_size=window_size + ) print("Finished forecasting.") fcst_df = make_future_dataframe( uids=uids, @@ -571,13 +854,16 @@ class TimesFm: h=self.horizon_len, freq=freq, ) - fcst_df[model_name] = full_forecast[:, 0:self.horizon_len, 0].reshape(-1, 1) + fcst_df[model_name] = full_forecast[:, 0 : self.horizon_len, 0].reshape( + -1, 1 + ) if self._model.quantiles is not None: for i, q in enumerate(self._model.quantiles): q_col = f"{model_name}-q-{q}" - fcst_df[q_col] = full_forecast[:, 0:self.horizon_len, - 1 + i].reshape(-1, 1) + fcst_df[q_col] = full_forecast[:, 0 : self.horizon_len, 1 + i].reshape( + -1, 1 + ) if q == 0.5: fcst_df[model_name] = fcst_df[q_col] logging.info("Finished creating output dataframe.") diff --git a/src/timesfm/xreg_lib.py b/src/timesfm/xreg_lib.py new file mode 100644 index 0000000..c083bcd --- /dev/null +++ b/src/timesfm/xreg_lib.py @@ -0,0 +1,532 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Helper functions for in-context covariates and regression.""" + +import itertools +import math +from typing import Any, Iterable, Literal, Mapping, Sequence + +import jax +import jax.numpy as jnp +import numpy as np +from sklearn import preprocessing + +Category = int | str + +_TOL = 1e-6 +XRegMode = Literal["timesfm + xreg", "xreg + timesfm"] + + +def _unnest(nested: Sequence[Sequence[Any]]) -> np.ndarray: + return np.array(list(itertools.chain.from_iterable(nested))) + + +def _repeat(elements: Iterable[Any], counts: Iterable[int]) -> np.ndarray: + return np.array( + list( + itertools.chain.from_iterable(map(itertools.repeat, elements, counts)) + ) + ) + + +def _to_padded_jax_array(x: np.ndarray) -> jax.Array: + if x.ndim == 1: + (i,) = x.shape + di = 2 ** math.ceil(math.log2(i)) - i + return jnp.pad(x, ((0, di),), mode="constant", constant_values=0.0) + elif x.ndim == 2: + i, j = x.shape + di = 2 ** math.ceil(math.log2(i)) - i + dj = 2 ** math.ceil(math.log2(j)) - j + return jnp.pad(x, ((0, di), (0, dj)), mode="constant", constant_values=0.0) + else: + raise ValueError(f"Unsupported array shape: {x.shape}") + + +class BatchedInContextXRegBase: + """Helper class for in-context regression covariate formatting. + + Attributes: + targets: List of targets (responses) of the in-context regression. + train_lens: List of lengths of each target vector from the context. + test_lens: List of lengths of each forecast horizon. + train_dynamic_numerical_covariates: Dict of covariate names mapping to the + dynamic numerical covariates of each forecast task on the context. Their + lengths should match the corresponding lengths in `train_lens`. + train_dynamic_categorical_covariates: Dict of covariate names mapping to the + dynamic categorical covariates of each forecast task on the context. Their + lengths should match the corresponding lengths in `train_lens`. + test_dynamic_numerical_covariates: Dict of covariate names mapping to the + dynamic numerical covariates of each forecast task on the horizon. Their + lengths should match the corresponding lengths in `test_lens`. + test_dynamic_categorical_covariates: Dict of covariate names mapping to the + dynamic categorical covariates of each forecast task on the horizon. Their + lengths should match the corresponding lengths in `test_lens`. + static_numerical_covariates: Dict of covariate names mapping to the static + numerical covariates of each forecast task. + static_categorical_covariates: Dict of covariate names mapping to the static + categorical covariates of each forecast task. + """ + + def __init__( + self, + targets: Sequence[Sequence[float]], + train_lens: Sequence[int], + test_lens: Sequence[int], + train_dynamic_numerical_covariates: ( + Mapping[str, Sequence[Sequence[float]]] | None + ) = None, + train_dynamic_categorical_covariates: ( + Mapping[str, Sequence[Sequence[Category]]] | None + ) = None, + test_dynamic_numerical_covariates: ( + Mapping[str, Sequence[Sequence[float]]] | None + ) = None, + test_dynamic_categorical_covariates: ( + Mapping[str, Sequence[Sequence[Category]]] | None + ) = None, + static_numerical_covariates: Mapping[str, Sequence[float]] | None = None, + static_categorical_covariates: ( + Mapping[str, Sequence[Category]] | None + ) = None, + ) -> None: + """Initializes with the exogenous covariate inputs. + + Here we use model fitting language to refer to the context as 'train' and + the horizon as 'test'. We assume batched inputs. To properly format the + request: + + - `train_lens` represents the contexts in the batch. Targets and all train + dynamic covariates should have the same lengths as the corresponding + elements + in `train_lens`. Notice each `train_len` can be different from the exact + length of the corresponding context depending on how much of the context is + used for fitting the in-context model. + - `test_lens` represents the horizon lengths in the batch. All tesdt + dynamic + covariates should have the same lengths as the corresponding elements in + `test_lens`. + - Static covariates should be one for each input. + - For train and test dynamic covariates, they should have the same + covariate + names. + + Pass an empty dict {} for a covariate type if it is not present. + + Example: + Here is a set of valid inputs whose schema can be used for reference. + ``` + targets = [ + [0.0, 0.1, 0.2], + [0.0, 0.1, 0.2, 0.3], + ] # Two inputs in this batch. + train_lens = [3, 4] + test_lens = [2, 5] # Forecast horizons 2 and 5 respectively. + train_dynamic_numerical_covariates = { + "cov_1_dn": [[0.0, 0.5, 1.0], [0.0, 0.5, 1.0, 1.5]], + "cov_2_dn": [[0.0, 1.5, 1.0], [0.0, 1.5, 1.0, 2.5]], + } # Each train dynamic covariate has 3 and 4 elements respectively. + test_dynamic_numerical_covariates = { + "cov_1_dn": [[0.1, 0.6], [0.1, 0.6, 1.1, 1.6, 2.4]], + "cov_2_dn": [[0.1, 1.1], [0.1, 1.6, 1.1, 2.6, 10.0]], + } # Each test dynamic covariate has 2 and 5 elements respectively. + train_dynamic_categorical_covariates = { + "cov_1_dc": [[0, 1, 0], [0, 1, 2, 3]], + "cov_2_dc": [["good", "bad", "good"], ["good", "good", "bad", + "bad"]], + } + test_dynamic_categorical_covariates = { + "cov_1_dc": [[1, 0], [1, 0, 2, 3, 1]], + "cov_2_dc": [["bad", "good"], ["bad", "bad", "bad", "bad", "bad"]], + } + static_numerical_covariates = { + "cov_1_sn": [0.0, 3.0], + "cov_2_sn": [2.0, 1.0], + "cov_3_sn": [1.0, 2.0], + } # Each static covariate has 1 element for each input. + static_categorical_covariates = { + "cov_1_sc": ["apple", "orange"], + "cov_2_sc": [2, 3], + } + ``` + + Args: + targets: List of targets (responses) of the in-context regression. + train_lens: List of lengths of each target vector from the context. + test_lens: List of lengths of each forecast horizon. + train_dynamic_numerical_covariates: Dict of covariate names mapping to the + dynamic numerical covariates of each forecast task on the context. Their + lengths should match the corresponding lengths in `train_lens`. + train_dynamic_categorical_covariates: Dict of covariate names mapping to + the dynamic categorical covariates of each forecast task on the context. + Their lengths should match the corresponding lengths in `train_lens`. + test_dynamic_numerical_covariates: Dict of covariate names mapping to the + dynamic numerical covariates of each forecast task on the horizon. Their + lengths should match the corresponding lengths in `test_lens`. + test_dynamic_categorical_covariates: Dict of covariate names mapping to + the dynamic categorical covariates of each forecast task on the horizon. + Their lengths should match the corresponding lengths in `test_lens`. + static_numerical_covariates: Dict of covariate names mapping to the static + numerical covariates of each forecast task. + static_categorical_covariates: Dict of covariate names mapping to the + static categorical covariates of each forecast task. + """ + self.targets = targets + self.train_lens = train_lens + self.test_lens = test_lens + self.train_dynamic_numerical_covariates = ( + train_dynamic_numerical_covariates or {} + ) + self.train_dynamic_categorical_covariates = ( + train_dynamic_categorical_covariates or {} + ) + self.test_dynamic_numerical_covariates = ( + test_dynamic_numerical_covariates or {} + ) + self.test_dynamic_categorical_covariates = ( + test_dynamic_categorical_covariates or {} + ) + self.static_numerical_covariates = static_numerical_covariates or {} + self.static_categorical_covariates = static_categorical_covariates or {} + + def _assert_covariates(self, assert_covariate_shapes: bool = False) -> None: + """Verifies the validity of the covariate inputs.""" + + # Check presence. + if ( + self.train_dynamic_numerical_covariates + and not self.test_dynamic_numerical_covariates + ) or ( + not self.train_dynamic_numerical_covariates + and self.test_dynamic_numerical_covariates + ): + raise ValueError( + "train_dynamic_numerical_covariates and" + " test_dynamic_numerical_covariates must be both present or both" + " absent." + ) + + if ( + self.train_dynamic_categorical_covariates + and not self.test_dynamic_categorical_covariates + ) or ( + not self.train_dynamic_categorical_covariates + and self.test_dynamic_categorical_covariates + ): + raise ValueError( + "train_dynamic_categorical_covariates and" + " test_dynamic_categorical_covariates must be both present or both" + " absent." + ) + + # Check keys. + for dict_a, dict_b, dict_a_name, dict_b_name in ( + ( + self.train_dynamic_numerical_covariates, + self.test_dynamic_numerical_covariates, + "train_dynamic_numerical_covariates", + "test_dynamic_numerical_covariates", + ), + ( + self.train_dynamic_categorical_covariates, + self.test_dynamic_categorical_covariates, + "train_dynamic_categorical_covariates", + "test_dynamic_categorical_covariates", + ), + ): + if w := set(dict_a.keys()) - set(dict_b.keys()): + raise ValueError( + f"{dict_a_name} has keys not present in {dict_b_name}: {w}" + ) + if w := set(dict_b.keys()) - set(dict_a.keys()): + raise ValueError( + f"{dict_b_name} has keys not present in {dict_a_name}: {w}" + ) + + # Check shapes. + if assert_covariate_shapes: + if len(self.targets) != len(self.train_lens): + raise ValueError( + "targets and train_lens must have the same number of elements." + ) + + if len(self.train_lens) != len(self.test_lens): + raise ValueError( + "train_lens and test_lens must have the same number of elements." + ) + + for i, (target, train_len) in enumerate( + zip(self.targets, self.train_lens) + ): + if len(target) != train_len: + raise ValueError( + f"targets[{i}] has length {len(target)} != expected {train_len}." + ) + + for key, values in self.static_numerical_covariates.items(): + if len(values) != len(self.train_lens): + raise ValueError( + f"static_numerical_covariates has key {key} with number of" + f" examples {len(values)} != expected {len(self.train_lens)}." + ) + + for key, values in self.static_categorical_covariates.items(): + if len(values) != len(self.train_lens): + raise ValueError( + f"static_categorical_covariates has key {key} with number of" + f" examples {len(values)} != expected {len(self.train_lens)}." + ) + + for lens, dict_cov, dict_cov_name in ( + ( + self.train_lens, + self.train_dynamic_numerical_covariates, + "train_dynamic_numerical_covariates", + ), + ( + self.train_lens, + self.train_dynamic_categorical_covariates, + "train_dynamic_categorical_covariates", + ), + ( + self.test_lens, + self.test_dynamic_numerical_covariates, + "test_dynamic_numerical_covariates", + ), + ( + self.test_lens, + self.test_dynamic_categorical_covariates, + "test_dynamic_categorical_covariates", + ), + ): + for key, cov_values in dict_cov.items(): + if len(cov_values) != len(lens): + raise ValueError( + f"{dict_cov_name} has key {key} with number of examples" + f" {len(cov_values)} != expected {len(lens)}." + ) + for i, cov_value in enumerate(cov_values): + if len(cov_value) != lens[i]: + raise ValueError( + f"{dict_cov_name} has key {key} with its {i}-th example" + f" length {len(cov_value)} != expected {lens[i]}." + ) + + def create_covariate_matrix( + self, + one_hot_encoder_drop: str | None = "first", + use_intercept: bool = True, + assert_covariates: bool = False, + assert_covariate_shapes: bool = False, + ) -> tuple[np.ndarray, np.ndarray, np.ndarray]: + """Creates target vector and covariate matrices for in context regression. + + Here we use model fitting language to refer to the context as 'train' and + the horizon as 'test'. + + Args: + one_hot_encoder_drop: Which drop strategy to use for the one hot encoder. + use_intercept: Whether to prepare an intercept (all 1) column in the + matrices. + assert_covariates: Whether to assert the validity of the covariate inputs. + assert_covariate_shapes: Whether to assert the shapes of the covariate + inputs when `assert_covariates` is True. + + Returns: + A tuple of the target vector, the covariate matrix for the context, and + the covariate matrix for the horizon. + """ + if assert_covariates: + self._assert_covariates(assert_covariate_shapes) + + x_train, x_test = [], [] + + # Numerical features. + for name in sorted(self.train_dynamic_numerical_covariates): + x_train.append( + _unnest(self.train_dynamic_numerical_covariates[name])[:, np.newaxis] + ) + x_test.append( + _unnest(self.test_dynamic_numerical_covariates[name])[:, np.newaxis] + ) + + for covs in self.static_numerical_covariates.values(): + x_train.append(_repeat(covs, self.train_lens)[:, np.newaxis]) + x_test.append(_repeat(covs, self.test_lens)[:, np.newaxis]) + + if x_train: + x_train = np.concatenate(x_train, axis=1) + x_test = np.concatenate(x_test, axis=1) + + # Normalize for robustness. + x_mean = np.mean(x_train, axis=0, keepdims=True) + x_std = np.where( + (w := np.std(x_train, axis=0, keepdims=True)) > _TOL, w, 1.0 + ) + x_train = [(x_train - x_mean) / x_std] + x_test = [(x_test - x_mean) / x_std] + + # Categorical features. Encode one by one. + one_hot_encoder = preprocessing.OneHotEncoder( + drop=one_hot_encoder_drop, + sparse=False, + handle_unknown="ignore", + ) + for name in sorted(self.train_dynamic_categorical_covariates.keys()): + ohe_train = _unnest(self.train_dynamic_categorical_covariates[name])[ + :, np.newaxis + ] + ohe_test = _unnest(self.test_dynamic_categorical_covariates[name])[ + :, np.newaxis + ] + x_train.append(np.array(one_hot_encoder.fit_transform(ohe_train))) + x_test.append(np.array(one_hot_encoder.transform(ohe_test))) + + for covs in self.static_categorical_covariates.values(): + ohe = one_hot_encoder.fit_transform(np.array(covs)[:, np.newaxis]) + x_train.append(_repeat(ohe, self.train_lens)) + x_test.append(_repeat(ohe, self.test_lens)) + + x_train = np.concatenate(x_train, axis=1) + x_test = np.concatenate(x_test, axis=1) + + if use_intercept: + x_train = np.pad(x_train, ((0, 0), (1, 0)), constant_values=1.0) + x_test = np.pad(x_test, ((0, 0), (1, 0)), constant_values=1.0) + + return _unnest(self.targets), x_train, x_test + + def fit(self) -> Any: + raise NotImplementedError("Fit is not implemented.") + + +class BatchedInContextXRegLinear(BatchedInContextXRegBase): + """Linear in-context regression model.""" + + def fit( + self, + ridge: float = 0.0, + one_hot_encoder_drop: str | None = "first", + use_intercept: bool = True, + force_on_cpu: bool = False, + max_rows_per_col: int = 0, + max_rows_per_col_sample_seed: int = 42, + debug_info: bool = False, + assert_covariates: bool = False, + assert_covariate_shapes: bool = False, + ) -> ( + list[np.ndarray] + | tuple[ + list[np.ndarray], list[np.ndarray], jax.Array, jax.Array, jax.Array + ] + ): + """Fits a linear model for in-context regression. + + Args: + ridge: A non-negative value for specifying the ridge regression penalty. + If 0 is provided, fallback to ordinary least squares. Note this penalty + is added to the normalized covariate matrix. + one_hot_encoder_drop: Which drop strategy to use for the one hot encoder. + use_intercept: Whether to prepare an intercept (all 1) column in the + matrices. + force_on_cpu: Whether to force execution on cpu for accelerator machines. + max_rows_per_col: How many rows to subsample per column. 0 for no + subsampling. This is for speeding up model fitting. + max_rows_per_col_sample_seed: The seed for the subsampling if needed by + `max_rows_per_col`. + debug_info: Whether to return debug info. + assert_covariates: Whether to assert the validity of the covariate inputs. + assert_covariate_shapes: Whether to assert the shapes of the covariate + inputs when `assert_covariates` is True. + + Returns: + If `debug_info` is False: + The linear fits on the horizon. + If `debug_info` is True: + A tuple of: + - the linear fits on the horizon, + - the linear fits on the context, + - the flattened target vector, + - the covariate matrix for the context, and + - the covariate matrix for the horizon. + """ + flat_targets, x_train_raw, x_test = self.create_covariate_matrix( + one_hot_encoder_drop=one_hot_encoder_drop, + use_intercept=use_intercept, + assert_covariates=assert_covariates, + assert_covariate_shapes=assert_covariate_shapes, + ) + + x_train = x_train_raw.copy() + if max_rows_per_col: + nrows, ncols = x_train.shape + if nrows > (w := ncols * max_rows_per_col): + subsample = jax.random.choice( + jax.random.PRNGKey(max_rows_per_col_sample_seed), + nrows, + (w,), + replace=False, + ) + x_train = x_train[subsample] + flat_targets = flat_targets[subsample] + + device = jax.devices("cpu")[0] if force_on_cpu else None + # Runs jitted version of the solvers which are quicker at the cost of + # running jitting during the first time calling. Re-jitting happens whenever + # new (padded) shapes are encountered. + # Ocassionally it helps with the speed and the accuracy if we force single + # thread execution on cpu for accelerator machines: + # 1. Avoid moving data to accelarator memory. + # 2. Avoid precision loss if any. + with jax.default_device(device): + x_train_raw = _to_padded_jax_array(x_train_raw) + x_train = _to_padded_jax_array(x_train) + flat_targets = _to_padded_jax_array(flat_targets) + x_test = _to_padded_jax_array(x_test) + beta_hat = ( + jnp.linalg.pinv( + x_train.T @ x_train + ridge * jnp.eye(x_train.shape[1]), + hermitian=True, + ) + @ x_train.T + @ flat_targets + ) + y_hat = x_test @ beta_hat + y_hat_context = x_train_raw @ beta_hat if debug_info else None + + outputs = [] + outputs_context = [] + + # Reconstruct the ragged 2-dim batched forecasts from flattened linear fits. + train_index, test_index = 0, 0 + for train_index_delta, test_index_delta in zip( + self.train_lens, self.test_lens + ): + outputs.append( + np.array(y_hat[test_index : (test_index + test_index_delta)]) + ) + if debug_info: + outputs_context.append( + np.array( + y_hat_context[train_index : (train_index + train_index_delta)] + ) + ) + train_index += train_index_delta + test_index += test_index_delta + + if debug_info: + return outputs, outputs_context, flat_targets, x_train, x_test + else: + return outputs From 67b3e9b0f4e4807ad100b88775ec6685395e4940 Mon Sep 17 00:00:00 2001 From: periodLeo Date: Wed, 10 Jul 2024 17:13:11 +0900 Subject: [PATCH 16/18] use of sklearn is deprecated and cause error while building, switched to scikit-learn --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4aa1d4e..45865df 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ dependencies = [ "jax>=0.4.26", "numpy>=1.26.4", "pandas>=2.1.4", - "sklearn>=1.15.1", + "scikit-learn>=1.5.1", ] authors = [ {name = "Rajat Sen", email = "senrajat@google.com"}, From 6847d7eacec2a6b22147886f532d7512f1c43a9c Mon Sep 17 00:00:00 2001 From: Yichen Zhou Date: Wed, 10 Jul 2024 17:38:27 -0700 Subject: [PATCH 17/18] Update pyproject.toml fixed a typo in dep --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4aa1d4e..45865df 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ dependencies = [ "jax>=0.4.26", "numpy>=1.26.4", "pandas>=2.1.4", - "sklearn>=1.15.1", + "scikit-learn>=1.5.1", ] authors = [ {name = "Rajat Sen", email = "senrajat@google.com"}, From 03c71634e677c63300b32de8a35e0db061cd0807 Mon Sep 17 00:00:00 2001 From: siriuz42 Date: Thu, 11 Jul 2024 18:53:29 +0000 Subject: [PATCH 18/18] fixed dependencies for PyPI --- pyproject.toml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 45865df..91e1605 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,17 +1,20 @@ # This project can be installed with `python3 -m pip install -e .` from the main directory. [project] -name = "timesfm" +name = "timesfm-jax" description = "Open weights time-series foundation model from Google Research." -version = "1.0.0" +version = "1.0.1" dependencies = [ - "einshape>=1.0.0", - "paxml>=1.4.0", - "praxis>=1.4.0", - "jax>=0.4.26", - "numpy>=1.26.4", - "pandas>=2.1.4", - "scikit-learn>=1.5.1", + "jax==0.4.26", + "paxml==1.4.0", + "praxis==1.4.0", + "jaxlib==0.4.26", + "numpy==1.26.4", + "pandas==2.1.4", + "einshape==1.0.0", + "utilsforecast==0.1.10", + "huggingface_hub[cli]==0.23.0", + "scikit-learn==1.5.1", ] authors = [ {name = "Rajat Sen", email = "senrajat@google.com"},