You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

Model Detail

FlaMinGo is a foundation model for time-series classification, fine-tuned on extensive Persian financial datasets. Developed by Part AI, it extends Google's TimesFM model by adding classification capability, enabling it to handle both forecasting and classification tasks.

How to use

To perform inference on your dataset, follow these steps:

  1. Clone our repository
  2. Install the required dependencies. Ensure you are using Python 3.11:
cd FlaMinGo-timesfm
pip install --upgrade pip
pip install timesfm[torch]
pip install -e .
  1. Download the TimeSFM model weights:

Configuration

Before running the model, set up the necessary configurations in the .env file located in the repository. The following environment variables must be configured:

  • MODEL_PATH: Path to the TimeSFM model
  • SAVE_MODEL_PATH: Path to save the fine-tuned model for the classification task
  • TRAIN_FILE_PATH: Path to the training dataset
  • TEST_FILE_PATH: Path to the test dataset
  • USE_GPU: Use GPU or CPU
  • NUM_LAYERS: Number of layers in the TimeSFM model (chosen based on the TimeSFM model size: 200M or 500M)
  • TARGET_COL_NAME: Target column index in the dataset

Example .env file:

MODEL_PATH=/app/weights/torch_model.ckpt
SAVE_MODEL_PATH=timesfm_classification_model.pth
TRAIN_FILE_PATH=/app/dataset/ECG200_TRAIN
TEST_FILE_PATH=/app/dataset/ECG200_TEST
USE_GPU=cpu
NUM_LAYERS=20
TARGET_COL_NAME=0

Fine-Tuning the Model

To fine-tune the TimesFM model on your dataset, navigate to the experiments/torch_classification_timesfm directory in FlaMinGo repo and run the following command:

python run_timesfm_classification.py

This script will load the dataset, fine-tune the model, and save the fine-tuned model to the path specified in SAVE_MODEL_PATH.

Alternatively, you can use the notebooks/finetune_timesfm_torch_classification.ipynb Jupyter notebook to fine-tune the model and perform inference interactively.

Notes

  • Ensure that the dataset paths (TRAIN_FILE_PATH and TEST_FILE_PATH) are correctly specified in the .env file.
  • If using a GPU, set USE_GPU=gpu in the .env file and ensure that CUDA is properly installed.
  • The number of layers (NUM_LAYERS) should match the TimesFM size (200M or 500M).
  • Ensure that the training and testing datasets are in .csv format.

Evaluation

FlaMinGo, available in two versions (FlaMinGo-200M and FlaMinGo-500M), was evaluated against three popular time-series classification models (MOMENT, TimesNet, and GPT4TS) on multiple datasets from the UCR collection.

Dataset FlaMinGo (Timesfm-200M) FlaMinGo (Timesfm-500M) MOMENT TimesNet GPT4TS
Ham 69.5 63.8 58.1 68.6 78.1
InsectWingbeatSound 62.1 54.4 60.7 52.9 59.8
ECG5000 94 91.6 94.2 58.4 58.4
ECG200 90 87 76 83 79
BirdChicken 85 75 85 45 55
Adiac 62.9 22.3 68.8 56.5 59.8
ProximalPhalanxOutlineAgeGroup 82.4 80.5 86.3 86.8 83.9
Trace 92 76 100 76 71
wafer 99.5 98.5 99.7 98.9 99.4
CBF 99.4 90.1 96 76.1 83
ElectricDevices 70 64 64.6 55.2 50.6
MoteStrain 80 74.6 77.4 70 68.1
TwoLeadECG 90.1 80.1 84.7 63.3 65.8
ShapeletSim 89.4 63.3 96.1 50 48.9
Cricket_Z 76.7 61.5 73.1 45.9 39.7
Strawberry 92.2 86.6 95.1 94.6 93.5
FordA 93.1 81.3 93.6 91.3 91.4
Symbols 87.6 81.8 93.6 86.4 69.4
MiddlePhalanxTW 63.7 63.4 53.2 50.6 57.1
yoga 77.5 73.6 83.4 67.2 69.1
Meat 93.3 93.3 91.7 43.3 66.7
MedicalImages 71.7 58.2 76.2 57.1 49.6
DistalPhalanxTW 77.5 77 61.2 60.4 61.9
ProximalPhalanxOutlineCorrect 81.1 79.7 85.6 86.9 80.1
Herring 59.4 59.4 59.4 53.1 57.8
ToeSegmentation2 86.2 73.1 91.5 73.1 73.1
OSULeaf 79 57 78.5 39.7 23.1
Average Accuracy 81.6 73.2 80.1 66.1 68.2

Our results show that FlaMinGo achieves competitive performance across diverse time-series classification tasks. It outperforms existing models in 13 classification tasks and achieves the highest overall average accuracy among all models. In most other cases, it delivers results comparable to the best-performing models. Since FlaMinGo has been fine-tuned on Persian financial data to improve forecasting capability, we also compared its forecasting performance against TimeSFM on crypto-related datasets we gathered. This evaluation provides insights into how fine-tuning affects the model's ability to predict financial trends.

Dataset MSE (pretrained) MAE (pretrained) MSE (fine-tuned) MAE (fine-tuned)
Crypto-1 1.93E-06 1.76E-04 1.24E-06 0.000144
Crypto-2 4.31E-06 2.43E-04 3.66E-06 0.000218
Crypto-3 7.36E-06 3.31E-04 6.54E-06 0.000307
Crypto-4 6.71 0.3 5.92 0.28
Crypto-5 7.26E-07 1.08E-04 6.68E-07 0.0001
Crypto-6 54028.91 29.82 40619.24 25.42
Crypto-7 0.19 0.0499 0.18 0.0458
Crypto-8 0.00181 0.00543 0.00168 0.00515
Average Improvement MSE: 14.88% MAE: 9.74%

These results demonstrate the effectiveness of fine-tuning on Persian financial data, improving the model’s adaptability to structured time-series patterns. It is also worth noting that the fine-tuned model was evaluated on cryptocurrency datasets, which pose greater complexity, achieving a 14.88% improvement in MSE and a 9.74% improvement in MAE, further showcasing its enhanced predictive performance.

Contact us

If you have any questions regarding this model, you can reach us via the community on Hugging Face.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The HF Inference API does not support time-series-forecasting models for transformers library.

Model tree for PartAI/FlaMinGo-timesfm

Finetuned
(1)
this model