FLAML 2.1.2__tar.gz → 2.3.0__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.
- {FLAML-2.1.2 → flaml-2.3.0}/FLAML.egg-info/PKG-INFO +57 -38
- {FLAML-2.1.2 → flaml-2.3.0}/FLAML.egg-info/SOURCES.txt +3 -1
- {FLAML-2.1.2 → flaml-2.3.0}/FLAML.egg-info/requires.txt +37 -17
- flaml-2.3.0/NOTICE.md +295 -0
- {FLAML-2.1.2 → flaml-2.3.0}/PKG-INFO +57 -38
- {FLAML-2.1.2 → flaml-2.3.0}/README.md +27 -18
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/__init__.py +9 -1
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/agent.py +2 -2
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/assistant_agent.py +18 -18
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/code_utils.py +2 -2
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/math_utils.py +1 -1
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/retrieve_utils.py +1 -1
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/automl.py +167 -84
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/ml.py +37 -10
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/model.py +843 -91
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/huggingface/data_collator.py +1 -1
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/huggingface/utils.py +1 -1
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/utils.py +2 -2
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/state.py +11 -9
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/task/generic_task.py +77 -36
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/task/time_series_task.py +18 -1
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/__init__.py +12 -1
- flaml-2.3.0/flaml/automl/time_series/tcn.py +285 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/ts_data.py +7 -5
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/ts_model.py +126 -4
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/training_log.py +7 -7
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/portfolio.py +1 -1
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/suggest.py +2 -2
- flaml-2.3.0/flaml/fabric/__init__.py +0 -0
- flaml-2.3.0/flaml/fabric/mlflow.py +689 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/flow2.py +3 -3
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/online_searcher.py +3 -3
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/suggestion.py +19 -15
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/variant_generator.py +3 -3
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/trial.py +2 -2
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/tune.py +85 -3
- flaml-2.3.0/flaml/version.py +1 -0
- {FLAML-2.1.2 → flaml-2.3.0}/setup.py +35 -20
- {FLAML-2.1.2 → flaml-2.3.0}/test/test_autovw.py +15 -12
- FLAML-2.1.2/NOTICE.md +0 -290
- FLAML-2.1.2/flaml/automl/spark/configs.py +0 -97
- FLAML-2.1.2/flaml/version.py +0 -1
- {FLAML-2.1.2 → flaml-2.3.0}/FLAML.egg-info/dependency_links.txt +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/FLAML.egg-info/top_level.txt +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/LICENSE +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/conversable_agent.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/groupchat.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/user_proxy_agent.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/extensions/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/oai/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/oai/completion.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/oai/openai_utils.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/contrib/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/contrib/histgb.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/data.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/logger.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/huggingface/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/huggingface/trainer.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/huggingface/training_args.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/spark/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/spark/metrics.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/spark/utils.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/task/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/task/factory.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/task/task.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/feature.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/sklearn.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/tft.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/config.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/all/binary.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/all/multiclass.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/all/regression.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/estimator.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/extra_tree/binary.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/extra_tree/multiclass.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/extra_tree/regression.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/greedy.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/lgbm/binary.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/lgbm/multiclass.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/lgbm/regression.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/regret.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/rf/binary.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/rf/multiclass.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/rf/regression.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgb_limitdepth/binary.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgb_limitdepth/multiclass.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgb_limitdepth/regression.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgboost/binary.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgboost/multiclass.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgboost/regression.json +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/ml.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/onlineml/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/onlineml/autovw.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/onlineml/trial.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/onlineml/trial_runner.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/analysis.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/result.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/sample.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/scheduler/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/scheduler/online_scheduler.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/scheduler/trial_scheduler.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/blendsearch.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/cfo_cat.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/search_thread.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/space.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/spark/__init__.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/spark/utils.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/trial_runner.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/utils.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/pyproject.toml +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/setup.cfg +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/test/test_conda_distribution.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/test/test_gpu.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/test/test_model.py +0 -0
- {FLAML-2.1.2 → flaml-2.3.0}/test/test_version.py +0 -0
|
@@ -1,58 +1,66 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: FLAML
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
4
4
|
Summary: A fast library for automated machine learning and tuning
|
|
5
5
|
Home-page: https://github.com/microsoft/FLAML
|
|
6
6
|
Author: Microsoft Corporation
|
|
7
7
|
Author-email: hpo@microsoft.com
|
|
8
|
-
Classifier: Programming Language :: Python :: 3
|
|
9
8
|
Classifier: License :: OSI Approved :: MIT License
|
|
10
9
|
Classifier: Operating System :: OS Independent
|
|
11
|
-
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Requires-Python: >=3.8
|
|
12
16
|
Description-Content-Type: text/markdown
|
|
13
17
|
License-File: LICENSE
|
|
14
18
|
License-File: NOTICE.md
|
|
15
19
|
Requires-Dist: NumPy>=1.17
|
|
16
20
|
Provides-Extra: automl
|
|
17
21
|
Requires-Dist: lightgbm>=2.3.1; extra == "automl"
|
|
18
|
-
Requires-Dist: xgboost
|
|
22
|
+
Requires-Dist: xgboost<3.0.0,>=0.90; extra == "automl"
|
|
19
23
|
Requires-Dist: scipy>=1.4.1; extra == "automl"
|
|
20
24
|
Requires-Dist: pandas>=1.1.4; extra == "automl"
|
|
21
|
-
Requires-Dist: scikit-learn>=0.
|
|
25
|
+
Requires-Dist: scikit-learn>=1.0.0; extra == "automl"
|
|
22
26
|
Provides-Extra: notebook
|
|
23
27
|
Requires-Dist: jupyter; extra == "notebook"
|
|
24
28
|
Provides-Extra: spark
|
|
25
29
|
Requires-Dist: pyspark>=3.2.0; extra == "spark"
|
|
26
30
|
Requires-Dist: joblibspark>=0.5.0; extra == "spark"
|
|
31
|
+
Requires-Dist: joblib<=1.3.2; extra == "spark"
|
|
27
32
|
Provides-Extra: test
|
|
33
|
+
Requires-Dist: jupyter; extra == "test"
|
|
28
34
|
Requires-Dist: lightgbm>=2.3.1; extra == "test"
|
|
29
|
-
Requires-Dist: xgboost
|
|
35
|
+
Requires-Dist: xgboost<2.0.0,>=0.90; extra == "test"
|
|
30
36
|
Requires-Dist: scipy>=1.4.1; extra == "test"
|
|
31
|
-
Requires-Dist: pandas
|
|
32
|
-
Requires-Dist:
|
|
37
|
+
Requires-Dist: pandas<2.0.0,>=1.1.4; python_version < "3.10" and extra == "test"
|
|
38
|
+
Requires-Dist: pandas>=1.1.4; python_version >= "3.10" and extra == "test"
|
|
39
|
+
Requires-Dist: scikit-learn>=1.0.0; extra == "test"
|
|
33
40
|
Requires-Dist: thop; extra == "test"
|
|
34
41
|
Requires-Dist: pytest>=6.1.1; extra == "test"
|
|
35
42
|
Requires-Dist: coverage>=5.3; extra == "test"
|
|
36
43
|
Requires-Dist: pre-commit; extra == "test"
|
|
37
44
|
Requires-Dist: torch; extra == "test"
|
|
38
45
|
Requires-Dist: torchvision; extra == "test"
|
|
39
|
-
Requires-Dist: catboost<1.2,>=0.26; extra == "test"
|
|
46
|
+
Requires-Dist: catboost<1.2,>=0.26; python_version < "3.11" and extra == "test"
|
|
47
|
+
Requires-Dist: catboost>=0.26; python_version >= "3.11" and extra == "test"
|
|
40
48
|
Requires-Dist: rgf-python; extra == "test"
|
|
41
|
-
Requires-Dist: optuna
|
|
49
|
+
Requires-Dist: optuna<=3.6.1,>=2.8.0; extra == "test"
|
|
42
50
|
Requires-Dist: openml; extra == "test"
|
|
43
51
|
Requires-Dist: statsmodels>=0.12.2; extra == "test"
|
|
44
52
|
Requires-Dist: psutil==5.8.0; extra == "test"
|
|
45
53
|
Requires-Dist: dataclasses; extra == "test"
|
|
46
54
|
Requires-Dist: transformers[torch]==4.26; extra == "test"
|
|
47
55
|
Requires-Dist: datasets; extra == "test"
|
|
48
|
-
Requires-Dist: nltk; extra == "test"
|
|
56
|
+
Requires-Dist: nltk<=3.8.1; extra == "test"
|
|
49
57
|
Requires-Dist: rouge_score; extra == "test"
|
|
50
58
|
Requires-Dist: hcrystalball==0.1.10; extra == "test"
|
|
51
59
|
Requires-Dist: seqeval; extra == "test"
|
|
52
|
-
Requires-Dist: pytorch-forecasting<=0.10.1,>=0.9.0; extra == "test"
|
|
53
|
-
Requires-Dist: mlflow; extra == "test"
|
|
54
|
-
Requires-Dist: pyspark>=3.2.0; extra == "test"
|
|
60
|
+
Requires-Dist: pytorch-forecasting<=0.10.1,>=0.9.0; python_version < "3.11" and extra == "test"
|
|
61
|
+
Requires-Dist: mlflow==2.15.1; extra == "test"
|
|
55
62
|
Requires-Dist: joblibspark>=0.5.0; extra == "test"
|
|
63
|
+
Requires-Dist: joblib<=1.3.2; extra == "test"
|
|
56
64
|
Requires-Dist: nbconvert; extra == "test"
|
|
57
65
|
Requires-Dist: nbformat; extra == "test"
|
|
58
66
|
Requires-Dist: ipykernel; extra == "test"
|
|
@@ -63,10 +71,12 @@ Requires-Dist: packaging; extra == "test"
|
|
|
63
71
|
Requires-Dist: pydantic==1.10.9; extra == "test"
|
|
64
72
|
Requires-Dist: sympy; extra == "test"
|
|
65
73
|
Requires-Dist: wolframalpha; extra == "test"
|
|
74
|
+
Requires-Dist: dill; extra == "test"
|
|
66
75
|
Provides-Extra: catboost
|
|
67
|
-
Requires-Dist: catboost
|
|
76
|
+
Requires-Dist: catboost<1.2,>=0.26; python_version < "3.11" and extra == "catboost"
|
|
77
|
+
Requires-Dist: catboost<=1.2.5,>=0.26; python_version >= "3.11" and extra == "catboost"
|
|
68
78
|
Provides-Extra: blendsearch
|
|
69
|
-
Requires-Dist: optuna
|
|
79
|
+
Requires-Dist: optuna<=3.6.1,>=2.8.0; extra == "blendsearch"
|
|
70
80
|
Requires-Dist: packaging; extra == "blendsearch"
|
|
71
81
|
Provides-Extra: ray
|
|
72
82
|
Requires-Dist: ray[tune]~=1.13; extra == "ray"
|
|
@@ -80,13 +90,13 @@ Requires-Dist: scikit-learn; extra == "vw"
|
|
|
80
90
|
Provides-Extra: hf
|
|
81
91
|
Requires-Dist: transformers[torch]==4.26; extra == "hf"
|
|
82
92
|
Requires-Dist: datasets; extra == "hf"
|
|
83
|
-
Requires-Dist: nltk; extra == "hf"
|
|
93
|
+
Requires-Dist: nltk<=3.8.1; extra == "hf"
|
|
84
94
|
Requires-Dist: rouge_score; extra == "hf"
|
|
85
95
|
Requires-Dist: seqeval; extra == "hf"
|
|
86
96
|
Provides-Extra: nlp
|
|
87
97
|
Requires-Dist: transformers[torch]==4.26; extra == "nlp"
|
|
88
98
|
Requires-Dist: datasets; extra == "nlp"
|
|
89
|
-
Requires-Dist: nltk; extra == "nlp"
|
|
99
|
+
Requires-Dist: nltk<=3.8.1; extra == "nlp"
|
|
90
100
|
Requires-Dist: rouge_score; extra == "nlp"
|
|
91
101
|
Requires-Dist: seqeval; extra == "nlp"
|
|
92
102
|
Provides-Extra: ts-forecast
|
|
@@ -99,7 +109,7 @@ Requires-Dist: holidays<0.14; extra == "forecast"
|
|
|
99
109
|
Requires-Dist: prophet>=1.0.1; extra == "forecast"
|
|
100
110
|
Requires-Dist: statsmodels>=0.12.2; extra == "forecast"
|
|
101
111
|
Requires-Dist: hcrystalball==0.1.10; extra == "forecast"
|
|
102
|
-
Requires-Dist: pytorch-forecasting>=0.9.0; extra == "forecast"
|
|
112
|
+
Requires-Dist: pytorch-forecasting>=0.9.0; python_version < "3.11" and extra == "forecast"
|
|
103
113
|
Requires-Dist: pytorch-lightning==1.9.0; extra == "forecast"
|
|
104
114
|
Requires-Dist: tensorboardX==2.6; extra == "forecast"
|
|
105
115
|
Provides-Extra: benchmark
|
|
@@ -130,7 +140,7 @@ Requires-Dist: tiktoken; extra == "retrievechat"
|
|
|
130
140
|
Requires-Dist: sentence_transformers; extra == "retrievechat"
|
|
131
141
|
Provides-Extra: synapse
|
|
132
142
|
Requires-Dist: joblibspark>=0.5.0; extra == "synapse"
|
|
133
|
-
Requires-Dist: optuna
|
|
143
|
+
Requires-Dist: optuna<=3.6.1,>=2.8.0; extra == "synapse"
|
|
134
144
|
Requires-Dist: pyspark>=3.2.0; extra == "synapse"
|
|
135
145
|
Provides-Extra: autozero
|
|
136
146
|
Requires-Dist: scikit-learn; extra == "autozero"
|
|
@@ -140,11 +150,11 @@ Requires-Dist: packaging; extra == "autozero"
|
|
|
140
150
|
[](https://badge.fury.io/py/FLAML)
|
|
141
151
|

|
|
142
152
|
[](https://github.com/microsoft/FLAML/actions/workflows/python-package.yml)
|
|
143
|
-
](https://pypi.org/project/FLAML/)
|
|
144
154
|
[](https://pepy.tech/project/flaml)
|
|
145
155
|
[](https://discord.gg/Cppx2vSPVP)
|
|
146
|
-
<!-- [](https://gitter.im/FLAMLer/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -->
|
|
147
156
|
|
|
157
|
+
<!-- [](https://gitter.im/FLAMLer/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -->
|
|
148
158
|
|
|
149
159
|
# A Fast Library for Automated Machine Learning & Tuning
|
|
150
160
|
|
|
@@ -153,6 +163,8 @@ Requires-Dist: packaging; extra == "autozero"
|
|
|
153
163
|
<br>
|
|
154
164
|
</p>
|
|
155
165
|
|
|
166
|
+
:fire: FLAML supports AutoML and Hyperparameter Tuning in [Microsoft Fabric Data Science](https://learn.microsoft.com/en-us/fabric/data-science/automated-machine-learning-fabric). In addition, we've introduced Python 3.11 support, along with a range of new estimators, and comprehensive integration with MLflow—thanks to contributions from the Microsoft Fabric product team.
|
|
167
|
+
|
|
156
168
|
:fire: Heads-up: We have migrated [AutoGen](https://microsoft.github.io/autogen/) into a dedicated [github repository](https://github.com/microsoft/autogen). Alongside this move, we have also launched a dedicated [Discord](https://discord.gg/pAbnFJrkgZ) server and a [website](https://microsoft.github.io/autogen/) for comprehensive documentation.
|
|
157
169
|
|
|
158
170
|
:fire: The automated multi-agent chat framework in [AutoGen](https://microsoft.github.io/autogen/) is in preview from v2.0.0.
|
|
@@ -161,17 +173,15 @@ Requires-Dist: packaging; extra == "autozero"
|
|
|
161
173
|
|
|
162
174
|
:fire: [autogen](https://microsoft.github.io/autogen/) is released with support for ChatGPT and GPT-4, based on [Cost-Effective Hyperparameter Optimization for Large Language Model Generation Inference](https://arxiv.org/abs/2303.04673).
|
|
163
175
|
|
|
164
|
-
:fire: FLAML supports Code-First AutoML & Tuning – Private Preview in [Microsoft Fabric Data Science](https://learn.microsoft.com/en-us/fabric/data-science/).
|
|
165
|
-
|
|
166
|
-
|
|
167
176
|
## What is FLAML
|
|
177
|
+
|
|
168
178
|
FLAML is a lightweight Python library for efficient automation of machine
|
|
169
179
|
learning and AI operations. It automates workflow based on large language models, machine learning models, etc.
|
|
170
180
|
and optimizes their performance.
|
|
171
181
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
182
|
+
- FLAML enables building next-gen GPT-X applications based on multi-agent conversations with minimal effort. It simplifies the orchestration, automation and optimization of a complex GPT-X workflow. It maximizes the performance of GPT-X models and augments their weakness.
|
|
183
|
+
- For common machine learning tasks like classification and regression, it quickly finds quality models for user-provided data with low computational resources. It is easy to customize or extend. Users can find their desired customizability from a smooth range.
|
|
184
|
+
- It supports fast and economical automatic tuning (e.g., inference hyperparameters for foundation models, configurations in MLOps/LMOps workflows, pipelines, mathematical/statistical models, algorithms, computing experiments, software configurations), capable of handling large search space with heterogeneous evaluation cost and complex constraints/guidance/early stopping.
|
|
175
185
|
|
|
176
186
|
FLAML is powered by a series of [research studies](https://microsoft.github.io/FLAML/docs/Research/) from Microsoft Research and collaborators such as Penn State University, Stevens Institute of Technology, University of Washington, and University of Waterloo.
|
|
177
187
|
|
|
@@ -186,6 +196,7 @@ pip install flaml
|
|
|
186
196
|
```
|
|
187
197
|
|
|
188
198
|
Minimal dependencies are installed without extra options. You can install extra options based on the feature you need. For example, use the following to install the dependencies needed by the [`autogen`](https://microsoft.github.io/autogen/) package.
|
|
199
|
+
|
|
189
200
|
```bash
|
|
190
201
|
pip install "flaml[autogen]"
|
|
191
202
|
```
|
|
@@ -195,18 +206,24 @@ Each of the [`notebook examples`](https://github.com/microsoft/FLAML/tree/main/n
|
|
|
195
206
|
|
|
196
207
|
## Quickstart
|
|
197
208
|
|
|
198
|
-
|
|
199
|
-
It offers customizable and conversable agents which integrate LLMs, tools and human.
|
|
200
|
-
By automating chat among multiple capable agents, one can easily make them collectively perform tasks autonomously or with human feedback, including tasks that require using tools via code. For example,
|
|
209
|
+
- (New) The [autogen](https://microsoft.github.io/autogen/) package enables the next-gen GPT-X applications with a generic multi-agent conversation framework.
|
|
210
|
+
It offers customizable and conversable agents which integrate LLMs, tools and human.
|
|
211
|
+
By automating chat among multiple capable agents, one can easily make them collectively perform tasks autonomously or with human feedback, including tasks that require using tools via code. For example,
|
|
212
|
+
|
|
201
213
|
```python
|
|
202
214
|
from flaml import autogen
|
|
215
|
+
|
|
203
216
|
assistant = autogen.AssistantAgent("assistant")
|
|
204
217
|
user_proxy = autogen.UserProxyAgent("user_proxy")
|
|
205
|
-
user_proxy.initiate_chat(
|
|
218
|
+
user_proxy.initiate_chat(
|
|
219
|
+
assistant,
|
|
220
|
+
message="Show me the YTD gain of 10 largest technology companies as of today.",
|
|
221
|
+
)
|
|
206
222
|
# This initiates an automated chat between the two agents to solve the task
|
|
207
223
|
```
|
|
208
224
|
|
|
209
225
|
Autogen also helps maximize the utility out of the expensive LLMs such as ChatGPT and GPT-4. It offers a drop-in replacement of `openai.Completion` or `openai.ChatCompletion` with powerful functionalites like tuning, caching, templating, filtering. For example, you can optimize generations by LLM with your own tuning data, success metrics and budgets.
|
|
226
|
+
|
|
210
227
|
```python
|
|
211
228
|
# perform tuning
|
|
212
229
|
config, analysis = autogen.Completion.tune(
|
|
@@ -221,30 +238,32 @@ config, analysis = autogen.Completion.tune(
|
|
|
221
238
|
# perform inference for a test instance
|
|
222
239
|
response = autogen.Completion.create(context=test_instance, **config)
|
|
223
240
|
```
|
|
224
|
-
|
|
225
|
-
|
|
241
|
+
|
|
242
|
+
- With three lines of code, you can start using this economical and fast
|
|
243
|
+
AutoML engine as a [scikit-learn style estimator](https://microsoft.github.io/FLAML/docs/Use-Cases/Task-Oriented-AutoML).
|
|
226
244
|
|
|
227
245
|
```python
|
|
228
246
|
from flaml import AutoML
|
|
247
|
+
|
|
229
248
|
automl = AutoML()
|
|
230
249
|
automl.fit(X_train, y_train, task="classification")
|
|
231
250
|
```
|
|
232
251
|
|
|
233
|
-
|
|
234
|
-
tool for XGBoost, LightGBM, Random Forest etc. or a [customized learner](https://microsoft.github.io/FLAML/docs/Use-Cases/Task-Oriented-AutoML#estimator-and-search-space).
|
|
252
|
+
- You can restrict the learners and use FLAML as a fast hyperparameter tuning
|
|
253
|
+
tool for XGBoost, LightGBM, Random Forest etc. or a [customized learner](https://microsoft.github.io/FLAML/docs/Use-Cases/Task-Oriented-AutoML#estimator-and-search-space).
|
|
235
254
|
|
|
236
255
|
```python
|
|
237
256
|
automl.fit(X_train, y_train, task="classification", estimator_list=["lgbm"])
|
|
238
257
|
```
|
|
239
258
|
|
|
240
|
-
|
|
259
|
+
- You can also run generic hyperparameter tuning for a [custom function](https://microsoft.github.io/FLAML/docs/Use-Cases/Tune-User-Defined-Function).
|
|
241
260
|
|
|
242
261
|
```python
|
|
243
262
|
from flaml import tune
|
|
244
263
|
tune.run(evaluation_function, config={…}, low_cost_partial_config={…}, time_budget_s=3600)
|
|
245
264
|
```
|
|
246
265
|
|
|
247
|
-
|
|
266
|
+
- [Zero-shot AutoML](https://microsoft.github.io/FLAML/docs/Use-Cases/Zero-Shot-AutoML) allows using the existing training API from lightgbm, xgboost etc. while getting the benefit of AutoML in choosing high-performance hyperparameter configurations per task.
|
|
248
267
|
|
|
249
268
|
```python
|
|
250
269
|
from flaml.default import LGBMRegressor
|
|
@@ -44,7 +44,6 @@ flaml/automl/nlp/huggingface/trainer.py
|
|
|
44
44
|
flaml/automl/nlp/huggingface/training_args.py
|
|
45
45
|
flaml/automl/nlp/huggingface/utils.py
|
|
46
46
|
flaml/automl/spark/__init__.py
|
|
47
|
-
flaml/automl/spark/configs.py
|
|
48
47
|
flaml/automl/spark/metrics.py
|
|
49
48
|
flaml/automl/spark/utils.py
|
|
50
49
|
flaml/automl/task/__init__.py
|
|
@@ -55,6 +54,7 @@ flaml/automl/task/time_series_task.py
|
|
|
55
54
|
flaml/automl/time_series/__init__.py
|
|
56
55
|
flaml/automl/time_series/feature.py
|
|
57
56
|
flaml/automl/time_series/sklearn.py
|
|
57
|
+
flaml/automl/time_series/tcn.py
|
|
58
58
|
flaml/automl/time_series/tft.py
|
|
59
59
|
flaml/automl/time_series/ts_data.py
|
|
60
60
|
flaml/automl/time_series/ts_model.py
|
|
@@ -82,6 +82,8 @@ flaml/default/xgb_limitdepth/regression.json
|
|
|
82
82
|
flaml/default/xgboost/binary.json
|
|
83
83
|
flaml/default/xgboost/multiclass.json
|
|
84
84
|
flaml/default/xgboost/regression.json
|
|
85
|
+
flaml/fabric/__init__.py
|
|
86
|
+
flaml/fabric/mlflow.py
|
|
85
87
|
flaml/onlineml/__init__.py
|
|
86
88
|
flaml/onlineml/autovw.py
|
|
87
89
|
flaml/onlineml/trial.py
|
|
@@ -7,10 +7,10 @@ termcolor
|
|
|
7
7
|
|
|
8
8
|
[automl]
|
|
9
9
|
lightgbm>=2.3.1
|
|
10
|
-
xgboost
|
|
10
|
+
xgboost<3.0.0,>=0.90
|
|
11
11
|
scipy>=1.4.1
|
|
12
12
|
pandas>=1.1.4
|
|
13
|
-
scikit-learn>=0.
|
|
13
|
+
scikit-learn>=1.0.0
|
|
14
14
|
|
|
15
15
|
[autozero]
|
|
16
16
|
scikit-learn
|
|
@@ -27,25 +27,32 @@ xgboost==1.3.3
|
|
|
27
27
|
pandas==1.1.4
|
|
28
28
|
|
|
29
29
|
[blendsearch]
|
|
30
|
-
optuna
|
|
30
|
+
optuna<=3.6.1,>=2.8.0
|
|
31
31
|
packaging
|
|
32
32
|
|
|
33
33
|
[catboost]
|
|
34
|
-
|
|
34
|
+
|
|
35
|
+
[catboost:python_version < "3.11"]
|
|
36
|
+
catboost<1.2,>=0.26
|
|
37
|
+
|
|
38
|
+
[catboost:python_version >= "3.11"]
|
|
39
|
+
catboost<=1.2.5,>=0.26
|
|
35
40
|
|
|
36
41
|
[forecast]
|
|
37
42
|
holidays<0.14
|
|
38
43
|
prophet>=1.0.1
|
|
39
44
|
statsmodels>=0.12.2
|
|
40
45
|
hcrystalball==0.1.10
|
|
41
|
-
pytorch-forecasting>=0.9.0
|
|
42
46
|
pytorch-lightning==1.9.0
|
|
43
47
|
tensorboardX==2.6
|
|
44
48
|
|
|
49
|
+
[forecast:python_version < "3.11"]
|
|
50
|
+
pytorch-forecasting>=0.9.0
|
|
51
|
+
|
|
45
52
|
[hf]
|
|
46
53
|
transformers[torch]==4.26
|
|
47
54
|
datasets
|
|
48
|
-
nltk
|
|
55
|
+
nltk<=3.8.1
|
|
49
56
|
rouge_score
|
|
50
57
|
seqeval
|
|
51
58
|
|
|
@@ -60,7 +67,7 @@ wolframalpha
|
|
|
60
67
|
[nlp]
|
|
61
68
|
transformers[torch]==4.26
|
|
62
69
|
datasets
|
|
63
|
-
nltk
|
|
70
|
+
nltk<=3.8.1
|
|
64
71
|
rouge_score
|
|
65
72
|
seqeval
|
|
66
73
|
|
|
@@ -88,41 +95,40 @@ sentence_transformers
|
|
|
88
95
|
[spark]
|
|
89
96
|
pyspark>=3.2.0
|
|
90
97
|
joblibspark>=0.5.0
|
|
98
|
+
joblib<=1.3.2
|
|
91
99
|
|
|
92
100
|
[synapse]
|
|
93
101
|
joblibspark>=0.5.0
|
|
94
|
-
optuna
|
|
102
|
+
optuna<=3.6.1,>=2.8.0
|
|
95
103
|
pyspark>=3.2.0
|
|
96
104
|
|
|
97
105
|
[test]
|
|
106
|
+
jupyter
|
|
98
107
|
lightgbm>=2.3.1
|
|
99
|
-
xgboost
|
|
108
|
+
xgboost<2.0.0,>=0.90
|
|
100
109
|
scipy>=1.4.1
|
|
101
|
-
|
|
102
|
-
scikit-learn>=0.24
|
|
110
|
+
scikit-learn>=1.0.0
|
|
103
111
|
thop
|
|
104
112
|
pytest>=6.1.1
|
|
105
113
|
coverage>=5.3
|
|
106
114
|
pre-commit
|
|
107
115
|
torch
|
|
108
116
|
torchvision
|
|
109
|
-
catboost<1.2,>=0.26
|
|
110
117
|
rgf-python
|
|
111
|
-
optuna
|
|
118
|
+
optuna<=3.6.1,>=2.8.0
|
|
112
119
|
openml
|
|
113
120
|
statsmodels>=0.12.2
|
|
114
121
|
psutil==5.8.0
|
|
115
122
|
dataclasses
|
|
116
123
|
transformers[torch]==4.26
|
|
117
124
|
datasets
|
|
118
|
-
nltk
|
|
125
|
+
nltk<=3.8.1
|
|
119
126
|
rouge_score
|
|
120
127
|
hcrystalball==0.1.10
|
|
121
128
|
seqeval
|
|
122
|
-
|
|
123
|
-
mlflow
|
|
124
|
-
pyspark>=3.2.0
|
|
129
|
+
mlflow==2.15.1
|
|
125
130
|
joblibspark>=0.5.0
|
|
131
|
+
joblib<=1.3.2
|
|
126
132
|
nbconvert
|
|
127
133
|
nbformat
|
|
128
134
|
ipykernel
|
|
@@ -133,6 +139,20 @@ packaging
|
|
|
133
139
|
pydantic==1.10.9
|
|
134
140
|
sympy
|
|
135
141
|
wolframalpha
|
|
142
|
+
dill
|
|
143
|
+
|
|
144
|
+
[test:python_version < "3.10"]
|
|
145
|
+
pandas<2.0.0,>=1.1.4
|
|
146
|
+
|
|
147
|
+
[test:python_version < "3.11"]
|
|
148
|
+
catboost<1.2,>=0.26
|
|
149
|
+
pytorch-forecasting<=0.10.1,>=0.9.0
|
|
150
|
+
|
|
151
|
+
[test:python_version >= "3.10"]
|
|
152
|
+
pandas>=1.1.4
|
|
153
|
+
|
|
154
|
+
[test:python_version >= "3.11"]
|
|
155
|
+
catboost>=0.26
|
|
136
156
|
|
|
137
157
|
[ts_forecast]
|
|
138
158
|
holidays<0.14
|