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 fromconfig.- configFalconTSTConfig or dict, optional (default=None)
Model configuration used when
model_path=None. If provided as adict, it is converted withFalconTSTConfig.from_dict. IfNoneandmodel_path=None, the defaultFalconTSTConfigis 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
transformersdevice_mapnaming 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 ] 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