Back to models
Forecaster

FalconTSTForecaster

Falcon-TST forecaster via Hugging Face transformers.

Quickstart

python
from sktime.forecasting.falcon_tst import FalconTSTForecaster

estimator = FalconTSTForecaster(model_path='ant-intl/Falcon-TST_Large', config=None, device_map='cpu', quantization_config=None, revin=True)

Parameters(5)

model_pathstr, default=”ant-intl/Falcon-TST_Large”

Hugging Face repository identifier or local path to a Falcon-TST checkpoint. If None, a model is created from config.

configFalconTSTConfig or dict, optional (default=None)

Model configuration used when model_path=None. If provided as a dict, it is converted with FalconTSTConfig.from_dict. If None and model_path=None, the default FalconTSTConfig is used. This path creates random weights; the estimator does not provide training for those weights.

device_mapstr, dict, int, or torch.device, default=”cpu”

Device placement following the transformers device_map naming convention, for example "cpu", "cuda", "cuda:0", or "auto".

quantization_configtransformers.quantizers.HfQuantizer, optional

Valid quantization configuration object compatible with transformers.PreTrainedModel.from_pretrained [3].

revinbool, default=True
Whether to use RevIN normalization during Falcon-TST prediction.

Examples

Simple zero-shot forecasting with the default Falcon-TST checkpoint:
>>> from sktime.datasets import load_airline
>>> from sktime.forecasting.falcon_tst import FalconTSTForecaster
>>> y = load_airline ()
>>> # By default, loads ant-intl/Falcon-TST_Large.
>>> forecaster = FalconTSTForecaster ()
>>> forecaster. fit (y)
>>> y_pred = forecaster. predict (fh = [1, 2, 3 ]) Reduced-memory inference with device placement and quantization:
>>> from sktime.datasets import load_airline
>>> from sktime.forecasting.falcon_tst import FalconTSTForecaster
>>> from transformers import BitsAndBytesConfig
>>> y = load_airline ()
>>> forecaster = FalconTSTForecaster (
... model_path = "ant-intl/Falcon-TST_Large",
... device_map = "auto",
... quantization_config = BitsAndBytesConfig (load_in_8bit = True),
... )
>>> forecaster. fit (y)
>>> y_pred = forecaster. predict (fh = [1, 2, 3 ]) Randomly initialized local model, useful for tests or local experimentation. This model is not trained by fit; the weights stay random and should not be used as a trained forecaster:
>>> from sktime.forecasting.falcon_tst import FalconTSTForecaster
>>> forecaster = FalconTSTForecaster (
... model_path = None,
... config = {
... "num_hidden_layers": 1,
... "hidden_size": 4,
... "ffn_hidden_size": 8,
... "num_attention_heads": 1,
... "seq_length": 8,
... "shared_patch_size": 2,
... "patch_size_list": [4 ],
... "transformer_input_layernorm": True,
... "expert_num_layers": 1,
... "multi_forecast_head_list": [2 ],
... "autoregressive_step_list": [1 ],
... "num_experts": 1,
... "moe_router_topk": 1,
... "moe_ffn_hidden_size": 8,
... "moe_shared_expert_intermediate_size": 8,
... "use_cpu_initialization": True,
... },
... )

References

  1. [1 ] Falcon-TST repository: https://github.com/AntGroup/Falcon-TST [2 ] Falcon-TST model card: https://huggingface.co/ant-intl/Falcon-TST_Large [3 ] Quantization docs: https://huggingface.co/docs/transformers/en/main_classes/quantization