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.
Files changed (213) hide show
  1. {autogluon_tabular-1.4.1b20251116/src/autogluon.tabular.egg-info → autogluon_tabular-1.4.1b20251217}/PKG-INFO +50 -50
  2. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/README.md +7 -4
  3. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/setup.py +10 -23
  4. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/learner/default_learner.py +1 -0
  5. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/__init__.py +1 -0
  6. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/catboost_model.py +1 -1
  7. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/lgb_model.py +58 -8
  8. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/lgb_utils.py +2 -2
  9. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/rf_model.py +4 -4
  10. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabm/tabm_model.py +78 -2
  11. autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/tabprep/prep_lgb_model.py +21 -0
  12. autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/models/tabprep/prep_mixin.py +220 -0
  13. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/torch/tabular_nn_torch.py +1 -2
  14. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/predictor/predictor.py +2 -1
  15. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/registry/_ag_model_registry.py +2 -0
  16. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/trainer/abstract_trainer.py +9 -3
  17. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/trainer/auto_trainer.py +4 -0
  18. autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/tuning/__init__.py +0 -0
  19. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/version.py +1 -1
  20. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217/src/autogluon.tabular.egg-info}/PKG-INFO +50 -50
  21. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/SOURCES.txt +3 -0
  22. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/requires.txt +44 -49
  23. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/LICENSE +0 -0
  24. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/NOTICE +0 -0
  25. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/setup.cfg +0 -0
  26. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/__init__.py +0 -0
  27. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/__init__.py +0 -0
  28. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/config_helper.py +0 -0
  29. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/feature_generator_presets.py +0 -0
  30. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/hyperparameter_configs.py +0 -0
  31. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/pipeline_presets.py +0 -0
  32. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/presets_configs.py +0 -0
  33. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/zeroshot/__init__.py +0 -0
  34. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/zeroshot/zeroshot_portfolio_2023.py +0 -0
  35. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/configs/zeroshot/zeroshot_portfolio_2025.py +0 -0
  36. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/experimental/__init__.py +0 -0
  37. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/experimental/_scikit_mixin.py +0 -0
  38. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/experimental/_tabular_classifier.py +0 -0
  39. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/experimental/_tabular_regressor.py +0 -0
  40. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/experimental/plot_leaderboard.py +0 -0
  41. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/learner/__init__.py +0 -0
  42. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/learner/abstract_learner.py +0 -0
  43. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/_utils/__init__.py +0 -0
  44. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/_utils/rapids_utils.py +0 -0
  45. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/_utils/torch_utils.py +0 -0
  46. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/automm/__init__.py +0 -0
  47. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/automm/automm_model.py +0 -0
  48. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/automm/ft_transformer.py +0 -0
  49. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/__init__.py +0 -0
  50. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/callbacks.py +0 -0
  51. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/catboost_softclass_utils.py +0 -0
  52. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/catboost_utils.py +0 -0
  53. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/hyperparameters/__init__.py +0 -0
  54. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/hyperparameters/parameters.py +0 -0
  55. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/catboost/hyperparameters/searchspaces.py +0 -0
  56. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/ebm/__init__.py +0 -0
  57. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/ebm/ebm_model.py +0 -0
  58. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/ebm/hyperparameters/__init__.py +0 -0
  59. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/ebm/hyperparameters/parameters.py +0 -0
  60. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/ebm/hyperparameters/searchspaces.py +0 -0
  61. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/__init__.py +0 -0
  62. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/callbacks.py +0 -0
  63. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/fastai_helpers.py +0 -0
  64. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/hyperparameters/__init__.py +0 -0
  65. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/hyperparameters/parameters.py +0 -0
  66. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/hyperparameters/searchspaces.py +0 -0
  67. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/imports_helper.py +0 -0
  68. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/quantile_helpers.py +0 -0
  69. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fastainn/tabular_nn_fastai.py +0 -0
  70. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fasttext/__init__.py +0 -0
  71. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fasttext/fasttext_model.py +0 -0
  72. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fasttext/hyperparameters/__init__.py +0 -0
  73. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/fasttext/hyperparameters/parameters.py +0 -0
  74. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/image_prediction/__init__.py +0 -0
  75. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/image_prediction/image_predictor.py +0 -0
  76. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/imodels/__init__.py +0 -0
  77. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/imodels/imodels_models.py +0 -0
  78. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/knn/__init__.py +0 -0
  79. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/knn/_knn_loo_variants.py +0 -0
  80. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/knn/knn_model.py +0 -0
  81. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/knn/knn_rapids_model.py +0 -0
  82. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/knn/knn_utils.py +0 -0
  83. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/__init__.py +0 -0
  84. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/callbacks.py +0 -0
  85. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/hyperparameters/__init__.py +0 -0
  86. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/hyperparameters/parameters.py +0 -0
  87. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lgb/hyperparameters/searchspaces.py +0 -0
  88. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/__init__.py +0 -0
  89. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/hyperparameters/__init__.py +0 -0
  90. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/hyperparameters/parameters.py +0 -0
  91. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/hyperparameters/searchspaces.py +0 -0
  92. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/lr_model.py +0 -0
  93. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/lr_preprocessing_utils.py +0 -0
  94. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/lr/lr_rapids_model.py +0 -0
  95. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/__init__.py +0 -0
  96. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/__init__.py +0 -0
  97. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/config/__init__.py +0 -0
  98. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/config/config_pretrain.py +0 -0
  99. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/config/config_run.py +0 -0
  100. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/config/enums.py +0 -0
  101. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/__init__.py +0 -0
  102. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/callbacks.py +0 -0
  103. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/get_loss.py +0 -0
  104. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/get_optimizer.py +0 -0
  105. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/get_scheduler.py +0 -0
  106. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/prediction_metrics.py +0 -0
  107. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/core/trainer_finetune.py +0 -0
  108. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/data/__init__.py +0 -0
  109. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/data/collator.py +0 -0
  110. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/data/dataset_finetune.py +0 -0
  111. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/data/dataset_split.py +0 -0
  112. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/data/preprocessor.py +0 -0
  113. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/models/__init__.py +0 -0
  114. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/models/base.py +0 -0
  115. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/models/embedding.py +0 -0
  116. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/models/tab2d.py +0 -0
  117. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/utils/__init__.py +0 -0
  118. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/_internal/utils/set_seed.py +0 -0
  119. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/mitra_model.py +0 -0
  120. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/mitra/sklearn_interface.py +0 -0
  121. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/realmlp/__init__.py +0 -0
  122. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/realmlp/realmlp_model.py +0 -0
  123. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/__init__.py +0 -0
  124. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/compilers/__init__.py +0 -0
  125. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/compilers/native.py +0 -0
  126. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/compilers/onnx.py +0 -0
  127. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/rf_quantile.py +0 -0
  128. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/rf/rf_rapids_model.py +0 -0
  129. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabicl/__init__.py +0 -0
  130. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabicl/tabicl_model.py +0 -0
  131. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabm/__init__.py +0 -0
  132. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabm/_tabm_internal.py +0 -0
  133. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabm/rtdl_num_embeddings.py +0 -0
  134. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabm/tabm_reference.py +0 -0
  135. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/__init__.py +0 -0
  136. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/__init__.py +0 -0
  137. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/config/__init__.py +0 -0
  138. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/config/config_run.py +0 -0
  139. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/__init__.py +0 -0
  140. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/callbacks.py +0 -0
  141. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/collator.py +0 -0
  142. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/dataset_split.py +0 -0
  143. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/enums.py +0 -0
  144. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/get_loss.py +0 -0
  145. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/get_optimizer.py +0 -0
  146. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/get_scheduler.py +0 -0
  147. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/trainer_finetune.py +0 -0
  148. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/core/y_transformer.py +0 -0
  149. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/data/__init__.py +0 -0
  150. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/data/dataset_finetune.py +0 -0
  151. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/data/preprocessor.py +0 -0
  152. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/models/__init__.py +0 -0
  153. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/models/foundation/__init__.py +0 -0
  154. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/models/foundation/embedding.py +0 -0
  155. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/models/foundation/foundation_transformer.py +0 -0
  156. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/results/__init__.py +0 -0
  157. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/results/prediction_metrics.py +0 -0
  158. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/tabpfnmix_classifier.py +0 -0
  159. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/_internal/tabpfnmix_regressor.py +0 -0
  160. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnmix/tabpfnmix_model.py +0 -0
  161. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/__init__.py +0 -0
  162. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/__init__.py +0 -0
  163. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/configs.py +0 -0
  164. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/scoring_utils.py +0 -0
  165. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/sklearn_based_decision_tree_tabpfn.py +0 -0
  166. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/sklearn_based_random_forest_tabpfn.py +0 -0
  167. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/sklearn_compat.py +0 -0
  168. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/rfpfn/utils.py +0 -0
  169. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabpfnv2/tabpfnv2_model.py +0 -0
  170. {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
  171. {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
  172. {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
  173. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/compilers/native.py +0 -0
  174. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/compilers/onnx.py +0 -0
  175. {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
  176. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/hyperparameters/parameters.py +0 -0
  177. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/hyperparameters/searchspaces.py +0 -0
  178. {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
  179. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/torch/tabular_torch_dataset.py +0 -0
  180. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/torch/torch_network_modules.py +0 -0
  181. {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
  182. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/utils/categorical_encoders.py +0 -0
  183. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/utils/data_preprocessor.py +0 -0
  184. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/tabular_nn/utils/nn_architecture_utils.py +0 -0
  185. {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
  186. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/text_prediction/text_prediction_v1_model.py +0 -0
  187. {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
  188. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xgboost/callbacks.py +0 -0
  189. {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
  190. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xgboost/hyperparameters/parameters.py +0 -0
  191. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xgboost/hyperparameters/searchspaces.py +0 -0
  192. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xgboost/xgboost_model.py +0 -0
  193. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xgboost/xgboost_utils.py +0 -0
  194. {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
  195. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/models/xt/xt_model.py +0 -0
  196. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/predictor/__init__.py +0 -0
  197. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/predictor/interpretable_predictor.py +0 -0
  198. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/registry/__init__.py +0 -0
  199. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/registry/_model_registry.py +0 -0
  200. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/testing/__init__.py +0 -0
  201. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/testing/fit_helper.py +0 -0
  202. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/testing/generate_datasets.py +0 -0
  203. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/testing/model_fit_helper.py +0 -0
  204. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/trainer/__init__.py +0 -0
  205. {autogluon_tabular-1.4.1b20251116/src/autogluon/tabular/tuning → autogluon_tabular-1.4.1b20251217/src/autogluon/tabular/trainer/model_presets}/__init__.py +0 -0
  206. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/trainer/model_presets/presets.py +0 -0
  207. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/trainer/model_presets/presets_distill.py +0 -0
  208. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon/tabular/tuning/feature_pruner.py +0 -0
  209. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/dependency_links.txt +0 -0
  210. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/namespace_packages.txt +0 -0
  211. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/top_level.txt +0 -0
  212. {autogluon_tabular-1.4.1b20251116 → autogluon_tabular-1.4.1b20251217}/src/autogluon.tabular.egg-info/zip-safe +0 -0
  213. {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.1b20251116
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.9, <3.13
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.1b20251116
44
- Requires-Dist: autogluon.features==1.4.1b20251116
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.8,>=2.6; extra == "fastai"
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.8,>=2.6; extra == "tabm"
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.8,>=2.6; extra == "tabpfnmix"
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.8,>=2.6; extra == "mitra"
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.1b20251116; extra == "ray"
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: onnx<1.16.2,>=1.13.0; platform_system == "Windows" and extra == "skl2onnx"
87
- Requires-Dist: onnx<1.18.0,>=1.13.0; platform_system != "Windows" and extra == "skl2onnx"
88
- Requires-Dist: skl2onnx<1.18.0,>=1.15.0; extra == "skl2onnx"
89
- Requires-Dist: onnxruntime<1.20.0,>=1.17.0; extra == "skl2onnx"
90
- Requires-Dist: onnxruntime-gpu<1.20.0,>=1.17.0; extra == "skl2onnx"
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: einops<0.9,>=0.7; extra == "all"
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: autogluon.core[all]==1.4.1b20251116; extra == "all"
103
- Requires-Dist: huggingface_hub[torch]<1.0; extra == "all"
104
- Requires-Dist: torch<2.8,>=2.6; extra == "all"
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: torch<2.8,>=2.6; extra == "tabarena"
113
- Requires-Dist: lightgbm<4.7,>=4.0; extra == "tabarena"
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: interpret-core<0.8,>=0.7.2; extra == "tabarena"
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: blis<1.2.1,>=0.7.0; (platform_system == "Windows" and python_version == "3.9") and extra == "tabarena"
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: huggingface_hub[torch]<1.0; extra == "tabarena"
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.8,>=2.6; extra == "tests"
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: onnx<1.16.2,>=1.13.0; platform_system == "Windows" and extra == "tests"
137
- Requires-Dist: onnx<1.18.0,>=1.13.0; platform_system != "Windows" and extra == "tests"
138
- Requires-Dist: skl2onnx<1.18.0,>=1.15.0; extra == "tests"
139
- Requires-Dist: onnxruntime<1.20.0,>=1.17.0; extra == "tests"
140
- Requires-Dist: onnxruntime-gpu<1.20.0,>=1.17.0; extra == "tests"
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
  [![Latest Release](https://img.shields.io/github/v/release/autogluon/autogluon)](https://github.com/autogluon/autogluon/releases)
162
159
  [![Conda Forge](https://img.shields.io/conda/vn/conda-forge/autogluon.svg)](https://anaconda.org/conda-forge/autogluon)
163
- [![Python Versions](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue)](https://pypi.org/project/autogluon/)
160
+ [![Python Versions](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue)](https://pypi.org/project/autogluon/)
164
161
  [![Downloads](https://pepy.tech/badge/autogluon/month)](https://pepy.tech/project/autogluon)
165
162
  [![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)
166
163
  [![Discord](https://img.shields.io/discord/1043248669505368144?color=7289da&label=Discord&logo=discord&logoColor=ffffff)](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.9 - 3.12 and is available on Linux, MacOS, and Windows.
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 | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/tabular/tabular-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://auto.gluon.ai/stable/api/autogluon.tabular.TabularPredictor.html) |
203
- | MultiModalPredictor | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://auto.gluon.ai/stable/api/autogluon.multimodal.MultiModalPredictor.html) |
204
200
  | TimeSeriesPredictor | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/timeseries/forecasting-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://auto.gluon.ai/stable/api/autogluon.timeseries.TimeSeriesPredictor.html) |
201
+ | MultiModalPredictor | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](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) (*Under Review*, 2024)
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
  [![Latest Release](https://img.shields.io/github/v/release/autogluon/autogluon)](https://github.com/autogluon/autogluon/releases)
9
9
  [![Conda Forge](https://img.shields.io/conda/vn/conda-forge/autogluon.svg)](https://anaconda.org/conda-forge/autogluon)
10
- [![Python Versions](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue)](https://pypi.org/project/autogluon/)
10
+ [![Python Versions](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue)](https://pypi.org/project/autogluon/)
11
11
  [![Downloads](https://pepy.tech/badge/autogluon/month)](https://pepy.tech/project/autogluon)
12
12
  [![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)
13
13
  [![Discord](https://img.shields.io/discord/1043248669505368144?color=7289da&label=Discord&logo=discord&logoColor=ffffff)](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.9 - 3.12 and is available on Linux, MacOS, and Windows.
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 | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/tabular/tabular-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://auto.gluon.ai/stable/api/autogluon.tabular.TabularPredictor.html) |
50
- | MultiModalPredictor | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://auto.gluon.ai/stable/api/autogluon.multimodal.MultiModalPredictor.html) |
51
50
  | TimeSeriesPredictor | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/timeseries/forecasting-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://auto.gluon.ai/stable/api/autogluon.timeseries.TimeSeriesPredictor.html) |
51
+ | MultiModalPredictor | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](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) (*Under Review*, 2024)
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
- is_aarch64 = platform.machine() == "aarch64"
97
- is_darwin = sys.platform == "darwin"
98
-
99
- if is_darwin or is_aarch64:
100
- # For macOS or aarch64, only use CPU version
101
- extras_require["skl2onnx"] = [
102
- "onnx>=1.13.0,<1.16.2;platform_system=='Windows'", # cap at 1.16.1 for issue https://github.com/onnx/onnx/issues/6267
103
- "onnx>=1.13.0,<1.18.0;platform_system!='Windows'",
104
- "skl2onnx>=1.15.0,<1.18.0",
105
- # For macOS, there isn't a onnxruntime-gpu package installed with skl2onnx.
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 * len(X.columns) * num_leaves
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, 1000)
128
- mem_size_estimators = n_estimators_min * mem_size_per_estimator # memory estimate after fitting up to 1000 estimators
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, y=y, location=os.path.join("self.path", "datasets", "train"), params=data_params, save=save, weight=sample_weight
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
- n_estimators_minimum = min(40, n_estimators_final)
154
+ n_estimators = n_estimators_final
155
155
  else: # if search space
156
- n_estimators_minimum = 40
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
- expected_min_memory_usage = int(bytes_per_estimator * n_estimators_minimum)
160
- return expected_min_memory_usage
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
- X_train, X_val, y_train, y_val = generate_train_test_split(
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