autogluon.tabular 1.2.1b20250116__py3-none-any.whl → 1.2.1b20250130__py3-none-any.whl

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 (23) hide show
  1. autogluon/tabular/experimental/_tabular_classifier.py +1 -3
  2. autogluon/tabular/experimental/_tabular_regressor.py +1 -3
  3. autogluon/tabular/models/_utils/rapids_utils.py +1 -1
  4. autogluon/tabular/models/catboost/callbacks.py +41 -13
  5. autogluon/tabular/models/fastainn/tabular_nn_fastai.py +2 -2
  6. autogluon/tabular/models/lgb/lgb_utils.py +2 -2
  7. autogluon/tabular/models/tab_transformer/modified_transformer.py +3 -3
  8. autogluon/tabular/models/tab_transformer/pretexts.py +4 -4
  9. autogluon/tabular/models/tab_transformer/tab_transformer_encoder.py +4 -4
  10. autogluon/tabular/models/tabular_nn/torch/tabular_torch_dataset.py +2 -2
  11. autogluon/tabular/predictor/_deprecated_methods.py +5 -7
  12. autogluon/tabular/predictor/predictor.py +43 -43
  13. autogluon/tabular/trainer/auto_trainer.py +5 -6
  14. autogluon/tabular/version.py +1 -1
  15. {autogluon.tabular-1.2.1b20250116.dist-info → autogluon.tabular-1.2.1b20250130.dist-info}/METADATA +11 -9
  16. {autogluon.tabular-1.2.1b20250116.dist-info → autogluon.tabular-1.2.1b20250130.dist-info}/RECORD +23 -23
  17. /autogluon.tabular-1.2.1b20250116-py3.8-nspkg.pth → /autogluon.tabular-1.2.1b20250130-py3.9-nspkg.pth +0 -0
  18. {autogluon.tabular-1.2.1b20250116.dist-info → autogluon.tabular-1.2.1b20250130.dist-info}/LICENSE +0 -0
  19. {autogluon.tabular-1.2.1b20250116.dist-info → autogluon.tabular-1.2.1b20250130.dist-info}/NOTICE +0 -0
  20. {autogluon.tabular-1.2.1b20250116.dist-info → autogluon.tabular-1.2.1b20250130.dist-info}/WHEEL +0 -0
  21. {autogluon.tabular-1.2.1b20250116.dist-info → autogluon.tabular-1.2.1b20250130.dist-info}/namespace_packages.txt +0 -0
  22. {autogluon.tabular-1.2.1b20250116.dist-info → autogluon.tabular-1.2.1b20250130.dist-info}/top_level.txt +0 -0
  23. {autogluon.tabular-1.2.1b20250116.dist-info → autogluon.tabular-1.2.1b20250130.dist-info}/zip-safe +0 -0
@@ -1,7 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import List
4
-
5
3
  import pandas as pd
6
4
  from sklearn.base import BaseEstimator, ClassifierMixin
7
5
  from sklearn.utils.multiclass import unique_labels
@@ -18,7 +16,7 @@ class TabularClassifier(BaseEstimator, ClassifierMixin, ScikitMixin):
18
16
  self,
19
17
  eval_metric: str | Scorer = None,
20
18
  time_limit: float = None,
21
- presets: List[str] | str = None,
19
+ presets: list[str] | str = None,
22
20
  hyperparameters: dict | str = None,
23
21
  path: str = None,
24
22
  verbosity: int = 2,
@@ -1,7 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import List
4
-
5
3
  import pandas as pd
6
4
  from sklearn.base import BaseEstimator, RegressorMixin
7
5
  from sklearn.utils.validation import check_array, check_is_fitted, check_X_y
@@ -17,7 +15,7 @@ class TabularRegressor(BaseEstimator, RegressorMixin, ScikitMixin):
17
15
  self,
18
16
  eval_metric: str | Scorer = None,
19
17
  time_limit: float = None,
20
- presets: List[str] | str = None,
18
+ presets: list[str] | str = None,
21
19
  hyperparameters: dict | str = None,
22
20
  path: str = None,
23
21
  verbosity: int = 2,
@@ -4,7 +4,7 @@ from autogluon.common.utils.resource_utils import ResourceManager
4
4
 
5
5
 
6
6
  class RapidsModelMixin:
7
- """Mixin class for methods re-used across RAPIDS models"""
7
+ """Mixin class for methods reused across RAPIDS models"""
8
8
 
9
9
  # FIXME: Efficient OOF doesn't work in RAPIDS
10
10
  @classmethod
@@ -39,37 +39,65 @@ class MemoryCheckCallback:
39
39
  return False
40
40
  return True
41
41
 
42
- def memory_check(self, iter) -> bool:
43
- """Checks if memory usage is unsafe. If so, then returns True to signal the model to stop training early."""
42
+ def memory_check(self, iter: int) -> bool:
43
+ """
44
+ Checks if memory usage is unsafe. If so, signals the model to stop training early.
45
+
46
+ Parameters
47
+ ----------
48
+ iter: int
49
+ The current training iteration.
50
+
51
+ Returns
52
+ -------
53
+ bool: True if training should stop due to memory constraints, False otherwise.
54
+ """
44
55
  available_bytes = ResourceManager.get_available_virtual_mem()
45
56
  cur_rss = ResourceManager.get_memory_rss()
46
57
 
58
+ # Update initial memory usage if current usage is lower
47
59
  if cur_rss < self.init_mem_rss:
48
60
  self.init_mem_rss = cur_rss
49
- estimated_model_size_mb = (cur_rss - self.init_mem_rss) >> 20
50
- available_mb = available_bytes >> 20
51
- model_size_memory_ratio = estimated_model_size_mb / available_mb
52
61
 
62
+ # Convert memory values to MB
63
+ estimated_model_size_mb = (cur_rss - self.init_mem_rss) / (1024 ** 2)
64
+ available_mb = available_bytes / (1024 ** 2)
65
+
66
+ model_size_memory_ratio = estimated_model_size_mb / available_mb
53
67
  early_stop = False
68
+
54
69
  if model_size_memory_ratio > 1.0:
55
- logger.warning(f"Warning: Large model size may cause OOM error if training continues")
70
+ logger.warning(
71
+ f"Iteration {iter}: Model size exceeds available memory. "
72
+ f"Available memory: {available_mb:.2f} MB, "
73
+ f"Estimated model size: {estimated_model_size_mb:.2f} MB."
74
+ )
56
75
  early_stop = True
57
76
 
58
- if available_mb < 512: # Less than 500 MB
59
- logger.warning(f"Warning: Low available memory may cause OOM error if training continues")
77
+ if available_mb < 512: # Less than 512 MB
78
+ logger.warning(
79
+ f"Iteration {iter}: Low available memory (<512 MB). "
80
+ f"Available memory: {available_mb:.2f} MB, "
81
+ f"Estimated model size: {estimated_model_size_mb:.2f} MB."
82
+ )
60
83
  early_stop = True
61
84
 
62
85
  if early_stop:
63
86
  logger.warning(
64
- "Warning: Early stopped model prior to optimal result to avoid OOM error. " "Please increase available memory to avoid subpar model quality."
87
+ "Early stopping model prior to optimal result to avoid OOM error. "
88
+ "Please increase available memory to avoid subpar model quality."
65
89
  )
66
- logger.warning(f"Available Memory: {available_mb} MB, Estimated Model size: {estimated_model_size_mb} MB")
67
90
  return True
68
- elif self.verbose or (model_size_memory_ratio > 0.25):
69
- logging.debug(f"Available Memory: {available_mb} MB, Estimated Model size: {estimated_model_size_mb} MB")
91
+ elif self.verbose or model_size_memory_ratio > 0.25:
92
+ logger.debug(
93
+ f"Iteration {iter}: "
94
+ f"Available memory: {available_mb:.2f} MB, "
95
+ f"Estimated model size: {estimated_model_size_mb:.2f} MB."
96
+ )
70
97
 
