autogluon.tabular 1.4.1b20251116__tar.gz → 1.4.1b20251217__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {autogluon_tabular-1.4.1b20251116/src/autogluon.tabular.egg-info → autogluon_tabular-1.4.1b20251217}/PKG-INFO +50 -50
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/README.md +7 -4
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/setup.py +10 -23
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/learner/default_learner.py +1 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/__init__.py +1 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/catboost_model.py +1 -1
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/lgb_model.py +58 -8
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/lgb_utils.py +2 -2
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/rf_model.py +4 -4
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabm/tabm_model.py +78 -2
- autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/tabprep/prep_lgb_model.py +21 -0
- autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/tabprep/prep_mixin.py +220 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/torch/tabular_nn_torch.py +1 -2
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/predictor/predictor.py +2 -1
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/registry/_ag_model_registry.py +2 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/trainer/abstract_trainer.py +9 -3
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/trainer/auto_trainer.py +4 -0
- autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/tuning/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/version.py +1 -1
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217/src/autogluon.tabular.egg-info}/PKG-INFO +50 -50
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/SOURCES.txt +3 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/requires.txt +44 -49
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/LICENSE +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/NOTICE +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/setup.cfg +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/config_helper.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/feature_generator_presets.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/hyperparameter_configs.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/pipeline_presets.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/presets_configs.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/zeroshot/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/zeroshot/zeroshot_portfolio_2023.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/zeroshot/zeroshot_portfolio_2025.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/experimental/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/experimental/_scikit_mixin.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/experimental/_tabular_classifier.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/experimental/_tabular_regressor.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/experimental/plot_leaderboard.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/learner/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/learner/abstract_learner.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/_utils/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/_utils/rapids_utils.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/_utils/torch_utils.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/automm/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/automm/automm_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/automm/ft_transformer.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/callbacks.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/catboost_softclass_utils.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/catboost_utils.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/hyperparameters/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/hyperparameters/parameters.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/hyperparameters/searchspaces.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/ebm/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/ebm/ebm_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/ebm/hyperparameters/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/ebm/hyperparameters/parameters.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/ebm/hyperparameters/searchspaces.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/callbacks.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/fastai_helpers.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/hyperparameters/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/hyperparameters/parameters.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/hyperparameters/searchspaces.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/imports_helper.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/quantile_helpers.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/tabular_nn_fastai.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fasttext/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fasttext/fasttext_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fasttext/hyperparameters/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fasttext/hyperparameters/parameters.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/image_prediction/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/image_prediction/image_predictor.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/imodels/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/imodels/imodels_models.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/knn/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/knn/_knn_loo_variants.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/knn/knn_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/knn/knn_rapids_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/knn/knn_utils.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/callbacks.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/hyperparameters/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/hyperparameters/parameters.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/hyperparameters/searchspaces.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/hyperparameters/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/hyperparameters/parameters.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/hyperparameters/searchspaces.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/lr_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/lr_preprocessing_utils.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/lr_rapids_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/config/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/config/config_pretrain.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/config/config_run.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/config/enums.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/callbacks.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/get_loss.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/get_optimizer.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/get_scheduler.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/prediction_metrics.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/trainer_finetune.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/data/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/data/collator.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/data/dataset_finetune.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/data/dataset_split.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/data/preprocessor.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/models/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/models/base.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/models/embedding.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/models/tab2d.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/utils/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/utils/set_seed.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/mitra_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/sklearn_interface.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/realmlp/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/realmlp/realmlp_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/compilers/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/compilers/native.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/compilers/onnx.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/rf_quantile.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/rf_rapids_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabicl/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabicl/tabicl_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabm/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabm/_tabm_internal.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabm/rtdl_num_embeddings.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabm/tabm_reference.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/config/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/config/config_run.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/callbacks.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/collator.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/dataset_split.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/enums.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/get_loss.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/get_optimizer.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/get_scheduler.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/trainer_finetune.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/y_transformer.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/data/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/data/dataset_finetune.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/data/preprocessor.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/models/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/models/foundation/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/models/foundation/embedding.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/models/foundation/foundation_transformer.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/results/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/results/prediction_metrics.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/tabpfnmix_classifier.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/tabpfnmix_regressor.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/tabpfnmix_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/configs.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/scoring_utils.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/sklearn_based_decision_tree_tabpfn.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/sklearn_based_random_forest_tabpfn.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/sklearn_compat.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/utils.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/tabpfnv2_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/models/tabular_nn → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/tabprep}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/models/tabular_nn/compilers → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/tabular_nn}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/models/tabular_nn/hyperparameters → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/tabular_nn/compilers}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/compilers/native.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/compilers/onnx.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/models/tabular_nn/torch → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/tabular_nn/hyperparameters}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/hyperparameters/parameters.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/hyperparameters/searchspaces.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/models/tabular_nn/utils → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/tabular_nn/torch}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/torch/tabular_torch_dataset.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/torch/torch_network_modules.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/models/text_prediction → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/tabular_nn/utils}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/utils/categorical_encoders.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/utils/data_preprocessor.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/utils/nn_architecture_utils.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/models/xgboost → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/text_prediction}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/text_prediction/text_prediction_v1_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/models/xgboost/hyperparameters → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/xgboost}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xgboost/callbacks.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/models/xt → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/xgboost/hyperparameters}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xgboost/hyperparameters/parameters.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xgboost/hyperparameters/searchspaces.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xgboost/xgboost_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xgboost/xgboost_utils.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/trainer/model_presets → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/xt}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xt/xt_model.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/predictor/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/predictor/interpretable_predictor.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/registry/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/registry/_model_registry.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/testing/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/testing/fit_helper.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/testing/generate_datasets.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/testing/model_fit_helper.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/trainer/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/tuning → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/trainer/model_presets}/__init__.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/trainer/model_presets/presets.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/trainer/model_presets/presets_distill.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/tuning/feature_pruner.py +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/dependency_links.txt +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/namespace_packages.txt +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/top_level.txt +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/zip-safe +0 -0
- {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/tests/test_check_style.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: autogluon.tabular
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.1b20251217
|
|
4
4
|
Summary: Fast and Accurate ML in 3 Lines of Code
|
|
5
5
|
Home-page: https://github.com/autogluon/autogluon
|
|
6
6
|
Author: AutoGluon Community
|
|
@@ -23,15 +23,15 @@ Classifier: Operating System :: Microsoft :: Windows
|
|
|
23
23
|
Classifier: Operating System :: POSIX
|
|
24
24
|
Classifier: Operating System :: Unix
|
|
25
25
|
Classifier: Programming Language :: Python :: 3
|
|
26
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
27
26
|
Classifier: Programming Language :: Python :: 3.10
|
|
28
27
|
Classifier: Programming Language :: Python :: 3.11
|
|
29
28
|
Classifier: Programming Language :: Python :: 3.12
|
|
29
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
30
30
|
Classifier: Topic :: Software Development
|
|
31
31
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
32
32
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
33
33
|
Classifier: Topic :: Scientific/Engineering :: Image Recognition
|
|
34
|
-
Requires-Python: >=3.
|
|
34
|
+
Requires-Python: >=3.10, <3.14
|
|
35
35
|
Description-Content-Type: text/markdown
|
|
36
36
|
License-File: LICENSE
|
|
37
37
|
License-File: NOTICE
|
|
@@ -40,8 +40,8 @@ Requires-Dist: scipy<1.17,>=1.5.4
|
|
|
40
40
|
Requires-Dist: pandas<2.4.0,>=2.0.0
|
|
41
41
|
Requires-Dist: scikit-learn<1.8.0,>=1.4.0
|
|
42
42
|
Requires-Dist: networkx<4,>=3.0
|
|
43
|
-
Requires-Dist: autogluon.core==1.4.
|
|
44
|
-
Requires-Dist: autogluon.features==1.4.
|
|
43
|
+
Requires-Dist: autogluon.core==1.4.1b20251217
|
|
44
|
+
Requires-Dist: autogluon.features==1.4.1b20251217
|
|
45
45
|
Provides-Extra: lightgbm
|
|
46
46
|
Requires-Dist: lightgbm<4.7,>=4.0; extra == "lightgbm"
|
|
47
47
|
Provides-Extra: catboost
|
|
@@ -55,89 +55,86 @@ Provides-Extra: interpret
|
|
|
55
55
|
Requires-Dist: interpret-core<0.8,>=0.7.2; extra == "interpret"
|
|
56
56
|
Provides-Extra: fastai
|
|
57
57
|
Requires-Dist: spacy<3.9; extra == "fastai"
|
|
58
|
-
Requires-Dist: torch<2.
|
|
58
|
+
Requires-Dist: torch<2.10,>=2.6; extra == "fastai"
|
|
59
59
|
Requires-Dist: fastai<2.9,>=2.3.1; extra == "fastai"
|
|
60
|
-
Requires-Dist: blis<1.2.1,>=0.7.0; (platform_system == "Windows" and python_version == "3.9") and extra == "fastai"
|
|
61
60
|
Provides-Extra: tabm
|
|
62
|
-
Requires-Dist: torch<2.
|
|
61
|
+
Requires-Dist: torch<2.10,>=2.6; extra == "tabm"
|
|
63
62
|
Provides-Extra: tabpfn
|
|
64
63
|
Requires-Dist: tabpfn<2.2,>=2.0.9; extra == "tabpfn"
|
|
65
64
|
Provides-Extra: tabpfnmix
|
|
66
|
-
Requires-Dist: torch<2.
|
|
65
|
+
Requires-Dist: torch<2.10,>=2.6; extra == "tabpfnmix"
|
|
67
66
|
Requires-Dist: huggingface_hub[torch]<1.0; extra == "tabpfnmix"
|
|
68
67
|
Requires-Dist: einops<0.9,>=0.7; extra == "tabpfnmix"
|
|
69
68
|
Provides-Extra: mitra
|
|
70
69
|
Requires-Dist: loguru; extra == "mitra"
|
|
71
70
|
Requires-Dist: einx; extra == "mitra"
|
|
72
71
|
Requires-Dist: omegaconf; extra == "mitra"
|
|
73
|
-
Requires-Dist: torch<2.
|
|
72
|
+
Requires-Dist: torch<2.10,>=2.6; extra == "mitra"
|
|
74
73
|
Requires-Dist: transformers; extra == "mitra"
|
|
75
74
|
Requires-Dist: huggingface_hub[torch]<1.0; extra == "mitra"
|
|
76
75
|
Requires-Dist: einops<0.9,>=0.7; extra == "mitra"
|
|
77
76
|
Provides-Extra: tabicl
|
|
78
77
|
Requires-Dist: tabicl<0.2,>=0.1.3; extra == "tabicl"
|
|
79
78
|
Provides-Extra: ray
|
|
80
|
-
Requires-Dist: autogluon.core[all]==1.4.
|
|
79
|
+
Requires-Dist: autogluon.core[all]==1.4.1b20251217; extra == "ray"
|
|
81
80
|
Provides-Extra: skex
|
|
82
81
|
Requires-Dist: scikit-learn-intelex<2025.5,>=2024.0; extra == "skex"
|
|
83
82
|
Provides-Extra: imodels
|
|
84
83
|
Requires-Dist: imodels<2.1.0,>=1.3.10; extra == "imodels"
|
|
85
84
|
Provides-Extra: skl2onnx
|
|
86
|
-
Requires-Dist:
|
|
87
|
-
Requires-Dist: onnx
|
|
88
|
-
Requires-Dist:
|
|
89
|
-
Requires-Dist: onnxruntime<1.
|
|
90
|
-
Requires-Dist: onnxruntime-gpu<1.
|
|
85
|
+
Requires-Dist: skl2onnx<1.20.0,>=1.15.0; extra == "skl2onnx"
|
|
86
|
+
Requires-Dist: onnx!=1.16.2,<1.21.0,>=1.13.0; platform_system == "Windows" and extra == "skl2onnx"
|
|
87
|
+
Requires-Dist: onnx<1.21.0,>=1.13.0; platform_system != "Windows" and extra == "skl2onnx"
|
|
88
|
+
Requires-Dist: onnxruntime<1.24.0,>=1.17.0; extra == "skl2onnx"
|
|
89
|
+
Requires-Dist: onnxruntime-gpu<1.24.0,>=1.17.0; (platform_system != "Darwin" and platform_machine != "aarch64") and extra == "skl2onnx"
|
|
91
90
|
Provides-Extra: all
|
|
92
|
-
Requires-Dist:
|
|
93
|
-
Requires-Dist: numpy<2.3.0,>=1.25; extra == "all"
|
|
91
|
+
Requires-Dist: autogluon.core[all]==1.4.1b20251217; extra == "all"
|
|
94
92
|
Requires-Dist: loguru; extra == "all"
|
|
95
|
-
Requires-Dist: omegaconf; extra == "all"
|
|
96
93
|
Requires-Dist: spacy<3.9; extra == "all"
|
|
94
|
+
Requires-Dist: huggingface_hub[torch]<1.0; extra == "all"
|
|
97
95
|
Requires-Dist: einx; extra == "all"
|
|
98
|
-
Requires-Dist: blis<1.2.1,>=0.7.0; (platform_system == "Windows" and python_version == "3.9") and extra == "all"
|
|
99
|
-
Requires-Dist: catboost<1.3,>=1.2; extra == "all"
|
|
100
|
-
Requires-Dist: xgboost<3.1,>=2.0; extra == "all"
|
|
101
96
|
Requires-Dist: fastai<2.9,>=2.3.1; extra == "all"
|
|
102
|
-
Requires-Dist:
|
|
103
|
-
Requires-Dist:
|
|
104
|
-
Requires-Dist:
|
|
97
|
+
Requires-Dist: xgboost<3.1,>=2.0; extra == "all"
|
|
98
|
+
Requires-Dist: torch<2.10,>=2.6; extra == "all"
|
|
99
|
+
Requires-Dist: numpy<2.3.0,>=1.25; extra == "all"
|
|
100
|
+
Requires-Dist: einops<0.9,>=0.7; extra == "all"
|
|
105
101
|
Requires-Dist: lightgbm<4.7,>=4.0; extra == "all"
|
|
102
|
+
Requires-Dist: omegaconf; extra == "all"
|
|
103
|
+
Requires-Dist: catboost<1.3,>=1.2; extra == "all"
|
|
106
104
|
Requires-Dist: transformers; extra == "all"
|
|
107
105
|
Provides-Extra: tabarena
|
|
108
|
-
Requires-Dist: tabicl<0.2,>=0.1.3; extra == "tabarena"
|
|
109
|
-
Requires-Dist: omegaconf; extra == "tabarena"
|
|
110
|
-
Requires-Dist: spacy<3.9; extra == "tabarena"
|
|
111
106
|
Requires-Dist: catboost<1.3,>=1.2; extra == "tabarena"
|
|
112
|
-
Requires-Dist:
|
|
113
|
-
Requires-Dist:
|
|
107
|
+
Requires-Dist: autogluon.core[all]==1.4.1b20251217; extra == "tabarena"
|
|
108
|
+
Requires-Dist: tabicl<0.2,>=0.1.3; extra == "tabarena"
|
|
114
109
|
Requires-Dist: loguru; extra == "tabarena"
|
|
115
|
-
Requires-Dist:
|
|
116
|
-
Requires-Dist: tabpfn<2.2,>=2.0.9; extra == "tabarena"
|
|
117
|
-
Requires-Dist: pytabkit<1.7,>=1.6; extra == "tabarena"
|
|
118
|
-
Requires-Dist: transformers; extra == "tabarena"
|
|
119
|
-
Requires-Dist: einops<0.9,>=0.7; extra == "tabarena"
|
|
120
|
-
Requires-Dist: numpy<2.3.0,>=1.25; extra == "tabarena"
|
|
121
|
-
Requires-Dist: xgboost<3.1,>=2.0; extra == "tabarena"
|
|
122
|
-
Requires-Dist: autogluon.core[all]==1.4.1b20251116; extra == "tabarena"
|
|
110
|
+
Requires-Dist: huggingface_hub[torch]<1.0; extra == "tabarena"
|
|
123
111
|
Requires-Dist: einx; extra == "tabarena"
|
|
124
|
-
Requires-Dist:
|
|
112
|
+
Requires-Dist: pytabkit<1.7,>=1.6; extra == "tabarena"
|
|
125
113
|
Requires-Dist: fastai<2.9,>=2.3.1; extra == "tabarena"
|
|
126
|
-
Requires-Dist:
|
|
114
|
+
Requires-Dist: xgboost<3.1,>=2.0; extra == "tabarena"
|
|
115
|
+
Requires-Dist: torch<2.10,>=2.6; extra == "tabarena"
|
|
116
|
+
Requires-Dist: numpy<2.3.0,>=1.25; extra == "tabarena"
|
|
117
|
+
Requires-Dist: einops<0.9,>=0.7; extra == "tabarena"
|
|
118
|
+
Requires-Dist: lightgbm<4.7,>=4.0; extra == "tabarena"
|
|
119
|
+
Requires-Dist: omegaconf; extra == "tabarena"
|
|
120
|
+
Requires-Dist: spacy<3.9; extra == "tabarena"
|
|
121
|
+
Requires-Dist: transformers; extra == "tabarena"
|
|
122
|
+
Requires-Dist: tabpfn<2.2,>=2.0.9; extra == "tabarena"
|
|
123
|
+
Requires-Dist: interpret-core<0.8,>=0.7.2; extra == "tabarena"
|
|
127
124
|
Provides-Extra: tests
|
|
128
125
|
Requires-Dist: interpret-core<0.8,>=0.7.2; extra == "tests"
|
|
129
126
|
Requires-Dist: tabicl<0.2,>=0.1.3; extra == "tests"
|
|
130
127
|
Requires-Dist: tabpfn<2.2,>=2.0.9; extra == "tests"
|
|
131
128
|
Requires-Dist: pytabkit<1.7,>=1.6; extra == "tests"
|
|
132
|
-
Requires-Dist: torch<2.
|
|
129
|
+
Requires-Dist: torch<2.10,>=2.6; extra == "tests"
|
|
133
130
|
Requires-Dist: huggingface_hub[torch]<1.0; extra == "tests"
|
|
134
131
|
Requires-Dist: einops<0.9,>=0.7; extra == "tests"
|
|
135
132
|
Requires-Dist: imodels<2.1.0,>=1.3.10; extra == "tests"
|
|
136
|
-
Requires-Dist:
|
|
137
|
-
Requires-Dist: onnx
|
|
138
|
-
Requires-Dist:
|
|
139
|
-
Requires-Dist: onnxruntime<1.
|
|
140
|
-
Requires-Dist: onnxruntime-gpu<1.
|
|
133
|
+
Requires-Dist: skl2onnx<1.20.0,>=1.15.0; extra == "tests"
|
|
134
|
+
Requires-Dist: onnx!=1.16.2,<1.21.0,>=1.13.0; platform_system == "Windows" and extra == "tests"
|
|
135
|
+
Requires-Dist: onnx<1.21.0,>=1.13.0; platform_system != "Windows" and extra == "tests"
|
|
136
|
+
Requires-Dist: onnxruntime<1.24.0,>=1.17.0; extra == "tests"
|
|
137
|
+
Requires-Dist: onnxruntime-gpu<1.24.0,>=1.17.0; (platform_system != "Darwin" and platform_machine != "aarch64") and extra == "tests"
|
|
141
138
|
Dynamic: author
|
|
142
139
|
Dynamic: classifier
|
|
143
140
|
Dynamic: description
|
|
@@ -160,7 +157,7 @@ Dynamic: summary
|
|
|
160
157
|
|
|
161
158
|
[](https://github.com/autogluon/autogluon/releases)
|
|
162
159
|
[](https://anaconda.org/conda-forge/autogluon)
|
|
163
|
-
[](https://pypi.org/project/autogluon/)
|
|
164
161
|
[](https://pepy.tech/project/autogluon)
|
|
165
162
|
[](./LICENSE)
|
|
166
163
|
[](https://discord.gg/wjUmjqAc2N)
|
|
@@ -177,7 +174,7 @@ AutoGluon, developed by AWS AI, automates machine learning tasks enabling you to
|
|
|
177
174
|
|
|
178
175
|
## 💾 Installation
|
|
179
176
|
|
|
180
|
-
AutoGluon is supported on Python 3.
|
|
177
|
+
AutoGluon is supported on Python 3.10 - 3.13 and is available on Linux, MacOS, and Windows.
|
|
181
178
|
|
|
182
179
|
You can install AutoGluon with:
|
|
183
180
|
|
|
@@ -200,8 +197,8 @@ predictions = predictor.predict("test.csv")
|
|
|
200
197
|
| AutoGluon Task | Quickstart | API |
|
|
201
198
|
|:--------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
|
202
199
|
| TabularPredictor | [](https://auto.gluon.ai/stable/tutorials/tabular/tabular-quick-start.html) | [](https://auto.gluon.ai/stable/api/autogluon.tabular.TabularPredictor.html) |
|
|
203
|
-
| MultiModalPredictor | [](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html) | [](https://auto.gluon.ai/stable/api/autogluon.multimodal.MultiModalPredictor.html) |
|
|
204
200
|
| TimeSeriesPredictor | [](https://auto.gluon.ai/stable/tutorials/timeseries/forecasting-quick-start.html) | [](https://auto.gluon.ai/stable/api/autogluon.timeseries.TimeSeriesPredictor.html) |
|
|
201
|
+
| MultiModalPredictor | [](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html) | [](https://auto.gluon.ai/stable/api/autogluon.multimodal.MultiModalPredictor.html) |
|
|
205
202
|
|
|
206
203
|
## :mag: Resources
|
|
207
204
|
|
|
@@ -224,7 +221,10 @@ Below is a curated list of recent tutorials and talks on AutoGluon. A comprehens
|
|
|
224
221
|
- [Benchmarking Multimodal AutoML for Tabular Data with Text Fields](https://datasets-benchmarks-proceedings.neurips.cc/paper/2021/file/9bf31c7ff062936a96d3c8bd1f8f2ff3-Paper-round2.pdf) (*NeurIPS*, 2021) ([BibTeX](CITING.md#autogluonmultimodal))
|
|
225
222
|
- [XTab: Cross-table Pretraining for Tabular Transformers](https://proceedings.mlr.press/v202/zhu23k/zhu23k.pdf) (*ICML*, 2023)
|
|
226
223
|
- [AutoGluon-TimeSeries: AutoML for Probabilistic Time Series Forecasting](https://arxiv.org/abs/2308.05566) (*AutoML Conf*, 2023) ([BibTeX](CITING.md#autogluontimeseries))
|
|
227
|
-
- [TabRepo: A Large Scale Repository of Tabular Model Evaluations and its AutoML Applications](https://arxiv.org/pdf/2311.02971.pdf) (*
|
|
224
|
+
- [TabRepo: A Large Scale Repository of Tabular Model Evaluations and its AutoML Applications](https://arxiv.org/pdf/2311.02971.pdf) (*AutoML Conf*, 2024)
|
|
225
|
+
- [AutoGluon-Multimodal (AutoMM): Supercharging Multimodal AutoML with Foundation Models](https://arxiv.org/pdf/2404.16233) (*AutoML Conf*, 2024) ([BibTeX](CITING.md#autogluonmultimodal))
|
|
226
|
+
- [Multi-layer Stack Ensembles for Time Series Forecasting](https://arxiv.org/abs/2511.15350) (*AutoML Conf*, 2025) ([BibTeX](CITING.md#autogluontimeseries))
|
|
227
|
+
- [Chronos-2: From Univariate to Universal Forecasting](https://arxiv.org/abs/2510.15821) (*Arxiv*, 2025) ([BibTeX](CITING.md#autogluontimeseries))
|
|
228
228
|
|
|
229
229
|
### Articles
|
|
230
230
|
- [AutoGluon-TimeSeries: Every Time Series Forecasting Model In One Library](https://towardsdatascience.com/autogluon-timeseries-every-time-series-forecasting-model-in-one-library-29a3bf6879db) (*Towards Data Science*, Jan 2024)
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
[](https://github.com/autogluon/autogluon/releases)
|
|
9
9
|
[](https://anaconda.org/conda-forge/autogluon)
|
|
10
|
-
[](https://pypi.org/project/autogluon/)
|
|
11
11
|
[](https://pepy.tech/project/autogluon)
|
|
12
12
|
[](./LICENSE)
|
|
13
13
|
[](https://discord.gg/wjUmjqAc2N)
|
|
@@ -24,7 +24,7 @@ AutoGluon, developed by AWS AI, automates machine learning tasks enabling you to
|
|
|
24
24
|
|
|
25
25
|
## 💾 Installation
|
|
26
26
|
|
|
27
|
-
AutoGluon is supported on Python 3.
|
|
27
|
+
AutoGluon is supported on Python 3.10 - 3.13 and is available on Linux, MacOS, and Windows.
|
|
28
28
|
|
|
29
29
|
You can install AutoGluon with:
|
|
30
30
|
|
|
@@ -47,8 +47,8 @@ predictions = predictor.predict("test.csv")
|
|
|
47
47
|
| AutoGluon Task | Quickstart | API |
|
|
48
48
|
|:--------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
|
49
49
|
| TabularPredictor | [](https://auto.gluon.ai/stable/tutorials/tabular/tabular-quick-start.html) | [](https://auto.gluon.ai/stable/api/autogluon.tabular.TabularPredictor.html) |
|
|
50
|
-
| MultiModalPredictor | [](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html) | [](https://auto.gluon.ai/stable/api/autogluon.multimodal.MultiModalPredictor.html) |
|
|
51
50
|
| TimeSeriesPredictor | [](https://auto.gluon.ai/stable/tutorials/timeseries/forecasting-quick-start.html) | [](https://auto.gluon.ai/stable/api/autogluon.timeseries.TimeSeriesPredictor.html) |
|
|
51
|
+
| MultiModalPredictor | [](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html) | [](https://auto.gluon.ai/stable/api/autogluon.multimodal.MultiModalPredictor.html) |
|
|
52
52
|
|
|
53
53
|
## :mag: Resources
|
|
54
54
|
|
|
@@ -71,7 +71,10 @@ Below is a curated list of recent tutorials and talks on AutoGluon. A comprehens
|
|
|
71
71
|
- [Benchmarking Multimodal AutoML for Tabular Data with Text Fields](https://datasets-benchmarks-proceedings.neurips.cc/paper/2021/file/9bf31c7ff062936a96d3c8bd1f8f2ff3-Paper-round2.pdf) (*NeurIPS*, 2021) ([BibTeX](CITING.md#autogluonmultimodal))
|
|
72
72
|
- [XTab: Cross-table Pretraining for Tabular Transformers](https://proceedings.mlr.press/v202/zhu23k/zhu23k.pdf) (*ICML*, 2023)
|
|
73
73
|
- [AutoGluon-TimeSeries: AutoML for Probabilistic Time Series Forecasting](https://arxiv.org/abs/2308.05566) (*AutoML Conf*, 2023) ([BibTeX](CITING.md#autogluontimeseries))
|
|
74
|
-
- [TabRepo: A Large Scale Repository of Tabular Model Evaluations and its AutoML Applications](https://arxiv.org/pdf/2311.02971.pdf) (*
|
|
74
|
+
- [TabRepo: A Large Scale Repository of Tabular Model Evaluations and its AutoML Applications](https://arxiv.org/pdf/2311.02971.pdf) (*AutoML Conf*, 2024)
|
|
75
|
+
- [AutoGluon-Multimodal (AutoMM): Supercharging Multimodal AutoML with Foundation Models](https://arxiv.org/pdf/2404.16233) (*AutoML Conf*, 2024) ([BibTeX](CITING.md#autogluonmultimodal))
|
|
76
|
+
- [Multi-layer Stack Ensembles for Time Series Forecasting](https://arxiv.org/abs/2511.15350) (*AutoML Conf*, 2025) ([BibTeX](CITING.md#autogluontimeseries))
|
|
77
|
+
- [Chronos-2: From Univariate to Universal Forecasting](https://arxiv.org/abs/2510.15821) (*Arxiv*, 2025) ([BibTeX](CITING.md#autogluontimeseries))
|
|
75
78
|
|
|
76
79
|
### Articles
|
|
77
80
|
- [AutoGluon-TimeSeries: Every Time Series Forecasting Model In One Library](https://towardsdatascience.com/autogluon-timeseries-every-time-series-forecasting-model-in-one-library-29a3bf6879db) (*Towards Data Science*, Jan 2024)
|
|
@@ -57,7 +57,6 @@ extras_require = {
|
|
|
57
57
|
"spacy<3.9",
|
|
58
58
|
"torch", # version range defined in `core/_setup_utils.py`
|
|
59
59
|
"fastai>=2.3.1,<2.9", # <{N+1} upper cap, where N is the latest released minor version
|
|
60
|
-
"blis>=0.7.0,<1.2.1;platform_system=='Windows' and python_version=='3.9'", # blis not publishing Python 3.9 wheels for Windows, TODO: remove this after dropping Python 3.9 support
|
|
61
60
|
],
|
|
62
61
|
"tabm": [
|
|
63
62
|
"torch", # version range defined in `core/_setup_utils.py`
|
|
@@ -93,28 +92,16 @@ extras_require = {
|
|
|
93
92
|
],
|
|
94
93
|
}
|
|
95
94
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
# Therefore, we install onnxruntime explicitly here just for macOS.
|
|
107
|
-
"onnxruntime>=1.17.0,<1.20.0",
|
|
108
|
-
]
|
|
109
|
-
else:
|
|
110
|
-
# For other platforms, include both CPU and GPU versions
|
|
111
|
-
extras_require["skl2onnx"] = [
|
|
112
|
-
"onnx>=1.13.0,<1.16.2;platform_system=='Windows'", # cap at 1.16.1 for issue https://github.com/onnx/onnx/issues/6267
|
|
113
|
-
"onnx>=1.13.0,<1.18.0;platform_system!='Windows'",
|
|
114
|
-
"skl2onnx>=1.15.0,<1.18.0",
|
|
115
|
-
"onnxruntime>=1.17.0,<1.20.0", # install for gpu system due to https://github.com/autogluon/autogluon/issues/3804
|
|
116
|
-
"onnxruntime-gpu>=1.17.0,<1.20.0",
|
|
117
|
-
]
|
|
95
|
+
extras_require["skl2onnx"] = [
|
|
96
|
+
"skl2onnx>=1.15.0,<1.20.0",
|
|
97
|
+
# Sync ONNX requirements with multimodal/setup.py
|
|
98
|
+
"onnx>=1.13.0,!=1.16.2,<1.21.0;platform_system=='Windows'", # exclude 1.16.2 for issue https://github.com/onnx/onnx/issues/6267
|
|
99
|
+
"onnx>=1.13.0,<1.21.0;platform_system!='Windows'",
|
|
100
|
+
# For macOS, there isn't a onnxruntime-gpu package installed with skl2onnx.
|
|
101
|
+
# Therefore, we install onnxruntime explicitly here just for macOS.
|
|
102
|
+
"onnxruntime>=1.17.0,<1.24.0",
|
|
103
|
+
"onnxruntime-gpu>=1.17.0,<1.24.0; platform_system != 'Darwin' and platform_machine != 'aarch64'",
|
|
104
|
+
]
|
|
118
105
|
|
|
119
106
|
# TODO: v1.0: Rename `all` to `core`, make `all` contain everything.
|
|
120
107
|
all_requires = []
|
|
@@ -143,6 +143,7 @@ class DefaultLearner(AbstractTabularLearner):
|
|
|
143
143
|
infer_limit=infer_limit,
|
|
144
144
|
infer_limit_batch_size=infer_limit_batch_size,
|
|
145
145
|
groups=groups,
|
|
146
|
+
label_cleaner=copy.deepcopy(self.label_cleaner),
|
|
146
147
|
**trainer_fit_kwargs,
|
|
147
148
|
)
|
|
148
149
|
self.save_trainer(trainer=trainer)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from autogluon.core.models.abstract.abstract_model import AbstractModel
|
|
2
2
|
|
|
3
|
+
from .tabprep.prep_lgb_model import PrepLGBModel
|
|
3
4
|
from .automm.automm_model import MultiModalPredictorModel
|
|
4
5
|
from .automm.ft_transformer import FTTransformerModel
|
|
5
6
|
from .catboost.catboost_model import CatBoostModel
|
|
@@ -146,7 +146,7 @@ class CatBoostModel(AbstractModel):
|
|
|
146
146
|
num_cols_train = len(X.columns)
|
|
147
147
|
num_classes = self.num_classes if self.num_classes else 1 # self.num_classes could be None after initialization if it's a regression problem
|
|
148
148
|
|
|
149
|
-
X = self.preprocess(X)
|
|
149
|
+
X = self.preprocess(X, y=y, is_train=True)
|
|
150
150
|
cat_features = list(X.select_dtypes(include="category").columns)
|
|
151
151
|
X = Pool(data=X, label=y, cat_features=cat_features, weight=sample_weight)
|
|
152
152
|
|
|
@@ -103,10 +103,46 @@ class LGBModel(AbstractModel):
|
|
|
103
103
|
Scales linearly with the number of estimators, number of classes, and number of leaves.
|
|
104
104
|
Memory usage peaks during model saving, with the peak consuming approximately 2-4x the size of the model in memory.
|
|
105
105
|
"""
|
|
106
|
+
data_mem_usage = get_approximate_df_mem_usage(X).sum()
|
|
107
|
+
return cls._estimate_memory_usage_common(
|
|
108
|
+
num_features=X.shape[1],
|
|
109
|
+
data_mem_usage=data_mem_usage,
|
|
110
|
+
hyperparameters=hyperparameters,
|
|
111
|
+
num_classes=num_classes,
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
@classmethod
|
|
115
|
+
def _estimate_memory_usage_static_lite(
|
|
116
|
+
cls,
|
|
117
|
+
num_samples: int,
|
|
118
|
+
num_features: int,
|
|
119
|
+
num_bytes_per_cell: float = 4,
|
|
120
|
+
hyperparameters: dict = None,
|
|
121
|
+
num_classes: int = 1,
|
|
122
|
+
**kwargs,
|
|
123
|
+
) -> int:
|
|
124
|
+
data_mem_usage = num_samples * num_features * num_bytes_per_cell
|
|
125
|
+
return cls._estimate_memory_usage_common(
|
|
126
|
+
num_features=num_features,
|
|
127
|
+
data_mem_usage=data_mem_usage,
|
|
128
|
+
hyperparameters=hyperparameters,
|
|
129
|
+
num_classes=num_classes,
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
@classmethod
|
|
133
|
+
def _estimate_memory_usage_common(
|
|
134
|
+
cls,
|
|
135
|
+
num_features: int,
|
|
136
|
+
data_mem_usage: int | float,
|
|
137
|
+
hyperparameters: dict | None = None,
|
|
138
|
+
num_classes: int = 1,
|
|
139
|
+
) -> int:
|
|
140
|
+
"""
|
|
141
|
+
Utility method to avoid code duplication
|
|
142
|
+
"""
|
|
106
143
|
if hyperparameters is None:
|
|
107
144
|
hyperparameters = {}
|
|
108
145
|
num_classes = num_classes if num_classes else 1 # num_classes could be None after initialization if it's a regression problem
|
|
109
|
-
data_mem_usage = get_approximate_df_mem_usage(X).sum()
|
|
110
146
|
data_mem_usage_bytes = data_mem_usage * 5 + data_mem_usage / 4 * num_classes # TODO: Extremely crude approximation, can be vastly improved
|
|
111
147
|
|
|
112
148
|
n_trees_per_estimator = num_classes if num_classes > 2 else 1
|
|
@@ -114,7 +150,7 @@ class LGBModel(AbstractModel):
|
|
|
114
150
|
max_bins = hyperparameters.get("max_bins", 255)
|
|
115
151
|
num_leaves = hyperparameters.get("num_leaves", 31)
|
|
116
152
|
# Memory usage of histogram based on https://github.com/microsoft/LightGBM/issues/562#issuecomment-304524592
|
|
117
|
-
histogram_mem_usage_bytes = 20 * max_bins *
|
|
153
|
+
histogram_mem_usage_bytes = 20 * max_bins * num_features * num_leaves
|
|
118
154
|
histogram_mem_usage_bytes_max = hyperparameters.get("histogram_pool_size", None)
|
|
119
155
|
if histogram_mem_usage_bytes_max is not None:
|
|
120
156
|
histogram_mem_usage_bytes_max *= 1e6 # Convert megabytes to bytes, `histogram_pool_size` is in MB.
|
|
@@ -124,11 +160,11 @@ class LGBModel(AbstractModel):
|
|
|
124
160
|
|
|
125
161
|
mem_size_per_estimator = n_trees_per_estimator * num_leaves * 100 # very rough estimate
|
|
126
162
|
n_estimators = hyperparameters.get("num_boost_round", DEFAULT_NUM_BOOST_ROUND)
|
|
127
|
-
n_estimators_min = min(n_estimators,
|
|
128
|
-
mem_size_estimators = n_estimators_min * mem_size_per_estimator # memory estimate after fitting up to
|
|
163
|
+
n_estimators_min = min(n_estimators, 5000)
|
|
164
|
+
mem_size_estimators = n_estimators_min * mem_size_per_estimator # memory estimate after fitting up to 5000 estimators
|
|
129
165
|
|
|
130
166
|
approx_mem_size_req = data_mem_usage_bytes + histogram_mem_usage_bytes + mem_size_estimators
|
|
131
|
-
return approx_mem_size_req
|
|
167
|
+
return int(approx_mem_size_req)
|
|
132
168
|
|
|
133
169
|
def _fit(self, X, y, X_val=None, y_val=None, time_limit=None, num_gpus=0, num_cpus=0, sample_weight=None, sample_weight_val=None, verbosity=2, **kwargs):
|
|
134
170
|
try_import_lightgbm() # raise helpful error message if LightGBM isn't installed
|
|
@@ -371,6 +407,9 @@ class LGBModel(AbstractModel):
|
|
|
371
407
|
X = self.preprocess(X, **kwargs)
|
|
372
408
|
|
|
373
409
|
y_pred_proba = self.model.predict(X, num_threads=num_cpus)
|
|
410
|
+
return self._post_process_predictions(y_pred_proba=y_pred_proba)
|
|
411
|
+
|
|
412
|
+
def _post_process_predictions(self, y_pred_proba) -> np.ndarray:
|
|
374
413
|
if self.problem_type == QUANTILE:
|
|
375
414
|
# y_pred_proba is a pd.DataFrame, need to convert
|
|
376
415
|
y_pred_proba = y_pred_proba.to_numpy()
|
|
@@ -423,7 +462,7 @@ class LGBModel(AbstractModel):
|
|
|
423
462
|
self,
|
|
424
463
|
X: DataFrame,
|
|
425
464
|
y: Series,
|
|
426
|
-
params,
|
|
465
|
+
params: dict,
|
|
427
466
|
X_val=None,
|
|
428
467
|
y_val=None,
|
|
429
468
|
X_test=None,
|
|
@@ -432,11 +471,14 @@ class LGBModel(AbstractModel):
|
|
|
432
471
|
sample_weight_val=None,
|
|
433
472
|
sample_weight_test=None,
|
|
434
473
|
save=False,
|
|
474
|
+
init_train=None,
|
|
475
|
+
init_val=None,
|
|
476
|
+
init_test=None,
|
|
435
477
|
):
|
|
436
478
|
lgb_dataset_params_keys = ["two_round"] # Keys that are specific to lightGBM Dataset object construction.
|
|
437
479
|
data_params = {key: params[key] for key in lgb_dataset_params_keys if key in params}.copy()
|
|
438
480
|
|
|
439
|
-
X = self.preprocess(X, is_train=True)
|
|
481
|
+
X = self.preprocess(X, y=y, is_train=True)
|
|
440
482
|
if X_val is not None:
|
|
441
483
|
X_val = self.preprocess(X_val)
|
|
442
484
|
if X_test is not None:
|
|
@@ -458,7 +500,13 @@ class LGBModel(AbstractModel):
|
|
|
458
500
|
|
|
459
501
|
# X, W_train = self.convert_to_weight(X=X)
|
|
460
502
|
dataset_train = construct_dataset(
|
|
461
|
-
x=X,
|
|
503
|
+
x=X,
|
|
504
|
+
y=y,
|
|
505
|
+
location=os.path.join("self.path", "datasets", "train"),
|
|
506
|
+
params=data_params,
|
|
507
|
+
save=save,
|
|
508
|
+
weight=sample_weight,
|
|
509
|
+
init_score=init_train,
|
|
462
510
|
)
|
|
463
511
|
# dataset_train = construct_dataset_lowest_memory(X=X, y=y, location=self.path + 'datasets/train', params=data_params)
|
|
464
512
|
if X_val is not None:
|
|
@@ -471,6 +519,7 @@ class LGBModel(AbstractModel):
|
|
|
471
519
|
params=data_params,
|
|
472
520
|
save=save,
|
|
473
521
|
weight=sample_weight_val,
|
|
522
|
+
init_score=init_val,
|
|
474
523
|
)
|
|
475
524
|
# dataset_val = construct_dataset_lowest_memory(X=X_val, y=y_val, location=self.path + 'datasets/val', reference=dataset_train, params=data_params)
|
|
476
525
|
else:
|
|
@@ -485,6 +534,7 @@ class LGBModel(AbstractModel):
|
|
|
485
534
|
params=data_params,
|
|
486
535
|
save=save,
|
|
487
536
|
weight=sample_weight_test,
|
|
537
|
+
init_score=init_test,
|
|
488
538
|
)
|
|
489
539
|
else:
|
|
490
540
|
dataset_test = None
|
|
@@ -104,11 +104,11 @@ def softclass_lgbobj(preds, train_data):
|
|
|
104
104
|
return grad.flatten("F"), hess.flatten("F")
|
|
105
105
|
|
|
106
106
|
|
|
107
|
-
def construct_dataset(x: DataFrame, y: Series, location=None, reference=None, params=None, save=False, weight=None):
|
|
107
|
+
def construct_dataset(x: DataFrame, y: Series, location=None, reference=None, params=None, save=False, weight=None, init_score=None):
|
|
108
108
|
try_import_lightgbm()
|
|
109
109
|
import lightgbm as lgb
|
|
110
110
|
|
|
111
|
-
dataset = lgb.Dataset(data=x, label=y, reference=reference, free_raw_data=True, params=params, weight=weight)
|
|
111
|
+
dataset = lgb.Dataset(data=x, label=y, reference=reference, free_raw_data=True, params=params, weight=weight, init_score=init_score)
|
|
112
112
|
|
|
113
113
|
if save:
|
|
114
114
|
assert location is not None
|
|
@@ -151,13 +151,13 @@ class RFModel(AbstractModel):
|
|
|
151
151
|
hyperparameters = {}
|
|
152
152
|
n_estimators_final = hyperparameters.get("n_estimators", 300)
|
|
153
153
|
if isinstance(n_estimators_final, int):
|
|
154
|
-
|
|
154
|
+
n_estimators = n_estimators_final
|
|
155
155
|
else: # if search space
|
|
156
|
-
|
|
156
|
+
n_estimators = 40
|
|
157
157
|
num_trees_per_estimator = cls._get_num_trees_per_estimator_static(problem_type=problem_type, num_classes=num_classes)
|
|
158
158
|
bytes_per_estimator = num_trees_per_estimator * len(X) / 60000 * 1e6 # Underestimates by 3x on ExtraTrees
|
|
159
|
-
|
|
160
|
-
return
|
|
159
|
+
expected_memory_usage = int(bytes_per_estimator * n_estimators)
|
|
160
|
+
return expected_memory_usage
|
|
161
161
|
|
|
162
162
|
def _validate_fit_memory_usage(self, mem_error_threshold: float = 0.5, mem_warning_threshold: float = 0.4, mem_size_threshold: int = 1e7, **kwargs):
|
|
163
163
|
return super()._validate_fit_memory_usage(
|
|
@@ -49,6 +49,7 @@ class TabMModel(AbstractModel):
|
|
|
49
49
|
self._indicator_columns = None
|
|
50
50
|
self._features_bool = None
|
|
51
51
|
self._bool_to_cat = None
|
|
52
|
+
self.device = None
|
|
52
53
|
|
|
53
54
|
def _fit(
|
|
54
55
|
self,
|
|
@@ -87,7 +88,7 @@ class TabMModel(AbstractModel):
|
|
|
87
88
|
if X_val is None:
|
|
88
89
|
from autogluon.core.utils import generate_train_test_split
|
|
89
90
|
|
|
90
|
-
|
|
91
|
+
X, X_val, y, y_val = generate_train_test_split(
|
|
91
92
|
X=X,
|
|
92
93
|
y=y,
|
|
93
94
|
problem_type=self.problem_type,
|
|
@@ -98,7 +99,7 @@ class TabMModel(AbstractModel):
|
|
|
98
99
|
hyp = self._get_model_params()
|
|
99
100
|
bool_to_cat = hyp.pop("bool_to_cat", True)
|
|
100
101
|
|
|
101
|
-
X = self.preprocess(X, is_train=True, bool_to_cat=bool_to_cat)
|
|
102
|
+
X = self.preprocess(X, y=y, is_train=True, bool_to_cat=bool_to_cat)
|
|
102
103
|
if X_val is not None:
|
|
103
104
|
X_val = self.preprocess(X_val)
|
|
104
105
|
|
|
@@ -142,6 +143,81 @@ class TabMModel(AbstractModel):
|
|
|
142
143
|
|
|
143
144
|
return X
|
|
144
145
|
|
|
146
|
+
def save(self, path: str = None, verbose=True) -> str:
|
|
147
|
+
"""
|
|
148
|
+
Need to set device to CPU to be able to load on a non-GPU environment
|
|
149
|
+
"""
|
|
150
|
+
import torch
|
|
151
|
+
|
|
152
|
+
# Save on CPU to ensure the model can be loaded without GPU
|
|
153
|
+
if self.model is not None:
|
|
154
|
+
self.device = self.model.device_
|
|
155
|
+
device_cpu = torch.device("cpu")
|
|
156
|
+
self.model.model_ = self.model.model_.to(device_cpu)
|
|
157
|
+
self.model.device_ = device_cpu
|
|
158
|
+
path = super().save(path=path, verbose=verbose)
|
|
159
|
+
# Put the model back to the device after the save
|
|
160
|
+
if self.model is not None:
|
|
161
|
+
self.model.model_.to(self.device)
|
|
162
|
+
self.model.device_ = self.device
|
|
163
|
+
|
|
164
|
+
return path
|
|
165
|
+
|
|
166
|
+
@classmethod
|
|
167
|
+
def load(cls, path: str, reset_paths=True, verbose=True):
|
|
168
|
+
"""
|
|
169
|
+
Loads the model from disk to memory.
|
|
170
|
+
The loaded model will be on the same device it was trained on (cuda/mps);
|
|
171
|
+
if the device is not available (trained on GPU, deployed on CPU), then `cpu` will be used.
|
|
172
|
+
|
|
173
|
+
Parameters
|
|
174
|
+
----------
|
|
175
|
+
path : str
|
|
176
|
+
Path to the saved model, minus the file name.
|
|
177
|
+
This should generally be a directory path ending with a '/' character (or appropriate path separator value depending on OS).
|
|
178
|
+
The model file is typically located in os.path.join(path, cls.model_file_name).
|
|
179
|
+
reset_paths : bool, default True
|
|
180
|
+
Whether to reset the self.path value of the loaded model to be equal to path.
|
|
181
|
+
It is highly recommended to keep this value as True unless accessing the original self.path value is important.
|
|
182
|
+
If False, the actual valid path and self.path may differ, leading to strange behaviour and potential exceptions if the model needs to load any other files at a later time.
|
|
183
|
+
verbose : bool, default True
|
|
184
|
+
Whether to log the location of the loaded file.
|
|
185
|
+
|
|
186
|
+
Returns
|
|
187
|
+
-------
|
|
188
|
+
model : cls
|
|
189
|
+
Loaded model object.
|
|
190
|
+
"""
|
|
191
|
+
import torch
|
|
192
|
+
|
|
193
|
+
model: TabMModel = super().load(path=path, reset_paths=reset_paths, verbose=verbose)
|
|
194
|
+
|
|
195
|
+
# Put the model on the same device it was trained on (GPU/MPS) if it is available; otherwise use CPU
|
|
196
|
+
if model.model is not None:
|
|
197
|
+
original_device_type = model.device.type
|
|
198
|
+
if "cuda" in original_device_type:
|
|
199
|
+
# cuda: nvidia GPU
|
|
200
|
+
device = torch.device(original_device_type if torch.cuda.is_available() else "cpu")
|
|
201
|
+
elif "mps" in original_device_type:
|
|
202
|
+
# mps: Apple Silicon
|
|
203
|
+
device = torch.device(original_device_type if torch.backends.mps.is_available() else "cpu")
|
|
204
|
+
else:
|
|
205
|
+
device = torch.device(original_device_type)
|
|
206
|
+
|
|
207
|
+
if verbose and (original_device_type != device.type):
|
|
208
|
+
logger.log(15, f"Model is trained on {original_device_type}, but the device is not available - loading on {device.type}")
|
|
209
|
+
|
|
210
|
+
model.set_device(device=device)
|
|
211
|
+
|
|
212
|
+
return model
|
|
213
|
+
|
|
214
|
+
def set_device(self, device):
|
|
215
|
+
self.device = device
|
|
216
|
+
if self.model is not None:
|
|
217
|
+
self.model.device_ = device
|
|
218
|
+
if self.model.model_ is not None:
|
|
219
|
+
self.model.model_ = self.model.model_.to(device)
|
|
220
|
+
|
|
145
221
|
@classmethod
|
|
146
222
|
def supported_problem_types(cls) -> list[str] | None:
|
|
147
223
|
return ["binary", "multiclass", "regression"]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from ..lgb.lgb_model import LGBModel
|
|
4
|
+
from .prep_mixin import ModelAgnosticPrepMixin
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class PrepLGBModel(ModelAgnosticPrepMixin, LGBModel):
|
|
8
|
+
ag_key = "GBM_PREP"
|
|
9
|
+
ag_name = "LightGBMPrep"
|
|
10
|
+
|
|
11
|
+
@classmethod
|
|
12
|
+
def _estimate_memory_usage_static(cls, **kwargs) -> int:
|
|
13
|
+
memory_usage = super()._estimate_memory_usage_static(**kwargs)
|
|
14
|
+
# FIXME: 1.5 runs OOM on kddcup09_appetency fold 2 repeat 0 prep_LightGBM_r49_BAG_L1
|
|
15
|
+
return memory_usage * 2.0 # FIXME: For some reason this underestimates mem usage without this
|
|
16
|
+
|
|
17
|
+
@classmethod
|
|
18
|
+
def _estimate_memory_usage_static_lite(cls, **kwargs) -> int:
|
|
19
|
+
memory_usage = super()._estimate_memory_usage_static_lite(**kwargs)
|
|
20
|
+
# FIXME: 1.5 runs OOM on kddcup09_appetency fold 2 repeat 0 prep_LightGBM_r49_BAG_L1
|
|
21
|
+
return memory_usage * 2.0 # FIXME: For some reason this underestimates mem usage without this
|