ins-pricing 0.4.4__py3-none-any.whl → 0.5.0__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.
- ins_pricing/README.md +74 -56
- ins_pricing/__init__.py +142 -90
- ins_pricing/cli/BayesOpt_entry.py +52 -50
- ins_pricing/cli/BayesOpt_incremental.py +832 -898
- ins_pricing/cli/Explain_Run.py +31 -23
- ins_pricing/cli/Explain_entry.py +532 -579
- ins_pricing/cli/Pricing_Run.py +31 -23
- ins_pricing/cli/bayesopt_entry_runner.py +1440 -1438
- ins_pricing/cli/utils/cli_common.py +256 -256
- ins_pricing/cli/utils/cli_config.py +375 -375
- ins_pricing/cli/utils/import_resolver.py +382 -365
- ins_pricing/cli/utils/notebook_utils.py +340 -340
- ins_pricing/cli/watchdog_run.py +209 -201
- ins_pricing/frontend/README.md +573 -419
- ins_pricing/frontend/__init__.py +10 -10
- ins_pricing/frontend/config_builder.py +1 -0
- ins_pricing/frontend/example_workflows.py +1 -1
- ins_pricing/governance/__init__.py +20 -20
- ins_pricing/governance/release.py +159 -159
- ins_pricing/modelling/README.md +67 -0
- ins_pricing/modelling/__init__.py +147 -92
- ins_pricing/modelling/bayesopt/README.md +59 -0
- ins_pricing/modelling/{core/bayesopt → bayesopt}/__init__.py +64 -102
- ins_pricing/modelling/{core/bayesopt → bayesopt}/config_preprocess.py +562 -550
- ins_pricing/modelling/{core/bayesopt → bayesopt}/core.py +965 -962
- ins_pricing/modelling/{core/bayesopt → bayesopt}/model_explain_mixin.py +296 -296
- ins_pricing/modelling/{core/bayesopt → bayesopt}/model_plotting_mixin.py +482 -548
- ins_pricing/modelling/{core/bayesopt → bayesopt}/models/__init__.py +27 -27
- ins_pricing/modelling/{core/bayesopt → bayesopt}/models/model_ft_trainer.py +915 -913
- ins_pricing/modelling/{core/bayesopt → bayesopt}/models/model_gnn.py +788 -785
- ins_pricing/modelling/{core/bayesopt → bayesopt}/models/model_resn.py +448 -446
- ins_pricing/modelling/bayesopt/trainers/__init__.py +19 -0
- ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_base.py +1308 -1308
- ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_ft.py +3 -3
- ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_glm.py +197 -198
- ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_gnn.py +344 -344
- ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_resn.py +283 -283
- ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_xgb.py +346 -347
- ins_pricing/modelling/bayesopt/utils/__init__.py +67 -0
- ins_pricing/modelling/bayesopt/utils/constants.py +21 -0
- ins_pricing/modelling/bayesopt/utils/io_utils.py +7 -0
- ins_pricing/modelling/bayesopt/utils/losses.py +27 -0
- ins_pricing/modelling/bayesopt/utils/metrics_and_devices.py +17 -0
- ins_pricing/modelling/{core/bayesopt → bayesopt}/utils/torch_trainer_mixin.py +623 -623
- ins_pricing/modelling/{core/evaluation.py → evaluation.py} +113 -104
- ins_pricing/modelling/explain/__init__.py +55 -55
- ins_pricing/modelling/explain/metrics.py +27 -174
- ins_pricing/modelling/explain/permutation.py +237 -237
- ins_pricing/modelling/plotting/__init__.py +40 -36
- ins_pricing/modelling/plotting/compat.py +228 -0
- ins_pricing/modelling/plotting/curves.py +572 -572
- ins_pricing/modelling/plotting/diagnostics.py +163 -163
- ins_pricing/modelling/plotting/geo.py +362 -362
- ins_pricing/modelling/plotting/importance.py +121 -121
- ins_pricing/pricing/__init__.py +27 -27
- ins_pricing/production/__init__.py +35 -25
- ins_pricing/production/{predict.py → inference.py} +140 -57
- ins_pricing/production/monitoring.py +8 -21
- ins_pricing/reporting/__init__.py +11 -11
- ins_pricing/setup.py +1 -1
- ins_pricing/tests/production/test_inference.py +90 -0
- ins_pricing/utils/__init__.py +116 -83
- ins_pricing/utils/device.py +255 -255
- ins_pricing/utils/features.py +53 -0
- ins_pricing/utils/io.py +72 -0
- ins_pricing/{modelling/core/bayesopt/utils → utils}/losses.py +125 -129
- ins_pricing/utils/metrics.py +158 -24
- ins_pricing/utils/numerics.py +76 -0
- ins_pricing/utils/paths.py +9 -1
- {ins_pricing-0.4.4.dist-info → ins_pricing-0.5.0.dist-info}/METADATA +55 -35
- ins_pricing-0.5.0.dist-info/RECORD +131 -0
- ins_pricing/CHANGELOG.md +0 -272
- ins_pricing/RELEASE_NOTES_0.2.8.md +0 -344
- ins_pricing/docs/LOSS_FUNCTIONS.md +0 -78
- ins_pricing/docs/modelling/BayesOpt_USAGE.md +0 -945
- ins_pricing/docs/modelling/README.md +0 -34
- ins_pricing/frontend/QUICKSTART.md +0 -152
- ins_pricing/modelling/core/BayesOpt.py +0 -146
- ins_pricing/modelling/core/__init__.py +0 -1
- ins_pricing/modelling/core/bayesopt/PHASE2_REFACTORING_SUMMARY.md +0 -449
- ins_pricing/modelling/core/bayesopt/PHASE3_REFACTORING_SUMMARY.md +0 -406
- ins_pricing/modelling/core/bayesopt/REFACTORING_SUMMARY.md +0 -247
- ins_pricing/modelling/core/bayesopt/trainers/__init__.py +0 -19
- ins_pricing/modelling/core/bayesopt/utils/__init__.py +0 -86
- ins_pricing/modelling/core/bayesopt/utils/constants.py +0 -183
- ins_pricing/modelling/core/bayesopt/utils/io_utils.py +0 -126
- ins_pricing/modelling/core/bayesopt/utils/metrics_and_devices.py +0 -555
- ins_pricing/modelling/core/bayesopt/utils.py +0 -105
- ins_pricing/modelling/core/bayesopt/utils_backup.py +0 -1503
- ins_pricing/tests/production/test_predict.py +0 -233
- ins_pricing-0.4.4.dist-info/RECORD +0 -137
- /ins_pricing/modelling/{core/bayesopt → bayesopt}/config_components.py +0 -0
- /ins_pricing/modelling/{core/bayesopt → bayesopt}/models/model_ft_components.py +0 -0
- /ins_pricing/modelling/{core/bayesopt → bayesopt}/utils/distributed_utils.py +0 -0
- {ins_pricing-0.4.4.dist-info → ins_pricing-0.5.0.dist-info}/WHEEL +0 -0
- {ins_pricing-0.4.4.dist-info → ins_pricing-0.5.0.dist-info}/top_level.txt +0 -0
|
@@ -1,95 +1,150 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from importlib import import_module
|
|
4
|
-
from pathlib import Path
|
|
5
|
-
import sys
|
|
6
|
-
import types
|
|
7
|
-
|
|
8
|
-
# Keep imports lazy to avoid hard dependencies when only using lightweight modules.
|
|
9
|
-
|
|
10
|
-
__all__ =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from importlib import import_module
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
import sys
|
|
6
|
+
import types
|
|
7
|
+
|
|
8
|
+
# Keep imports lazy to avoid hard dependencies when only using lightweight modules.
|
|
9
|
+
|
|
10
|
+
__all__ = sorted(
|
|
11
|
+
{
|
|
12
|
+
"BayesOptConfig",
|
|
13
|
+
"BayesOptModel",
|
|
14
|
+
"bayesopt",
|
|
15
|
+
"plotting",
|
|
16
|
+
"explain",
|
|
17
|
+
"evaluation",
|
|
18
|
+
"cli",
|
|
19
|
+
}
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
_LAZY_ATTRS = {
|
|
23
|
+
"bayesopt": "ins_pricing.modelling.bayesopt",
|
|
24
|
+
"plotting": "ins_pricing.modelling.plotting",
|
|
25
|
+
"explain": "ins_pricing.modelling.explain",
|
|
26
|
+
"BayesOptConfig": "ins_pricing.modelling.bayesopt.core",
|
|
27
|
+
"BayesOptModel": "ins_pricing.modelling.bayesopt.core",
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
_BAYESOPT_EXPORTS = {
|
|
31
|
+
"BayesOptConfig",
|
|
32
|
+
"DatasetPreprocessor",
|
|
33
|
+
"OutputManager",
|
|
34
|
+
"VersionManager",
|
|
35
|
+
"BayesOptModel",
|
|
36
|
+
"FeatureTokenizer",
|
|
37
|
+
"FTTransformerCore",
|
|
38
|
+
"FTTransformerSklearn",
|
|
39
|
+
"GraphNeuralNetSklearn",
|
|
40
|
+
"MaskedTabularDataset",
|
|
41
|
+
"ResBlock",
|
|
42
|
+
"ResNetSequential",
|
|
43
|
+
"ResNetSklearn",
|
|
44
|
+
"ScaledTransformerEncoderLayer",
|
|
45
|
+
"SimpleGraphLayer",
|
|
46
|
+
"SimpleGNN",
|
|
47
|
+
"TabularDataset",
|
|
48
|
+
"FTTrainer",
|
|
49
|
+
"GLMTrainer",
|
|
50
|
+
"GNNTrainer",
|
|
51
|
+
"ResNetTrainer",
|
|
52
|
+
"TrainerBase",
|
|
53
|
+
"XGBTrainer",
|
|
54
|
+
"_xgb_cuda_available",
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
_LEGACY_EXPORTS = {
|
|
58
|
+
"IOUtils": "ins_pricing.utils",
|
|
59
|
+
"DeviceManager": "ins_pricing.utils",
|
|
60
|
+
"GPUMemoryManager": "ins_pricing.utils",
|
|
61
|
+
"MetricFactory": "ins_pricing.utils",
|
|
62
|
+
"EPS": "ins_pricing.utils",
|
|
63
|
+
"set_global_seed": "ins_pricing.utils",
|
|
64
|
+
"compute_batch_size": "ins_pricing.utils",
|
|
65
|
+
"tweedie_loss": "ins_pricing.utils",
|
|
66
|
+
"infer_factor_and_cate_list": "ins_pricing.utils",
|
|
67
|
+
"DistributedUtils": "ins_pricing.modelling.bayesopt.utils",
|
|
68
|
+
"TrainingUtils": "ins_pricing.modelling.bayesopt.utils",
|
|
69
|
+
"free_cuda": "ins_pricing.modelling.bayesopt.utils",
|
|
70
|
+
"TorchTrainerMixin": "ins_pricing.modelling.bayesopt.utils",
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
__all__ = sorted(set(__all__) | set(_BAYESOPT_EXPORTS) | set(_LEGACY_EXPORTS))
|
|
74
|
+
|
|
32
75
|
_LAZY_SUBMODULES = {
|
|
33
|
-
"bayesopt": "ins_pricing.modelling.
|
|
34
|
-
"
|
|
35
|
-
"evaluation": "ins_pricing.modelling.core.evaluation",
|
|
76
|
+
"bayesopt": "ins_pricing.modelling.bayesopt",
|
|
77
|
+
"evaluation": "ins_pricing.modelling.evaluation",
|
|
36
78
|
"cli": "ins_pricing.cli",
|
|
37
79
|
}
|
|
38
|
-
|
|
39
|
-
_PACKAGE_PATHS = {
|
|
40
|
-
"bayesopt": Path(__file__).resolve().parent / "
|
|
41
|
-
"cli": Path(__file__).resolve().parents[1] / "cli",
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
def _lazy_module(name: str, target: str, package_path: Path | None = None) -> types.ModuleType:
|
|
46
|
-
proxy = types.ModuleType(name)
|
|
47
|
-
if package_path is not None:
|
|
48
|
-
proxy.__path__ = [str(package_path)]
|
|
49
|
-
|
|
50
|
-
def _load():
|
|
51
|
-
module = import_module(target)
|
|
52
|
-
sys.modules[name] = module
|
|
53
|
-
return module
|
|
54
|
-
|
|
55
|
-
def __getattr__(attr: str):
|
|
56
|
-
module = _load()
|
|
57
|
-
return getattr(module, attr)
|
|
58
|
-
|
|
59
|
-
def __dir__() -> list[str]:
|
|
60
|
-
module = _load()
|
|
61
|
-
return sorted(set(dir(module)))
|
|
62
|
-
|
|
63
|
-
proxy.__getattr__ = __getattr__ # type: ignore[attr-defined]
|
|
64
|
-
proxy.__dir__ = __dir__ # type: ignore[attr-defined]
|
|
65
|
-
return proxy
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
def _install_proxy(alias: str, target: str) -> None:
|
|
69
|
-
module_name = f"{__name__}.{alias}"
|
|
70
|
-
if module_name in sys.modules:
|
|
71
|
-
return
|
|
72
|
-
proxy = _lazy_module(module_name, target, _PACKAGE_PATHS.get(alias))
|
|
73
|
-
sys.modules[module_name] = proxy
|
|
74
|
-
globals()[alias] = proxy
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
for _alias, _target in _LAZY_SUBMODULES.items():
|
|
78
|
-
_install_proxy(_alias, _target)
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
def __getattr__(name: str):
|
|
82
|
-
target = _LAZY_ATTRS.get(name)
|
|
83
|
-
if
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
80
|
+
|
|
81
|
+
_PACKAGE_PATHS = {
|
|
82
|
+
"bayesopt": Path(__file__).resolve().parent / "bayesopt",
|
|
83
|
+
"cli": Path(__file__).resolve().parents[1] / "cli",
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def _lazy_module(name: str, target: str, package_path: Path | None = None) -> types.ModuleType:
|
|
88
|
+
proxy = types.ModuleType(name)
|
|
89
|
+
if package_path is not None:
|
|
90
|
+
proxy.__path__ = [str(package_path)]
|
|
91
|
+
|
|
92
|
+
def _load():
|
|
93
|
+
module = import_module(target)
|
|
94
|
+
sys.modules[name] = module
|
|
95
|
+
return module
|
|
96
|
+
|
|
97
|
+
def __getattr__(attr: str):
|
|
98
|
+
module = _load()
|
|
99
|
+
return getattr(module, attr)
|
|
100
|
+
|
|
101
|
+
def __dir__() -> list[str]:
|
|
102
|
+
module = _load()
|
|
103
|
+
return sorted(set(dir(module)))
|
|
104
|
+
|
|
105
|
+
proxy.__getattr__ = __getattr__ # type: ignore[attr-defined]
|
|
106
|
+
proxy.__dir__ = __dir__ # type: ignore[attr-defined]
|
|
107
|
+
return proxy
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def _install_proxy(alias: str, target: str) -> None:
|
|
111
|
+
module_name = f"{__name__}.{alias}"
|
|
112
|
+
if module_name in sys.modules:
|
|
113
|
+
return
|
|
114
|
+
proxy = _lazy_module(module_name, target, _PACKAGE_PATHS.get(alias))
|
|
115
|
+
sys.modules[module_name] = proxy
|
|
116
|
+
globals()[alias] = proxy
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
for _alias, _target in _LAZY_SUBMODULES.items():
|
|
120
|
+
_install_proxy(_alias, _target)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
def __getattr__(name: str):
|
|
124
|
+
target = _LAZY_ATTRS.get(name)
|
|
125
|
+
if target:
|
|
126
|
+
module = import_module(target)
|
|
127
|
+
if name in {"bayesopt", "plotting", "explain"}:
|
|
128
|
+
value = module
|
|
129
|
+
else:
|
|
130
|
+
value = getattr(module, name)
|
|
131
|
+
globals()[name] = value
|
|
132
|
+
return value
|
|
133
|
+
|
|
134
|
+
if name in _BAYESOPT_EXPORTS:
|
|
135
|
+
module = import_module("ins_pricing.modelling.bayesopt")
|
|
136
|
+
value = getattr(module, name)
|
|
137
|
+
globals()[name] = value
|
|
138
|
+
return value
|
|
139
|
+
|
|
140
|
+
legacy_module = _LEGACY_EXPORTS.get(name)
|
|
141
|
+
if legacy_module:
|
|
142
|
+
module = import_module(legacy_module)
|
|
143
|
+
value = getattr(module, name)
|
|
144
|
+
globals()[name] = value
|
|
145
|
+
return value
|
|
146
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
def __dir__() -> list[str]:
|
|
150
|
+
return sorted(set(__all__) | set(_BAYESOPT_EXPORTS) | set(_LEGACY_EXPORTS) | set(globals().keys()))
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# BayesOpt
|
|
2
|
+
|
|
3
|
+
BayesOpt is the training/tuning core for GLM, XGBoost, ResNet, FT-Transformer, and GNN workflows.
|
|
4
|
+
It supports JSON-driven CLI runs and a Python API for notebooks/scripts.
|
|
5
|
+
|
|
6
|
+
## Recommended API (config-based)
|
|
7
|
+
|
|
8
|
+
```python
|
|
9
|
+
from ins_pricing.modelling.bayesopt import BayesOptConfig
|
|
10
|
+
from ins_pricing.modelling import BayesOptModel
|
|
11
|
+
|
|
12
|
+
config = BayesOptConfig(
|
|
13
|
+
model_nme="my_model",
|
|
14
|
+
resp_nme="target",
|
|
15
|
+
weight_nme="weight",
|
|
16
|
+
factor_nmes=["f1", "f2"],
|
|
17
|
+
cate_list=["f2"],
|
|
18
|
+
task_type="regression",
|
|
19
|
+
epochs=50,
|
|
20
|
+
output_dir="./Results",
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
model = BayesOptModel(train_data, test_data, config=config)
|
|
24
|
+
model.optimize_model("xgb", max_evals=50)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Load config from file
|
|
28
|
+
|
|
29
|
+
```python
|
|
30
|
+
from ins_pricing.modelling.bayesopt import BayesOptConfig
|
|
31
|
+
from ins_pricing.modelling import BayesOptModel
|
|
32
|
+
|
|
33
|
+
config = BayesOptConfig.from_file("config.json")
|
|
34
|
+
model = BayesOptModel(train_data, test_data, config=config)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## CLI entry
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
python ins_pricing/cli/BayesOpt_entry.py --config-json config_template.json
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## FT roles
|
|
44
|
+
|
|
45
|
+
- `model`: FT is a prediction model (writes `pred_ft`).
|
|
46
|
+
- `embedding`: FT trains with labels but exports embeddings (`pred_<prefix>_*`).
|
|
47
|
+
- `unsupervised_embedding`: FT trains without labels and exports embeddings.
|
|
48
|
+
|
|
49
|
+
## Output layout
|
|
50
|
+
|
|
51
|
+
`output_dir/` contains:
|
|
52
|
+
- `plot/` plots and diagnostics
|
|
53
|
+
- `Results/` metrics, params, and snapshots
|
|
54
|
+
- `model/` saved models
|
|
55
|
+
|
|
56
|
+
## Notes
|
|
57
|
+
|
|
58
|
+
- Relative paths in config are resolved from the config file directory.
|
|
59
|
+
- For multi-GPU, use `torchrun` and set `runner.nproc_per_node` in config.
|
|
@@ -1,102 +1,64 @@
|
|
|
1
|
-
"""BayesOpt subpackage (split from monolithic BayesOpt.py)."""
|
|
2
|
-
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
"BayesOptModel",
|
|
66
|
-
"FeatureTokenizer",
|
|
67
|
-
"FTTransformerCore",
|
|
68
|
-
"FTTransformerSklearn",
|
|
69
|
-
"GraphNeuralNetSklearn",
|
|
70
|
-
"MaskedTabularDataset",
|
|
71
|
-
"ResBlock",
|
|
72
|
-
"ResNetSequential",
|
|
73
|
-
"ResNetSklearn",
|
|
74
|
-
"ScaledTransformerEncoderLayer",
|
|
75
|
-
"SimpleGraphLayer",
|
|
76
|
-
"SimpleGNN",
|
|
77
|
-
"TabularDataset",
|
|
78
|
-
"FTTrainer",
|
|
79
|
-
"GLMTrainer",
|
|
80
|
-
"GNNTrainer",
|
|
81
|
-
"ResNetTrainer",
|
|
82
|
-
"TrainerBase",
|
|
83
|
-
"XGBTrainer",
|
|
84
|
-
"_xgb_cuda_available",
|
|
85
|
-
"EPS",
|
|
86
|
-
"DistributedUtils",
|
|
87
|
-
"IOUtils",
|
|
88
|
-
"PlotUtils",
|
|
89
|
-
"TorchTrainerMixin",
|
|
90
|
-
"TrainingUtils",
|
|
91
|
-
"compute_batch_size",
|
|
92
|
-
"csv_to_dict",
|
|
93
|
-
"ensure_parent_dir",
|
|
94
|
-
"free_cuda",
|
|
95
|
-
"infer_factor_and_cate_list",
|
|
96
|
-
"plot_dlift_list",
|
|
97
|
-
"plot_lift_list",
|
|
98
|
-
"set_global_seed",
|
|
99
|
-
"split_data",
|
|
100
|
-
"tweedie_loss",
|
|
101
|
-
"torch",
|
|
102
|
-
]
|
|
1
|
+
"""BayesOpt subpackage (split from monolithic BayesOpt.py)."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from ins_pricing.utils.torch_compat import disable_torch_dynamo_if_requested
|
|
6
|
+
|
|
7
|
+
disable_torch_dynamo_if_requested()
|
|
8
|
+
|
|
9
|
+
from ins_pricing.modelling.bayesopt.config_preprocess import (
|
|
10
|
+
BayesOptConfig,
|
|
11
|
+
DatasetPreprocessor,
|
|
12
|
+
OutputManager,
|
|
13
|
+
VersionManager,
|
|
14
|
+
)
|
|
15
|
+
from ins_pricing.modelling.bayesopt.core import BayesOptModel
|
|
16
|
+
from ins_pricing.modelling.bayesopt.models import (
|
|
17
|
+
FeatureTokenizer,
|
|
18
|
+
FTTransformerCore,
|
|
19
|
+
FTTransformerSklearn,
|
|
20
|
+
GraphNeuralNetSklearn,
|
|
21
|
+
MaskedTabularDataset,
|
|
22
|
+
ResBlock,
|
|
23
|
+
ResNetSequential,
|
|
24
|
+
ResNetSklearn,
|
|
25
|
+
ScaledTransformerEncoderLayer,
|
|
26
|
+
SimpleGraphLayer,
|
|
27
|
+
SimpleGNN,
|
|
28
|
+
TabularDataset,
|
|
29
|
+
)
|
|
30
|
+
from ins_pricing.modelling.bayesopt.trainers import (
|
|
31
|
+
FTTrainer,
|
|
32
|
+
GLMTrainer,
|
|
33
|
+
GNNTrainer,
|
|
34
|
+
ResNetTrainer,
|
|
35
|
+
TrainerBase,
|
|
36
|
+
XGBTrainer,
|
|
37
|
+
_xgb_cuda_available,
|
|
38
|
+
)
|
|
39
|
+
__all__ = [
|
|
40
|
+
"BayesOptConfig",
|
|
41
|
+
"DatasetPreprocessor",
|
|
42
|
+
"OutputManager",
|
|
43
|
+
"VersionManager",
|
|
44
|
+
"BayesOptModel",
|
|
45
|
+
"FeatureTokenizer",
|
|
46
|
+
"FTTransformerCore",
|
|
47
|
+
"FTTransformerSklearn",
|
|
48
|
+
"GraphNeuralNetSklearn",
|
|
49
|
+
"MaskedTabularDataset",
|
|
50
|
+
"ResBlock",
|
|
51
|
+
"ResNetSequential",
|
|
52
|
+
"ResNetSklearn",
|
|
53
|
+
"ScaledTransformerEncoderLayer",
|
|
54
|
+
"SimpleGraphLayer",
|
|
55
|
+
"SimpleGNN",
|
|
56
|
+
"TabularDataset",
|
|
57
|
+
"FTTrainer",
|
|
58
|
+
"GLMTrainer",
|
|
59
|
+
"GNNTrainer",
|
|
60
|
+
"ResNetTrainer",
|
|
61
|
+
"TrainerBase",
|
|
62
|
+
"XGBTrainer",
|
|
63
|
+
"_xgb_cuda_available",
|
|
64
|
+
]
|