98
+ # Adjust memory check frequency based on model size
71
99
  if model_size_memory_ratio > 0.5:
72
- self._cur_period = 1 # Increase rate of memory check if model gets large enough to cause OOM potentially
100
+ self._cur_period = 1 # Increase frequency of memory checks
73
101
  elif iter > self.period:
74
102
  self._cur_period = self.period
75
103
 
@@ -8,7 +8,7 @@ import warnings
8
8
  from builtins import classmethod
9
9
  from functools import partial
10
10
  from pathlib import Path
11
- from typing import Dict, Union
11
+ from typing import Union
12
12
 
13
13
  import numpy as np
14
14
  import pandas as pd
@@ -628,7 +628,7 @@ class NNFastAiTabularModel(AbstractModel):
628
628
  """Choose which backend(Ray or Custom) to use for hpo"""
629
629
  return RAY_BACKEND
630
630
 
631
- def _get_maximum_resources(self) -> Dict[str, Union[int, float]]:
631
+ def _get_maximum_resources(self) -> dict[str, Union[int, float]]:
632
632
  # fastai model trains slower when utilizing virtual cores and this issue scale up when the number of cpu cores increases
633
633
  return {"num_cpus": ResourceManager.get_cpu_count_psutil(logical=False)}
634
634
 
@@ -1,7 +1,7 @@
1
1
  import copy
2
2
  import os
3
3
  import time
4
- from typing import List, Optional
4
+ from typing import Optional
5
5
 
6
6
  import numpy as np
7
7
  from pandas import DataFrame, Series
@@ -137,7 +137,7 @@ def train_lgb_model(early_stopping_callback_kwargs=None, **train_params):
137
137
  class QuantileBooster:
138
138
  """Wrapper that trains a separate LGBM Booster for each quantile level."""
139
139
 
140
- def __init__(self, quantile_levels: List[float], early_stopping_callback_kwargs: Optional[dict] = None):
140
+ def __init__(self, quantile_levels: list[float], early_stopping_callback_kwargs: Optional[dict] = None):
141
141
  if quantile_levels is None:
142
142
  raise AssertionError
143
143
  if not all(0 < q < 1 for q in quantile_levels):
@@ -6,7 +6,7 @@ The modification allows the option of fixing the attention map
6
6
  """
7
7
 
8
8
  import math
9
- from typing import Optional, Tuple
9
+ from typing import Optional
10
10
 
11
11
  import torch
12
12
  import torch.nn.functional as F
@@ -54,7 +54,7 @@ def multi_head_attention_forward(
54
54
  static_k=None, # type: Optional[Tensor]
55
55
  static_v=None, # type: Optional[Tensor]
56
56
  ):
57
- # type: (...) -> Tuple[Tensor, Optional[Tensor]]
57
+ # type: (...) -> tuple[Tensor, Optional[Tensor]]
58
58
  """
59
59
  Args:
60
60
  query, key, value: map a query and a set of key-value pairs to an output.
@@ -288,7 +288,7 @@ class MultiheadAttention(Module):
288
288
  super().__setstate__(state)
289
289
 
290
290
  def forward(self, query, key, value, key_padding_mask=None, need_weights=True, attn_mask=None):
291
- # type: (Tensor, Tensor, Tensor, Optional[Tensor], bool, Optional[Tensor]) -> Tuple[Tensor, Optional[Tensor]]
291
+ # type: (Tensor, Tensor, Tensor, Optional[Tensor], bool, Optional[Tensor]) -> tuple[Tensor, Optional[Tensor]]
292
292
  """
293
293
  Args:
294
294
  query, key, value: map a query and a set of key-value pairs to an output.
@@ -111,8 +111,8 @@ class BERTPretext(nn.Module):
111
111
  assert torch.all(cat_feats[extra_replace] == orig_cat_feats[extra_replace]).item() is True
112
112
  extra_plus1 = cat_feats[extra_replace] + 1
113
113
  extra_minus1 = cat_feats[extra_replace] - 1
114
- extra_zero_padd_idx = extra_minus1 == 0
115
- extra_minus1[extra_zero_padd_idx] = extra_plus1[extra_zero_padd_idx]
114
+ extra_zero_pad_idx = extra_minus1 == 0
115
+ extra_minus1[extra_zero_pad_idx] = extra_plus1[extra_zero_pad_idx]
116
116
 
117
117
  cat_feats[extra_replace] = extra_minus1
118
118
  assert torch.all(~(cat_feats[extra_replace] == orig_cat_feats[extra_replace])).item() is True
@@ -135,8 +135,8 @@ class BERTPretext(nn.Module):
135
135
  assert torch.all(cat_feats[extra_replace] == orig_cat_feats[extra_replace]).item() is True
136
136
  extra_plus1 = cat_feats[extra_replace] + 1
137
137
  extra_minus1 = cat_feats[extra_replace] - 1
138
- extra_zero_padd_idx = extra_minus1 == 0
139
- extra_minus1[extra_zero_padd_idx] = extra_plus1[extra_zero_padd_idx]
138
+ extra_zero_pad_idx = extra_minus1 == 0
139
+ extra_minus1[extra_zero_pad_idx] = extra_plus1[extra_zero_pad_idx]
140
140
 
141
141
  cat_feats[extra_replace] = extra_minus1
142
142
  assert torch.all(~(cat_feats[extra_replace] == orig_cat_feats[extra_replace])).item() is True
@@ -7,7 +7,7 @@ import re
7
7
  from collections import Counter
8
8
  from datetime import date, datetime
9
9
  from functools import partial
10
- from typing import Iterable, List, Union
10
+ from typing import Iterable, Union
11
11
 
12
12
  import numpy as np
13
13
  import pandas as pd
@@ -514,7 +514,7 @@ class EmbeddingInitializer(nn.Module):
514
514
  :param drop_whole_embeddings:
515
515
  If True, dropout pretends the embedding was a missing value. If false, dropout sets embed features to 0
516
516
  :param one_hot:
517
- If True, one-hot encode variables whose cardinality is < max_emb_dim. Also, set reqiures_grad = False
517
+ If True, one-hot encode variables whose cardinality is < max_emb_dim. Also, set requires_grad = False
518
518
  :param out_dim:
519
519
  If None, return the embedding straight from self.embed. If another dimension, put the embedding through a
520
520
  Linear layer to make it size (batch x out_dim).
@@ -624,7 +624,7 @@ def add_datepart(df: DataFrame, field_name: str, prefix: str = None, drop: bool
624
624
  return df
625
625
 
626
626
 
627
- def cyclic_dt_feat_names(time: bool = True, add_linear: bool = False) -> List[str]:
627
+ def cyclic_dt_feat_names(time: bool = True, add_linear: bool = False) -> list[str]:
628
628
  "Return feature names of date/time cycles as produced by `cyclic_dt_features`."
629
629
  fs = ["cos", "sin"]
630
630
  attr = [f"{r}_{f}" for r in "weekday day_month month_year day_year".split() for f in fs]
@@ -635,7 +635,7 @@ def cyclic_dt_feat_names(time: bool = True, add_linear: bool = False) -> List[st
635
635
  return attr
636
636
 
637
637
 
638
- def cyclic_dt_features(d: Union[date, datetime], time: bool = True, add_linear: bool = False) -> List[float]:
638
+ def cyclic_dt_features(d: Union[date, datetime], time: bool = True, add_linear: bool = False) -> list[float]:
639
639
  "Calculate the cos and sin of date/time cycles."
640
640
  tt, fs = d.timetuple(), [np.cos, np.sin]
641
641
  day_year, days_month = tt.tm_yday, calendar.monthrange(d.year, d.month)[1]
@@ -136,7 +136,7 @@ class TabularTorchDataset(torch.utils.data.IterableDataset):
136
136
  load the dataset.
137
137
 
138
138
  Returns a tuple containing (vector_features, embed_features, label).
139
- The length of the tuple depends on `has_vector_features` and `has_embed_feautures` attribute.
139
+ The length of the tuple depends on `has_vector_features` and `has_embed_features` attribute.
140
140
  """
