Trait-Driven Model Imports๏ƒ

fusilli offers various models for data fusion available in fusilli.fusionmodels. Each model is adaptable to different degrees, and you can modify them as described in Modify the Fusion Models.

Choosing a Model๏ƒ

You have several ways to select a model:

  1. Direct Import: Import a specific model from fusilli.fusionmodels at the beginning of your script.

  2. Use Model Chooser Function: Utilize fusilli.utils.model_chooser.import_chosen_fusion_models() to filter models based on specific criteria.

Model Chooser Function Usage๏ƒ

The fusilli.utils.model_chooser.import_chosen_fusion_models() function takes a dictionary of criteria. The keys represent criteria names, and the values are the desired criteria.

For instance, to fetch models capable of fusing tabular and image data, use:

from fusilli.utils.model_chooser import import_chosen_fusion_models

criteria = {
    "modality_type": ["tab_img"],
}

models = import_chosen_fusion_models(criteria)

This function returns a list of models that fulfill the specified criteria. Access these models by indexing the list (e.g., models[0], models[1], etc.). It will also display a list of all models meeting that description.

Examples of Criteria๏ƒ

  • Attention-Based Fusion for Tabular and Image Data:

criteria = {
    "modality_type": ["tab_img"],
    "fusion_type": ["attention"],
}
  • Operation- or Attention-Based Fusion for Tabular and Image Data; also Uni-Modal Benchmark Models:

criteria = {
    "modality_type": ["tab_img", "tabular1", "img"],
    "fusion_type": ["operation", "attention"],
}
  • Subspace-Based Fusion for Any Modality Type:

criteria = {
    "fusion_type": ["subspace"],
    "modality_type": "all",
}
  • Specific Models by Name: Tabular1Unimodal, Tabular2Unimodal, and ConcatTabularData:

criteria = {
    "class_name": ["Tabular1Unimodal", "Tabular2Unimodal", "ConcatTabularData"],
}