MomentFMClassifier
MomentFMClassifier
- class MomentFMClassifier(pretrained_model_name_or_path='AutonLab/MOMENT-1-large', head_dropout=0.1, batch_size=32, eval_batch_size=32, epochs=1, max_lr=0.0001, device='auto', pct_start=0.3, max_norm=5.0, train_val_split=0.2, config=None, to_cpu_after_fit=False)[source]
Interface for classification with the deep learning time series model momentfm.
MomentFM is a collection of open source foundation models for the general purpose of time series analysis. The Moment Foundation Model is a pre-trained model that is capable of accomplishing various time series tasks, such as:
Classification
This interface with MomentFM focuses on the classification task, in which the foundation model uses a user fine tuned ‘classification head’ to classify a time series. This model does NOT have zero shot capabilities and requires fine-tuning to achieve performance on user inputted data.
NOTE: This model can only handle time series with a sequence length of 512 or less.
For more information: see https://github.com/moment-timeseries-foundation-model/moment
For information regarding licensing and use of the momentfm model please visit: https://huggingface.co/AutonLab/MOMENT-1-large
- pretrained_model_name_or_pathstr
Path to the pretrained Momentfm model. Default is AutonLab/MOMENT-1-large
- head_dropoutfloat
Dropout value of classification head of the model. Values range between [0.0, 1.0] Default = 0.1
- batch_sizeint
size of batches to train the model on default = 32
- eval_batch_sizeint or “all”
size of batches to evaluate the model on. If the string “all” is specified, then we process the entire validation set as a single batch default = 32
- epochsint
Number of epochs to fit tune the model on default = 1
- max_lrfloat
Maximum learning rate that the learning rate scheduler will use default = 1e-4
- devicestr
torch device to use default = “auto” If set to auto, it will automatically use whatever device that accelerate detects.
- pct_startfloat
percentage of total iterations where the learning rate rises during one epoch default = 0.3
- max_normfloat
Float value used to clip gradients during training default = 5.0
- train_val_splitfloat
float value between 0 and 1 to determine portions of training and validation splits default = 0.2
- configdict, default = {}
If desired, user can pass in a config detailing all momentfm parameters that they wish to set in dictionary form, so that parameters do not need to be individually set. If a parameter inside a config is a duplicate of one already passed in individually, it will be overwritten.
- to_cpu_after_fitbool, default = False
After fitting and training, will return the momentfm model to the cpu.
- Attributes:
is_fittedWhether
fithas been called.
References
Paper: https://arxiv.org/abs/2402.03885 Github: https://github.com/moment-timeseries-foundation-model/moment/tree/main
Examples
>>> from sktime.classification.foundation_models.momentfm import ( ... MomentFMClassifier, ... ) >>> from sktime.datasets import load_unit_test >>> X_train, y_train = load_unit_test(split="train", return_type = "numpy3d") >>> X_test, _ = load_unit_test(split="test", return_type = "numpy3d") >>> classifier = MomentFMClassifier(epochs=1, batch_size=16) >>> classifier.fit(X_train, y_train) >>> y_pred = classifier.predict(X_test)
Methods
check_is_fitted([method_name])Check if the estimator has been fitted.
clone()Obtain a clone of the object with same hyper-parameters and config.
clone_tags(estimator[, tag_names])Clone tags from another object as dynamic override.
create_test_instance([parameter_set])Construct an instance of the class, using first test parameter set.
create_test_instances_and_names([parameter_set])Create list of all test instances and a list of names for them.
fit(X, y)Fit time series classifier to training data.
fit_predict(X, y[, cv, change_state])Fit and predict labels for sequences in X.
fit_predict_proba(X, y[, cv, change_state])Fit and predict labels probabilities for sequences in X.
get_class_tag(tag_name[, tag_value_default])Get class tag value from class, with tag level inheritance from parents.
get_class_tags()Get class tags from class, with tag level inheritance from parent classes.
get_config()Get config flags for self.
get_fitted_params([deep])Get fitted parameters.
get_param_defaults()Get object's parameter defaults.
get_param_names([sort])Get object's parameter names.
get_params([deep])Get a dict of parameters values for this object.
get_tag(tag_name[, tag_value_default, ...])Get tag value from instance, with tag level inheritance and overrides.
get_tags()Get tags from instance, with tag level inheritance and overrides.
get_test_params([parameter_set])Return testing parameter settings for the estimator.
is_composite()Check if the object is composed of other BaseObjects.
load_from_path(serial)Load object from file location.
load_from_serial(serial)Load object from serialized memory container.
predict(X)Predicts labels for sequences in X.
predict_proba(X)Predicts labels probabilities for sequences in X.
reset()Reset the object to a clean post-init state.
save([path, serialization_format])Save serialized self to bytes-like object or to (.zip) file.
score(X, y)Scores predicted labels against ground truth labels on X.
set_config(**config_dict)Set config flags to given values.
set_params(**params)Set the parameters of this object.
set_random_state([random_state, deep, ...])Set random_state pseudo-random seed parameters for self.
set_tags(**tag_dict)Set instance level tag overrides to given values.