141
141
  idxarray = np.arange(self.num_examples)
142
142
  if self.shuffle:
@@ -154,7 +154,7 @@ class TabularTorchDataset(torch.utils.data.IterableDataset):
154
154
  idx = idxarray[idx]
155
155
 
156
156
  # Generate a tuple that contains (vector_features, embed_features, label).
157
- # The length of the tuple depends on `has_vector_features`, `has_embed_feautures`, and
157
+ # The length of the tuple depends on `has_vector_features`, `has_embed_features`, and
158
158
  # whether the label has been provided.
159
159
  output_list = []
160
160
  if self.has_vector_features:
@@ -1,7 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Dict, List
4
-
5
3
  import numpy as np
6
4
  import pandas as pd
7
5
 
@@ -12,17 +10,17 @@ class TabularPredictorDeprecatedMixin:
12
10
  """Contains deprecated methods from TabularPredictor that shouldn't show up in API documentation."""
13
11
 
14
12
  @Deprecated(min_version_to_warn="0.8.3", min_version_to_error="1.2", version_to_remove="1.2", new="persist")
15
- def persist_models(self, *args, **kwargs) -> List[str]:
13
+ def persist_models(self, *args, **kwargs) -> list[str]:
16
14
  """Deprecated method. Use `persist` instead."""
17
15
  return self.persist(*args, **kwargs)
18
16
 
19
17
  @Deprecated(min_version_to_warn="0.8.3", min_version_to_error="1.2", version_to_remove="1.2", new="unpersist")
20
- def unpersist_models(self, *args, **kwargs) -> List[str]:
18
+ def unpersist_models(self, *args, **kwargs) -> list[str]:
21
19
  """Deprecated method. Use `unpersist` instead."""
22
20
  return self.unpersist(*args, **kwargs)
23
21
 
24
22
  @Deprecated(min_version_to_warn="0.8.3", min_version_to_error="1.2", version_to_remove="1.2", new="model_names")
25
- def get_model_names(self, *args, **kwargs) -> List[str]:
23
+ def get_model_names(self, *args, **kwargs) -> list[str]:
26
24
  """Deprecated method. Use `model_names` instead."""
27
25
  return self.model_names(*args, **kwargs)
28
26
 
@@ -37,7 +35,7 @@ class TabularPredictorDeprecatedMixin:
37
35
  return self.predict_from_proba(*args, **kwargs)
38
36
 
39
37
  @Deprecated(min_version_to_warn="0.8.3", min_version_to_error="1.2", version_to_remove="1.2", new="model_refit_map")
40
- def get_model_full_dict(self, *args, **kwargs) -> Dict[str, str]:
38
+ def get_model_full_dict(self, *args, **kwargs) -> dict[str, str]:
41
39
  """Deprecated method. Use `model_refit_map` instead."""
42
40
  return self.model_refit_map(*args, **kwargs)
43
41
 
@@ -62,6 +60,6 @@ class TabularPredictorDeprecatedMixin:
62
60
  return self.disk_usage()
63
61
 
64
62
  @Deprecated(min_version_to_warn="0.8.3", min_version_to_error="1.2", version_to_remove="1.2", new="model_names(persisted=True)")
65
- def get_model_names_persisted(self) -> List[str]:
63
+ def get_model_names_persisted(self) -> list[str]:
66
64
  """Deprecated method. Use `model_names(persisted=True)` instead."""
67
65
  return self.model_names(persisted=True)
@@ -9,7 +9,7 @@ import pprint
9
9
  import shutil
10
10
  import time
11
11
  import warnings
12
- from typing import overload, Any, Dict, List, Literal, Optional, Tuple, Union
12
+ from typing import overload, Any, Literal, Optional, Union
13
13
 
14
14
  import networkx as nx
15
15
  import numpy as np
@@ -224,7 +224,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
224
224
  )
225
225
  self._learner_type = type(self._learner)
226
226
  self._trainer: AbstractTrainer = None
227
- self._sub_fits: List[str] = []
227
+ self._sub_fits: list[str] = []
228
228
  self._stacked_overfitting_occurred: bool | None = None
229
229
  self._fit_strategy = None
230
230
 
@@ -271,7 +271,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
271
271
  return self._learner.label_cleaner.inv_map
272
272
 
273
273
  @property
274
- def quantile_levels(self) -> List[float]:
274
+ def quantile_levels(self) -> list[float]:
275
275
  return self._learner.quantile_levels
276
276
 
277
277
  @property
@@ -280,7 +280,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
280
280
  return self._learner.eval_metric
281
281
 
282
282
  @property
283
- def original_features(self) -> List[str]:
283
+ def original_features(self) -> list[str]:
284
284
  """Original features user passed in to fit before processing"""
285
285
  self._assert_is_fit()
286
286
  return self._learner.original_features
@@ -400,7 +400,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
400
400
  train_data: pd.DataFrame | str,
401
401
  tuning_data: pd.DataFrame | str = None,
402
402
  time_limit: float = None,
403
- presets: List[str] | str = None,
403
+ presets: list[str] | str = None,
404
404
  hyperparameters: dict | str = None,
405
405
  feature_metadata="infer",
406
406
  infer_limit: float = None,
@@ -414,7 +414,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
414
414
  num_gpus: int | str = "auto",
415
415
  fit_strategy: Literal["sequential", "parallel"] = "sequential",
416
416
  memory_limit: float | str = "auto",
417
- callbacks: List[AbstractCallback] = None,
417
+ callbacks: list[AbstractCallback] = None,
418
418
  **kwargs,
419
419
  ) -> "TabularPredictor":
420
420
  """
@@ -531,7 +531,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
531
531
  Advanced functionality: Bring your own model / Custom model support
532
532
  AutoGluon fully supports custom models. For a detailed tutorial on creating and using custom models with AutoGluon, refer to https://auto.gluon.ai/stable/tutorials/tabular/advanced/tabular-custom-model.html
533
533
  Advanced functionality: Custom stack levels
534
- By default, AutoGluon re-uses the same models and model hyperparameters at each level during stack ensembling.
534
+ By default, AutoGluon reuses the same models and model hyperparameters at each level during stack ensembling.
535
535
  To customize this behaviour, create a hyperparameters dictionary separately for each stack level, and then add them as values to a new dictionary, with keys equal to the stack level.
536
536
  Example: `hyperparameters = {1: {'RF': rf_params1}, 2: {'CAT': [cat_params1, cat_params2], 'NN_TORCH': {}}}`
537
537
  This will result in a stack ensemble that has one custom random forest in level 1 followed by two CatBoost models with custom hyperparameters and a default neural network in level 2, for a total of 4 models.
@@ -737,7 +737,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
737
737
  setting the memory limit (and any other resources) on systems with shared resources that are controlled by the operating system (e.g., SLURM and
738
738
  cgroups). Otherwise, AutoGluon might wrongly assume more resources are available for fitting a model than the operating system allows,
739
739
  which can result in model training failing or being very inefficient.
740
- callbacks : List[AbstractCallback], default = None
740
+ callbacks : list[AbstractCallback], default = None
741
741
  :::{warning}
742
742
  Callbacks are an experimental feature and may change in future releases without warning.
743
743
  Callback support is preliminary and targeted towards developers.
@@ -750,7 +750,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
750
750
  If None, no callback objects will be used.
751
751
 
752
752
  [Note] Callback objects can be mutated in-place by the fit call if they are stateful.
753
- Ensure that you avoid re-using a mutated callback object between multiple fit calls.
753
+ Ensure that you avoid reusing a mutated callback object between multiple fit calls.
754
754
 
755
755
  [Note] Callback objects are deleted from trainer at the end of the fit call. They will not impact operations such as `refit_full` or `fit_extra`.
756
756
  **kwargs :
@@ -1779,9 +1779,9 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
1779
1779
  # TODO: Consider adding infer_limit to fit_extra
1780
1780
  def fit_extra(
1781
1781
  self,
1782
- hyperparameters: str | Dict[str, Any],
1782
+ hyperparameters: str | dict[str, Any],
1783
1783
  time_limit: float = None,
1784
- base_model_names: List[str] = None,
1784
+ base_model_names: list[str] = None,
1785
1785
  fit_weighted_ensemble: bool = True,
1786
1786
  fit_full_last_level_weighted_ensemble: bool = True,
1787
1787
  full_weighted_ensemble_additionally: bool = False,
@@ -1804,7 +1804,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
1804
1804
  dictionary is relative, not absolute.
1805
1805
  time_limit : int, default = None
1806
1806
  Refer to argument documentation in :meth:`TabularPredictor.fit`.
1807
- base_model_names : List[str], default = None
1807
+ base_model_names : list[str], default = None
1808
1808
  The names of the models to use as base models for this fit call.
1809
1809
  Base models will provide their out-of-fold predictions as additional features to the models in `hyperparameters`.
1810
1810
  If specified, all models trained will be stack ensembles.
@@ -2294,7 +2294,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
2294
2294
  # TODO: Consider making calculating this information easier, such as keeping track of meta-info from the latest/original fit call.
2295
2295
  # Currently we use `stack_name == core` to figure out the number of stack levels, but this is somewhat brittle.
2296
2296
  if "num_stack_levels" not in fit_extra_kwargs and not was_fit:
2297
- models_core: List[str] = [m for m, stack_name in self._trainer.get_models_attribute_dict(attribute="stack_name").items() if stack_name == "core"]
2297
+ models_core: list[str] = [m for m, stack_name in self._trainer.get_models_attribute_dict(attribute="stack_name").items() if stack_name == "core"]
2298
2298
  num_stack_levels = max(self._trainer.get_models_attribute_dict(attribute="level", models=models_core).values()) - 1
2299
2299
  fit_extra_kwargs["num_stack_levels"] = num_stack_levels
2300
2300
  if is_labeled:
@@ -2785,7 +2785,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
2785
2785
  display=display,
2786
2786
  )
2787
2787
 
2788
- def learning_curves(self) -> Tuple[dict, dict]:
2788
+ def learning_curves(self) -> tuple[dict, dict]:
2789
2789
  """
2790
2790
  Retrieves learning curves generated during predictor.fit().
2791
2791
  Will not work if the learning_curves flag was not set during training.
@@ -2892,7 +2892,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
2892
2892
  def predict_proba_multi(
2893
2893
  self,
2894
2894
  data: pd.DataFrame = None,
2895
- models: List[str] = None,
2895
+ models: list[str] = None,
2896
2896
  as_pandas: bool = True,
2897
2897
  as_multiclass: bool = True,
2898
2898
  transform_features: bool = True,
@@ -2924,7 +2924,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
2924
2924
  for m in models:
2925
2925
  predict_proba_dict[m] = predictor.predict_proba_oof(model=m)
2926
2926
  ```
2927
- models : List[str], default = None
2927
+ models : list[str], default = None
2928
2928
  The list of models to get predictions for.
2929
2929
  If None, all models that can infer are used.
2930
2930
  as_pandas : bool, default = True
@@ -2972,7 +2972,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
2972
2972
  def predict_multi(
2973
2973
  self,
2974
2974
  data: pd.DataFrame = None,
2975
- models: List[str] = None,
2975
+ models: list[str] = None,
2976
2976
  as_pandas: Literal[True] = True,
2977
2977
  transform_features: bool = True,
2978
2978
  inverse_transform: bool = True,
@@ -2983,7 +2983,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
2983
2983
  def predict_multi(
2984
2984
  self,
2985
2985
  data: pd.DataFrame = None,
2986
- models: List[str] = None,
2986
+ models: list[str] = None,
2987
2987
  *,
2988
2988
  as_pandas: Literal[False],
2989
2989
  transform_features: bool = True,
@@ -2994,7 +2994,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
2994
2994
  def predict_multi(
2995
2995
  self,
2996
2996
  data: pd.DataFrame = None,
2997
- models: List[str] = None,
2997
+ models: list[str] = None,
2998
2998
  as_pandas: bool = True,
2999
2999
  transform_features: bool = True,
3000
3000
  inverse_transform: bool = True,
@@ -3027,7 +3027,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
3027
3027
  for m in models:
3028
3028
  predict_dict[m] = predictor.predict_oof(model=m)
3029
3029
  ```
3030
- models : List[str], default = None
3030
+ models : list[str], default = None
3031
3031
  The list of models to get predictions for.
3032
3032
  If None, all models that can infer are used.
3033
3033
  as_pandas : bool, default = True
@@ -3246,7 +3246,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
3246
3246
  Valid models are listed in this `predictor` by calling `predictor.model_names()`.
3247
3247
  Specifying a `refit_full` model will cause an exception if `data=None`.
3248
3248
  `base_models=None` is a requirement when specifying `model`.
3249
- base_models: List[str], default = None
3249
+ base_models: list[str], default = None
3250
3250
  List of model names to use as base_models for a hypothetical stacker model when generating input features.
3251
3251
  If `None`, then only return generically preprocessed features prior to any model fitting.
3252
3252
  Valid models are listed in this `predictor` by calling `predictor.model_names()`.
@@ -3516,7 +3516,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
3516
3516
  raise ValueError(f'Unknown compiler_configs preset: "{compiler_configs}"')
3517
3517
  self._trainer.compile(model_names=models, with_ancestors=with_ancestors, compiler_configs=compiler_configs)
3518
3518
 
3519
- def persist(self, models="best", with_ancestors=True, max_memory=0.4) -> List[str]:
3519
+ def persist(self, models="best", with_ancestors=True, max_memory=0.4) -> list[str]:
3520
3520
  """
3521
3521
  Persist models in memory for reduced inference latency. This is particularly important if the models are being used for online-inference where low latency is critical.
3522
3522
  If models are not persisted in memory, they are loaded from disk every time they are asked to make predictions.
@@ -3552,7 +3552,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
3552
3552
  raise ValueError(f"Invalid models specified. The following models do not exist:\n\t{invalid_models}\nValid models:\n\t{valid_models}")
3553
3553
  raise e
3554
3554
 
3555
- def unpersist(self, models="all") -> List[str]:
3555
+ def unpersist(self, models="all") -> list[str]:
3556
3556
  """
3557
3557
  Unpersist models in memory for reduced memory usage.
3558
3558
  If models are not persisted in memory, they are loaded from disk every time they are asked to make predictions.
@@ -3576,14 +3576,14 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
3576
3576
  # refit_full doesn't account for user-specified resources at fit time, nor does it allow them to specify for refit.
3577
3577
  def refit_full(
3578
3578
  self,
3579
- model: str | List[str] = "all",
3579
+ model: str | list[str] = "all",
3580
3580
  set_best_to_refit_full: bool = True,
3581
3581
  train_data_extra: pd.DataFrame = None,
3582
3582
  num_cpus: int | str = "auto",
3583
3583
  num_gpus: int | str = "auto",
3584
3584
  fit_strategy: Literal["auto", "sequential", "parallel"] = "auto",
3585
3585
  **kwargs,
3586
- ) -> Dict[str, str]:
3586
+ ) -> dict[str, str]:
3587
3587
  """
3588
3588
  Retrain model on all of the data (training + validation).
3589
3589
  For bagged models:
@@ -3607,7 +3607,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
3607
3607
 
3608
3608
  Parameters
3609
3609
  ----------
3610
- model : str | List[str], default = 'all'
3610
+ model : str | list[str], default = 'all'
3611
3611
  Model name of model(s) to refit.
3612
3612
  If 'all' then all models are refitted.
3613
3613
  If 'best' then the model with the highest validation score is refit.
@@ -3759,7 +3759,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
3759
3759
  if save_trainer:
3760
3760
  self._trainer.save()
3761
3761
 
3762
- def model_refit_map(self, inverse=False) -> Dict[str, str]:
3762
+ def model_refit_map(self, inverse=False) -> dict[str, str]:
3763
3763
  """
3764
3764
  Returns a dictionary of original model name -> refit full model name.
3765
3765
  Empty unless `refit_full=True` was set during fit or `predictor.refit_full()` was called.
@@ -3915,7 +3915,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
3915
3915
  data: pd.DataFrame | str | None = None,
3916
3916
  metric: str | Scorer | None = None,
3917
3917
  model: str = "best",
3918
- decision_thresholds: int | List[float] = 25,
3918
+ decision_thresholds: int | list[float] = 25,
3919
3919
  secondary_decision_thresholds: int | None = 19,
3920
3920
  subsample_size: int | None = 1000000,
3921
3921
  verbose: bool = True,
@@ -3942,7 +3942,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
3942
3942
  model : str, default = 'best'
3943
3943
  The model to use prediction probabilities of when calibrating the threshold.
3944
3944
  If 'best', will use `predictor.model_best`.
3945
- decision_thresholds : int | List[float], default = 25
3945
+ decision_thresholds : int | list[float], default = 25
3946
3946
  The number of decision thresholds on either side of `0.5` to search.
3947
3947
  The default of 25 will result in 51 searched thresholds: [0.00, 0.02, 0.04, ..., 0.48, 0.50, 0.52, ..., 0.96, 0.98, 1.00]
3948
3948
  Alternatively, a list of decision thresholds can be passed and only the thresholds in the list will be searched.
@@ -4338,9 +4338,9 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
4338
4338
  stack_name: str = None,
4339
4339
  level: int = None,
4340
4340
  can_infer: bool = None,
4341
- models: List[str] = None,
4341
+ models: list[str] = None,
4342
4342
  persisted: bool = None,
4343
- ) -> List[str]:
4343
+ ) -> list[str]:
4344
4344
  """
4345
4345
  Returns the list of model names trained in this `predictor` object.
4346
4346
 
@@ -4352,7 +4352,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
4352
4352
  If specified, returns only models at the given stack level.
4353
4353
  can_infer: bool, default = None
4354
4354
  If specified, returns only models that can/cannot infer on new data.
4355
- models: List[str], default = None
4355
+ models: list[str], default = None
4356
4356
  The list of model names to consider.
4357
4357
  If None, considers all models.
4358
4358
  persisted: bool, default = None
@@ -4874,7 +4874,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
4874
4874
  return predictor
4875
4875
 
4876
4876
  @classmethod
4877
- def load_log(cls, predictor_path: str = None, log_file_path: Optional[str] = None) -> List[str]:
4877
+ def load_log(cls, predictor_path: str = None, log_file_path: Optional[str] = None) -> list[str]:
4878
4878
  """
4879
4879
  Load log files of a predictor
4880
4880
 
@@ -4890,7 +4890,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
4890
4890
 
4891
4891
  Returns
4892
4892
  -------
4893
- List[str]
4893
+ list[str]
4894
4894
  A list containing lines of the log file
4895
4895
  """
4896
4896
  file_path = log_file_path
@@ -5049,7 +5049,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
5049
5049
  )
5050
5050
 
5051
5051
  @staticmethod
5052
- def _sanitize_dynamic_stacking_kwargs(kwargs: dict) -> Tuple[dict, List[str]]:
5052
+ def _sanitize_dynamic_stacking_kwargs(kwargs: dict) -> tuple[dict, list[str]]:
5053
5053
  ds_kwargs_key = "ds_args"
5054
5054
  ds_args = dict(
5055
5055
  validation_procedure="holdout",
@@ -5069,9 +5069,9 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
5069
5069
  kwargs[ds_kwargs_key] = copy.deepcopy(kwargs[ds_kwargs_key])
5070
5070
  ds_args.update(kwargs[ds_kwargs_key])
5071
5071
 
5072
- key_missmatch = set(ds_args.keys()) - allowed_kes
5073
- if key_missmatch:
5074
- raise ValueError(f"Got invalid keys for `ds_args`. Allowed: {allowed_kes}. Got: {key_missmatch}")
5072
+ key_mismatch = set(ds_args.keys()) - allowed_kes
5073
+ if key_mismatch:
5074
+ raise ValueError(f"Got invalid keys for `ds_args`. Allowed: {allowed_kes}. Got: {key_mismatch}")
5075
5075
  if ("validation_procedure" in ds_args) and (
5076
5076
  (not isinstance(ds_args["validation_procedure"], str)) or (ds_args["validation_procedure"] not in ["holdout", "cv"])
5077
5077
  ):
@@ -5096,7 +5096,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
5096
5096
  kwargs[ds_kwargs_key] = ds_args
5097
5097
  return kwargs, [ds_kwargs_key]
5098
5098
 
5099
- def _validate_fit_extra_kwargs(self, kwargs: dict, extra_valid_keys: List[str] | None = None):
5099
+ def _validate_fit_extra_kwargs(self, kwargs: dict, extra_valid_keys: list[str] | None = None):
5100
5100
  fit_extra_kwargs_default = self._fit_extra_kwargs_dict()
5101
5101
 
5102
5102
  allowed_kwarg_names = list(fit_extra_kwargs_default.keys())
@@ -5131,7 +5131,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
5131
5131
 
5132
5132
  return kwargs_sanitized
5133
5133
 
5134
- def _prune_data_features(self, train_features: list, other_features: list, is_labeled: bool) -> Tuple[list, list]:
5134
+ def _prune_data_features(self, train_features: list, other_features: list, is_labeled: bool) -> tuple[list, list]:
5135
5135
  """
5136
5136
  Removes certain columns from the provided datasets that do not contain predictive features.
5137
5137
 
@@ -5161,7 +5161,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
5161
5161
  tuning_data: str | pd.DataFrame | None = None,
5162
5162
  test_data: str | pd.DataFrame | None = None,
5163
5163
  unlabeled_data: str | pd.DataFrame | None = None,
5164
- ) -> Tuple[pd.DataFrame, pd.DataFrame | None, pd.DataFrame | None]:
5164
+ ) -> tuple[pd.DataFrame, pd.DataFrame | None, pd.DataFrame | None]:
5165
5165
  if isinstance(train_data, str):
5166
5166
  train_data = TabularDataset(train_data)
5167
5167
  if tuning_data is not None and isinstance(tuning_data, str):
@@ -5305,7 +5305,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
5305
5305
  )
5306
5306
 
5307
5307
  @staticmethod
5308
- def _validate_infer_limit(infer_limit: float, infer_limit_batch_size: int) -> Tuple[float, int]:
5308
+ def _validate_infer_limit(infer_limit: float, infer_limit_batch_size: int) -> tuple[float, int]:
5309
5309
  if infer_limit_batch_size is not None:
5310
5310
  if not isinstance(infer_limit_batch_size, int):
5311
5311
  raise ValueError(f"infer_limit_batch_size must be type int, but was instead type {type(infer_limit_batch_size)}")
@@ -5629,7 +5629,7 @@ class TabularPredictor(TabularPredictorDeprecatedMixin):
5629
5629
  else:
5630
5630
  _validate_hyperparameters_util(params=hyperparameters)
5631
5631
 
5632
- def _sanitize_pseudo_data(self, pseudo_data: pd.DataFrame, name="pseudo_data") -> Tuple[pd.DataFrame, pd.Series, pd.Series]:
5632
+ def _sanitize_pseudo_data(self, pseudo_data: pd.DataFrame, name="pseudo_data") -> tuple[pd.DataFrame, pd.Series, pd.Series]:
5633
5633
  assert isinstance(pseudo_data, pd.DataFrame)
5634
5634
  if self.label not in pseudo_data.columns:
5635
5635
  raise ValueError(f"'{name}' does not contain the labeled column.")
@@ -1,9 +1,8 @@
1
1
  import logging
2
- from typing import Dict, List
3
2
 
4
3
  from autogluon.core.models import AbstractModel
5
- from autogluon.core.trainer.abstract_trainer import AbstractTrainer
6
4
  from autogluon.core.utils import generate_train_test_split
5
+ from autogluon.core.trainer.abstract_trainer import AbstractTabularTrainer
7
6
 
8
7
  from ..models.lgb.lgb_model import LGBModel
9
8
  from .model_presets.presets import MODEL_TYPES, get_preset_models
@@ -13,7 +12,7 @@ logger = logging.getLogger(__name__)
13
12
 
14
13
 
15
14
  # This Trainer handles model training details
16
- class AutoTrainer(AbstractTrainer):
15
+ class AutoTrainer(AbstractTabularTrainer):
17
16
  def construct_model_templates(self, hyperparameters, **kwargs):
18
17
  path = kwargs.pop("path", self.path)
19
18
  problem_type = kwargs.pop("problem_type", self.problem_type)
@@ -58,7 +57,7 @@ class AutoTrainer(AbstractTrainer):
58
57
  infer_limit_batch_size=None,
59
58
  use_bag_holdout=False,
60
59
  groups=None,
61
- callbacks: List[callable] = None,
60
+ callbacks: list[callable] = None,
62
61
  **kwargs,
63
62
  ):
64
63
  for key in kwargs:
@@ -173,7 +172,7 @@ class AutoTrainer(AbstractTrainer):
173
172
  def _get_default_proxy_model_class(self):
174
173
  return LGBModel
175
174
 
176
- def compile(self, model_names="all", with_ancestors=False, compiler_configs: dict = None) -> List[str]:
175
+ def compile(self, model_names="all", with_ancestors=False, compiler_configs: dict = None) -> list[str]:
177
176
  """Ensures that compiler_configs maps to the correct models if the user specified the same keys as in hyperparameters such as RT, XT, etc."""
178
177
  if compiler_configs is not None:
179
178
  model_types_map = self._get_model_types_map()
@@ -186,5 +185,5 @@ class AutoTrainer(AbstractTrainer):
186
185
  compiler_configs = compiler_configs_new
187
186
  return super().compile(model_names=model_names, with_ancestors=with_ancestors, compiler_configs=compiler_configs)
188
187
 
189
- def _get_model_types_map(self) -> Dict[str, AbstractModel]:
188
+ def _get_model_types_map(self) -> dict[str, AbstractModel]:
190
189
  return MODEL_TYPES
@@ -1,4 +1,4 @@
1
1
  """This is the autogluon version file."""
2
2
 
3
- __version__ = "1.2.1b20250116"
3
+ __version__ = "1.2.1b20250130"
4
4
  __lite__ = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autogluon.tabular
3
- Version: 1.2.1b20250116
3
+ Version: 1.2.1b20250130
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
@@ -34,24 +34,26 @@ Classifier: Topic :: Scientific/Engineering :: Information Analysis
34
34
  Classifier: Topic :: Scientific/Engineering :: Image Recognition
35
35
  Requires-Python: >=3.9, <3.13
36
36
  Description-Content-Type: text/markdown
37
+ License-File: ../LICENSE
38
+ License-File: ../NOTICE
37
39
  Requires-Dist: numpy<2.1.4,>=1.25.0
38
40
  Requires-Dist: scipy<1.16,>=1.5.4
39
41
  Requires-Dist: pandas<2.3.0,>=2.0.0
40
42
  Requires-Dist: scikit-learn<1.5.3,>=1.4.0
41
43
  Requires-Dist: networkx<4,>=3.0
42
- Requires-Dist: autogluon.core==1.2.1b20250116
43
- Requires-Dist: autogluon.features==1.2.1b20250116
44
+ Requires-Dist: autogluon.core==1.2.1b20250130
45
+ Requires-Dist: autogluon.features==1.2.1b20250130
44
46
  Provides-Extra: all
47
+ Requires-Dist: autogluon.core[all]==1.2.1b20250130; extra == "all"
48
+ Requires-Dist: spacy<3.8; extra == "all"
49
+ Requires-Dist: lightgbm<4.6,>=4.0; extra == "all"
50
+ Requires-Dist: fastai<2.8,>=2.3.1; extra == "all"
45
51
  Requires-Dist: numpy<2.0.0,>=1.25; extra == "all"
46
52
  Requires-Dist: xgboost<2.2,>=1.6; extra == "all"
53
+ Requires-Dist: torch<2.6,>=2.2; extra == "all"
47
54
  Requires-Dist: einops<0.9,>=0.7; extra == "all"
48
- Requires-Dist: autogluon.core[all]==1.2.1b20250116; extra == "all"
49
55
  Requires-Dist: catboost<1.3,>=1.2; extra == "all"
50
- Requires-Dist: torch<2.6,>=2.2; extra == "all"
51
- Requires-Dist: spacy<3.8; extra == "all"
52
- Requires-Dist: fastai<2.8,>=2.3.1; extra == "all"
53
56
  Requires-Dist: huggingface-hub[torch]; extra == "all"
54
- Requires-Dist: lightgbm<4.6,>=4.0; extra == "all"
55
57
  Provides-Extra: catboost
56
58
  Requires-Dist: numpy<2.0.0,>=1.25; extra == "catboost"
57
59
  Requires-Dist: catboost<1.3,>=1.2; extra == "catboost"
@@ -64,7 +66,7 @@ Requires-Dist: imodels<1.4.0,>=1.3.10; extra == "imodels"
64
66
  Provides-Extra: lightgbm
65
67
  Requires-Dist: lightgbm<4.6,>=4.0; extra == "lightgbm"
66
68
  Provides-Extra: ray
67
- Requires-Dist: autogluon.core[all]==1.2.1b20250116; extra == "ray"
69
+ Requires-Dist: autogluon.core[all]==1.2.1b20250130; extra == "ray"
68
70
  Provides-Extra: skex
69
71
  Requires-Dist: scikit-learn-intelex<2025.1,>=2024.0; extra == "skex"
70
72
  Provides-Extra: skl2onnx
@@ -1,6 +1,6 @@
1
- autogluon.tabular-1.2.1b20250116-py3.8-nspkg.pth,sha256=cQGwpuGPqg1GXscIwt-7PmME1OnSpD-7ixkikJ31WAY,554
1
+ autogluon.tabular-1.2.1b20250130-py3.9-nspkg.pth,sha256=cQGwpuGPqg1GXscIwt-7PmME1OnSpD-7ixkikJ31WAY,554
2
2
  autogluon/tabular/__init__.py,sha256=2OXpJCvENRHubBTYNIPpHX93WWuFZzsJBtTZbNVHVas,400
3
- autogluon/tabular/version.py,sha256=qtf1yrCzRdeJXfqZGb9YWrrjOFhl2omGSnhF5i131QY,91
3
+ autogluon/tabular/version.py,sha256=onZWyUgu5fGg96se5Au1iUkaP0LXAhrwgAuo6bELN9c,91
4
4
  autogluon/tabular/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  autogluon/tabular/configs/config_helper.py,sha256=Pb2aW9Z9w77pYKPRVZ3nBzHY3KJaiEJSJ747zZcJIVk,21132
6
6
  autogluon/tabular/configs/feature_generator_presets.py,sha256=EV5Ym8VW15q92MwOUpTi7wZFS2QooM51fLg3RdUsn-M,1223
@@ -10,20 +10,20 @@ autogluon/tabular/configs/zeroshot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
10
10
  autogluon/tabular/configs/zeroshot/zeroshot_portfolio_2023.py,sha256=oKO_2nEpI_EiLaUGmNN-3kPBIp5ATndbCOaVZ1m0048,29911
11
11
  autogluon/tabular/experimental/__init__.py,sha256=PpkdMSv_pPZted1XRIuzcFWKjM-66VMUukTnCcoiW0s,100
12
12
  autogluon/tabular/experimental/_scikit_mixin.py,sha256=cKeCmtURAXZnhQGrkCBw5rmACCQF7biAWTT3qX8bM2Q,2281
13
- autogluon/tabular/experimental/_tabular_classifier.py,sha256=KgYEQtbrckWM19MgYIwPSjhe-R-vGgRswNcoLu0wF7M,2552
14
- autogluon/tabular/experimental/_tabular_regressor.py,sha256=yNJsX2GTmhf8ZTIaHt3GPcjRAdftahp8zM_iY8qkRsA,1957
13
+ autogluon/tabular/experimental/_tabular_classifier.py,sha256=7lGoFdvkHiZS3VpcXo97q4ENV9qyIVDExlWkm0wzL3s,2527
14
+ autogluon/tabular/experimental/_tabular_regressor.py,sha256=EzEDL-19T5QUVNmLkSHNzzGwYrUxyqlNpIDPMgtV6Gg,1932
15
15
  autogluon/tabular/learner/__init__.py,sha256=Hhmk5WpKQHohVmI-veOaKMelKJpIdzeXrmw_DPn3DTU,63
16
16
  autogluon/tabular/learner/abstract_learner.py,sha256=3myDh867x-EWTPR-O-iw82WGgd5n1NKWf3kaTcYQeh0,54955
17
17
  autogluon/tabular/learner/default_learner.py,sha256=cg3K0oA-4ccXWtmGgy6qUJaLldieFwDvnMP_PyE9gdk,24579
18
18
  autogluon/tabular/models/__init__.py,sha256=tDVqwVG9q2ctLWRouyXeYs5NiSBnOnwh3anAfZyM3jg,1099
19
19
  autogluon/tabular/models/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- autogluon/tabular/models/_utils/rapids_utils.py,sha256=zL1XREBRjFlW592WY5S8_dkQZxCzDW2VDQ-6f9ETCOc,1039
20
+ autogluon/tabular/models/_utils/rapids_utils.py,sha256=gbej9Hjn4alCWZuGN9sOLXMMAyWbgHPThTsp2feS39o,1038
21
21
  autogluon/tabular/models/_utils/torch_utils.py,sha256=dxs_KMMAOmNkRNjYf_hrzqaHIfkqn1xoKRKqCFbQ1Rk,537
22
22
  autogluon/tabular/models/automm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  autogluon/tabular/models/automm/automm_model.py,sha256=z16uBs9SAGxuCDbROhTNOTzc4KhCd-ejX31Mt_FHNHY,11159
24
24
  autogluon/tabular/models/automm/ft_transformer.py,sha256=OxD5K8xZFxt8PutcGmjaZsAO2QoPpdDG0YoaxnTqrV0,3840
25
25
  autogluon/tabular/models/catboost/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- autogluon/tabular/models/catboost/callbacks.py,sha256=NwDi82JOFojNS7GV-hf0ZE__KHFFM0TowhNqBjEQV3U,6458
26
+ autogluon/tabular/models/catboost/callbacks.py,sha256=l8x17n_w7oEFs-iDECSdBKZ89yW5g1z-zvj4XLgQPkw,7098
27
27
  autogluon/tabular/models/catboost/catboost_model.py,sha256=mURn4GGGXgKovsctXLw3ZPva9xVS_grIm2Lcrj0CdSk,17043
28
28
  autogluon/tabular/models/catboost/catboost_softclass_utils.py,sha256=UiW0SUb3hFueW5qYtQn6Sbk7Wg7BWN4jqKWeFtbMvgU,3919
29
29
  autogluon/tabular/models/catboost/catboost_utils.py,sha256=YSc94V4DjrwbmkeUM8306zV7z21oq-K-qGCOj0UE_wg,3167
@@ -35,7 +35,7 @@ autogluon/tabular/models/fastainn/callbacks.py,sha256=3WvOEwqd1YAVInooKsFOTzAkCL
35
35
  autogluon/tabular/models/fastainn/fastai_helpers.py,sha256=gGYzyrAFl8hi8GnsemZNLGZn5xr7cyJXdFl08PIlza4,1393
36
36
  autogluon/tabular/models/fastainn/imports_helper.py,sha256=ICxA8ty47-oZu0Q9AjKCQe8uVi340Iu0NFruxvJPrbA,330
37
37
  autogluon/tabular/models/fastainn/quantile_helpers.py,sha256=d89GKvSRBgOy9EqcDI83MK5sqPRxP6JJ3BmPLmKnB0o,1808
38
- autogluon/tabular/models/fastainn/tabular_nn_fastai.py,sha256=ZdjZLEcHZTZdLpwX8pbVTe1xo5m7oKzUDIXT9yLcTNA,28963
38
+ autogluon/tabular/models/fastainn/tabular_nn_fastai.py,sha256=ZGHpa6FY-3NxDUVQk5fTBeiIt735xEGUbuPgELxij_8,28957
39
39
  autogluon/tabular/models/fastainn/hyperparameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
40
  autogluon/tabular/models/fastainn/hyperparameters/parameters.py,sha256=DkQwAZZ7CuODKoljr-yrkx-uFxBSPRxkKuvPdwO-UhQ,2069
41
41
  autogluon/tabular/models/fastainn/hyperparameters/searchspaces.py,sha256=5qdknZDrHtdPdrhSqjamYQrCxvupXvlN3bVGEPgs48E,1660
@@ -55,7 +55,7 @@ autogluon/tabular/models/knn/knn_utils.py,sha256=XU1cxVXp1BAoQnja2_KmSIn9_q9gZkj
55
55
  autogluon/tabular/models/lgb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
56
  autogluon/tabular/models/lgb/callbacks.py,sha256=0X42-nAbftKnu_zmFPDf8S3RrUJJjsJ1Qs_TPAJxzjU,11367
57
57
  autogluon/tabular/models/lgb/lgb_model.py,sha256=udmA6A-2RhVLRcaJXbjZCWrOhansButwRPRO7u0-BnM,24715
58
- autogluon/tabular/models/lgb/lgb_utils.py,sha256=Uh-4t3mxhgRSGpCaj-ah7gk6PW7zp-jh8HkskVSYuoA,7388
58
+ autogluon/tabular/models/lgb/lgb_utils.py,sha256=jzTDTzP-z7gcBGZyy1_0YkyTOLbU5DLeRqtil4FCZPI,7382
59
59
  autogluon/tabular/models/lgb/hyperparameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
60
  autogluon/tabular/models/lgb/hyperparameters/parameters.py,sha256=LLEQ-Ns3HElWBsFJx3ogRV7L6qw_nXlcl7EyO0C0fVQ,1336
61
61
  autogluon/tabular/models/lgb/hyperparameters/searchspaces.py,sha256=tvNNR7niWz_B-PndYQXb6vVNABxSfBYRHj6ZVQJ1x2E,1930
@@ -74,11 +74,11 @@ autogluon/tabular/models/rf/compilers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCe
74
74
  autogluon/tabular/models/rf/compilers/native.py,sha256=HhaqQRkVuf9UEEJPsHcdYCmuWBMYtyqRwwB_N2qxG2M,1313
75
75
  autogluon/tabular/models/rf/compilers/onnx.py,sha256=pvaZWdl2JJaE2pFU0mFugzhnybePqe0x1-5oLOvogA0,4318
76
76
  autogluon/tabular/models/tab_transformer/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
77
- autogluon/tabular/models/tab_transformer/modified_transformer.py,sha256=QfKHsTY-l2NRwfaiLq1vbUvok1nAOF0m4MQqV_xNXrc,22901
78
- autogluon/tabular/models/tab_transformer/pretexts.py,sha256=SKcPRA8iowhJP6m7Gkm4jiBqXTkrNnXfp4ZlHyuLx6U,6570
77
+ autogluon/tabular/models/tab_transformer/modified_transformer.py,sha256=3UNhZqKChkWCPtSP4YP23JhtggLqa4mLlP__jvxfBko,22894
78
+ autogluon/tabular/models/tab_transformer/pretexts.py,sha256=UEoDq_8hLKbY7EbE5IyL_gUXpuQ607XTtS-jKqf8j8U,6564
79
79
  autogluon/tabular/models/tab_transformer/tab_model_base.py,sha256=4rmY1IrwoFuJejy-9gOoYSz-ar3DvZY8uXyDUBKk7Iw,3615
80
80
  autogluon/tabular/models/tab_transformer/tab_transformer.py,sha256=1c1oTJfSsGxQjzZJVN8doqFmYV-Wwwbqcu7RcW77kJk,6991
81
- autogluon/tabular/models/tab_transformer/tab_transformer_encoder.py,sha256=hu0hrxvQOcGEuRk0w2BZgk-CBCXK4YqzcBH0mHbXah8,24707
81
+ autogluon/tabular/models/tab_transformer/tab_transformer_encoder.py,sha256=v2G1S_MSESzKqtvSfxS5uEse2CWtOn_K2E-uIwuE6zI,24701
82
82
  autogluon/tabular/models/tab_transformer/tab_transformer_model.py,sha256=pwqoig6SL3PutYhsB1o3mFyvBubXm91ynPGujp3Ab3g,22702
83
83
  autogluon/tabular/models/tab_transformer/utils.py,sha256=rrNk0X6Y0vzt7ivylRmTf0zjDx1DIF-5_ibf6B9Taz8,4554
84
84
  autogluon/tabular/models/tab_transformer/hyperparameters/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
@@ -121,7 +121,7 @@ autogluon/tabular/models/tabular_nn/hyperparameters/parameters.py,sha256=Z3t_U1f
121
121
  autogluon/tabular/models/tabular_nn/hyperparameters/searchspaces.py,sha256=pT9cJ3MaWPnaQwAf47Yz6f0-L9qDBknahERbggAp52U,2810
122
122
  autogluon/tabular/models/tabular_nn/torch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
123
  autogluon/tabular/models/tabular_nn/torch/tabular_nn_torch.py,sha256=1ZJHM52wMZHSbXty19ykKA5tNql6ISO7nuFmAAuR-uU,42324
124
- autogluon/tabular/models/tabular_nn/torch/tabular_torch_dataset.py,sha256=oelC0uA9KNVtNKXU5jTywg-OfIF-5AguAXFYSKwN3zU,13499
124
+ autogluon/tabular/models/tabular_nn/torch/tabular_torch_dataset.py,sha256=RdnQGZSrvY1iuJB4JTANniH3Dorw-DP0Em_JK3_h7RM,13497
125
125
  autogluon/tabular/models/tabular_nn/torch/torch_network_modules.py,sha256=Qc3PwXTD8A7PgXi6EGuaBCrN3jsFAXDLCW7i6tE5wYI,11338
126
126
  autogluon/tabular/models/tabular_nn/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
127
  autogluon/tabular/models/tabular_nn/utils/categorical_encoders.py,sha256=uLQaHkudg8AS2jFwNv4FyQ9KzO_F-dj6hIJe8R2t4aw,34213
@@ -142,21 +142,21 @@ autogluon/tabular/models/xgboost/hyperparameters/searchspaces.py,sha256=lFwI34pc
142
142
  autogluon/tabular/models/xt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
143
  autogluon/tabular/models/xt/xt_model.py,sha256=gimCfMeTmhAJTy4ekCI_dbK1FluJ7EQMoHt0pGMvVgs,759
144
144
  autogluon/tabular/predictor/__init__.py,sha256=zCMgjxQlWpDWnr1l1xjBCiK3rWC3N3RoD8UXBnazT74,107
145
- autogluon/tabular/predictor/_deprecated_methods.py,sha256=N0QqI9wElXdSeQ9idnnJpoH2xkmv51j_vG7kDrP5QxU,3507
145
+ autogluon/tabular/predictor/_deprecated_methods.py,sha256=cBZjVYxY7blOj2eH1y9JsdW0n-AZtnsK4B6dzUqrTAw,3476
146
146
  autogluon/tabular/predictor/interpretable_predictor.py,sha256=5UeKgnMFsfY65tiO3kxfHBPr03lyswLrgdtjPhI0Y7Q,6934
147
- autogluon/tabular/predictor/predictor.py,sha256=-0d5g_ADcSCwJKS6uJVif9iJD3Sq6FgcVFPrPRZ-l1Q,352445
147
+ autogluon/tabular/predictor/predictor.py,sha256=uFyhlsJ2T8kzeVUOVAfRsR_DoyumEVgBYNp44hGHuPI,352421
148
148
  autogluon/tabular/trainer/__init__.py,sha256=PW_PGL-tWoQzx3ES2S53bQEZOtsRWTYiM9QdOqsk0dI,38
149
- autogluon/tabular/trainer/auto_trainer.py,sha256=ieu7Zofl93tnQC9sIcsvS9pJS__KVIsE7Nn-EIWRvT0,8718
149
+ autogluon/tabular/trainer/auto_trainer.py,sha256=3cRi079OoFbXYJfnU2evE2502E-Zz-jXuAKwwOHo3w4,8702
150
150
  autogluon/tabular/trainer/model_presets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
151
  autogluon/tabular/trainer/model_presets/presets.py,sha256=1E-Z1FxUpyydaoEdxcTCg7bvSwVEuwImhH2-VlcRdaQ,19217
152
152
  autogluon/tabular/trainer/model_presets/presets_distill.py,sha256=MnFC2GJc6RmDBNAGbsO2XMfo3PjR8cUrZoilWW8gTYQ,3295
153
153
  autogluon/tabular/tuning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
154
  autogluon/tabular/tuning/feature_pruner.py,sha256=9iNku8gVbYEkjuKlyITPJDicsNkoraaQOlINQq9iZlQ,6877
155
- autogluon.tabular-1.2.1b20250116.dist-info/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
156
- autogluon.tabular-1.2.1b20250116.dist-info/METADATA,sha256=QSKAy7j9NWzgoqH_awYRFKYq2fif9r603N26Xl6eweM,14315
157
- autogluon.tabular-1.2.1b20250116.dist-info/NOTICE,sha256=7nPQuj8Kp-uXsU0S5so3-2dNU5EctS5hDXvvzzehd7E,114
158
- autogluon.tabular-1.2.1b20250116.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
159
- autogluon.tabular-1.2.1b20250116.dist-info/namespace_packages.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
160
- autogluon.tabular-1.2.1b20250116.dist-info/top_level.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
161
- autogluon.tabular-1.2.1b20250116.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
162
- autogluon.tabular-1.2.1b20250116.dist-info/RECORD,,
155
+ autogluon.tabular-1.2.1b20250130.dist-info/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
156
+ autogluon.tabular-1.2.1b20250130.dist-info/METADATA,sha256=PhsrAew0RTxS1U1QWqMVQIYDsmegW8Z8MQTaL6GgZEI,14364
157
+ autogluon.tabular-1.2.1b20250130.dist-info/NOTICE,sha256=7nPQuj8Kp-uXsU0S5so3-2dNU5EctS5hDXvvzzehd7E,114
158
+ autogluon.tabular-1.2.1b20250130.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
159
+ autogluon.tabular-1.2.1b20250130.dist-info/namespace_packages.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
160
+ autogluon.tabular-1.2.1b20250130.dist-info/top_level.txt,sha256=giERA4R78OkJf2ijn5slgjURlhRPzfLr7waIcGkzYAo,10
161
+ autogluon.tabular-1.2.1b20250130.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
162
+ autogluon.tabular-1.2.1b20250130.dist-info/RECORD,,