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.
Files changed (122) hide show
  1. {FLAML-2.1.2 → flaml-2.3.0}/FLAML.egg-info/PKG-INFO +57 -38
  2. {FLAML-2.1.2 → flaml-2.3.0}/FLAML.egg-info/SOURCES.txt +3 -1
  3. {FLAML-2.1.2 → flaml-2.3.0}/FLAML.egg-info/requires.txt +37 -17
  4. flaml-2.3.0/NOTICE.md +295 -0
  5. {FLAML-2.1.2 → flaml-2.3.0}/PKG-INFO +57 -38
  6. {FLAML-2.1.2 → flaml-2.3.0}/README.md +27 -18
  7. {FLAML-2.1.2 → flaml-2.3.0}/flaml/__init__.py +9 -1
  8. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/agent.py +2 -2
  9. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/assistant_agent.py +18 -18
  10. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/code_utils.py +2 -2
  11. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/math_utils.py +1 -1
  12. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/retrieve_utils.py +1 -1
  13. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/automl.py +167 -84
  14. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/ml.py +37 -10
  15. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/model.py +843 -91
  16. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/huggingface/data_collator.py +1 -1
  17. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/huggingface/utils.py +1 -1
  18. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/utils.py +2 -2
  19. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/state.py +11 -9
  20. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/task/generic_task.py +77 -36
  21. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/task/time_series_task.py +18 -1
  22. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/__init__.py +12 -1
  23. flaml-2.3.0/flaml/automl/time_series/tcn.py +285 -0
  24. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/ts_data.py +7 -5
  25. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/ts_model.py +126 -4
  26. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/training_log.py +7 -7
  27. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/portfolio.py +1 -1
  28. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/suggest.py +2 -2
  29. flaml-2.3.0/flaml/fabric/__init__.py +0 -0
  30. flaml-2.3.0/flaml/fabric/mlflow.py +689 -0
  31. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/flow2.py +3 -3
  32. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/online_searcher.py +3 -3
  33. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/suggestion.py +19 -15
  34. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/variant_generator.py +3 -3
  35. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/trial.py +2 -2
  36. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/tune.py +85 -3
  37. flaml-2.3.0/flaml/version.py +1 -0
  38. {FLAML-2.1.2 → flaml-2.3.0}/setup.py +35 -20
  39. {FLAML-2.1.2 → flaml-2.3.0}/test/test_autovw.py +15 -12
  40. FLAML-2.1.2/NOTICE.md +0 -290
  41. FLAML-2.1.2/flaml/automl/spark/configs.py +0 -97
  42. FLAML-2.1.2/flaml/version.py +0 -1
  43. {FLAML-2.1.2 → flaml-2.3.0}/FLAML.egg-info/dependency_links.txt +0 -0
  44. {FLAML-2.1.2 → flaml-2.3.0}/FLAML.egg-info/top_level.txt +0 -0
  45. {FLAML-2.1.2 → flaml-2.3.0}/LICENSE +0 -0
  46. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/__init__.py +0 -0
  47. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/__init__.py +0 -0
  48. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/conversable_agent.py +0 -0
  49. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/groupchat.py +0 -0
  50. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/agentchat/user_proxy_agent.py +0 -0
  51. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/extensions/__init__.py +0 -0
  52. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/oai/__init__.py +0 -0
  53. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/oai/completion.py +0 -0
  54. {FLAML-2.1.2 → flaml-2.3.0}/flaml/autogen/oai/openai_utils.py +0 -0
  55. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/__init__.py +0 -0
  56. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/contrib/__init__.py +0 -0
  57. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/contrib/histgb.py +0 -0
  58. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/data.py +0 -0
  59. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/logger.py +0 -0
  60. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/__init__.py +0 -0
  61. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/huggingface/__init__.py +0 -0
  62. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/huggingface/trainer.py +0 -0
  63. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/nlp/huggingface/training_args.py +0 -0
  64. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/spark/__init__.py +0 -0
  65. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/spark/metrics.py +0 -0
  66. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/spark/utils.py +0 -0
  67. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/task/__init__.py +0 -0
  68. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/task/factory.py +0 -0
  69. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/task/task.py +0 -0
  70. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/feature.py +0 -0
  71. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/sklearn.py +0 -0
  72. {FLAML-2.1.2 → flaml-2.3.0}/flaml/automl/time_series/tft.py +0 -0
  73. {FLAML-2.1.2 → flaml-2.3.0}/flaml/config.py +0 -0
  74. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/__init__.py +0 -0
  75. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/all/binary.json +0 -0
  76. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/all/multiclass.json +0 -0
  77. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/all/regression.json +0 -0
  78. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/estimator.py +0 -0
  79. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/extra_tree/binary.json +0 -0
  80. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/extra_tree/multiclass.json +0 -0
  81. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/extra_tree/regression.json +0 -0
  82. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/greedy.py +0 -0
  83. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/lgbm/binary.json +0 -0
  84. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/lgbm/multiclass.json +0 -0
  85. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/lgbm/regression.json +0 -0
  86. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/regret.py +0 -0
  87. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/rf/binary.json +0 -0
  88. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/rf/multiclass.json +0 -0
  89. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/rf/regression.json +0 -0
  90. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgb_limitdepth/binary.json +0 -0
  91. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgb_limitdepth/multiclass.json +0 -0
  92. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgb_limitdepth/regression.json +0 -0
  93. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgboost/binary.json +0 -0
  94. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgboost/multiclass.json +0 -0
  95. {FLAML-2.1.2 → flaml-2.3.0}/flaml/default/xgboost/regression.json +0 -0
  96. {FLAML-2.1.2 → flaml-2.3.0}/flaml/ml.py +0 -0
  97. {FLAML-2.1.2 → flaml-2.3.0}/flaml/onlineml/__init__.py +0 -0
  98. {FLAML-2.1.2 → flaml-2.3.0}/flaml/onlineml/autovw.py +0 -0
  99. {FLAML-2.1.2 → flaml-2.3.0}/flaml/onlineml/trial.py +0 -0
  100. {FLAML-2.1.2 → flaml-2.3.0}/flaml/onlineml/trial_runner.py +0 -0
  101. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/__init__.py +0 -0
  102. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/analysis.py +0 -0
  103. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/result.py +0 -0
  104. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/sample.py +0 -0
  105. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/scheduler/__init__.py +0 -0
  106. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/scheduler/online_scheduler.py +0 -0
  107. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/scheduler/trial_scheduler.py +0 -0
  108. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/__init__.py +0 -0
  109. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/blendsearch.py +0 -0
  110. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/cfo_cat.py +0 -0
  111. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/searcher/search_thread.py +0 -0
  112. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/space.py +0 -0
  113. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/spark/__init__.py +0 -0
  114. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/spark/utils.py +0 -0
  115. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/trial_runner.py +0 -0
  116. {FLAML-2.1.2 → flaml-2.3.0}/flaml/tune/utils.py +0 -0
  117. {FLAML-2.1.2 → flaml-2.3.0}/pyproject.toml +0 -0
  118. {FLAML-2.1.2 → flaml-2.3.0}/setup.cfg +0 -0
  119. {FLAML-2.1.2 → flaml-2.3.0}/test/test_conda_distribution.py +0 -0
  120. {FLAML-2.1.2 → flaml-2.3.0}/test/test_gpu.py +0 -0
  121. {FLAML-2.1.2 → flaml-2.3.0}/test/test_model.py +0 -0
  122. {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.1.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
- Requires-Python: >=3.6
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>=0.90; extra == "automl"
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.24; extra == "automl"
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>=0.90; extra == "test"
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>=1.1.4; extra == "test"
32
- Requires-Dist: scikit-learn>=0.24; extra == "test"
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==2.8.0; extra == "test"
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>=0.26; extra == "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==2.8.0; extra == "blendsearch"
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==2.8.0; extra == "synapse"
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
  [![PyPI version](https://badge.fury.io/py/FLAML.svg)](https://badge.fury.io/py/FLAML)
141
151
  ![Conda version](https://img.shields.io/conda/vn/conda-forge/flaml)
142
152
  [![Build](https://github.com/microsoft/FLAML/actions/workflows/python-package.yml/badge.svg)](https://github.com/microsoft/FLAML/actions/workflows/python-package.yml)
143
- ![Python Version](https://img.shields.io/badge/3.8%20%7C%203.9%20%7C%203.10-blue)
153
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/FLAML)](https://pypi.org/project/FLAML/)
144
154
  [![Downloads](https://pepy.tech/badge/flaml)](https://pepy.tech/project/flaml)
145
155
  [![](https://img.shields.io/discord/1025786666260111483?logo=discord&style=flat)](https://discord.gg/Cppx2vSPVP)
146
- <!-- [![Join the chat at https://gitter.im/FLAMLer/community](https://badges.gitter.im/FLAMLer/community.svg)](https://gitter.im/FLAMLer/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -->
147
156
 
157
+ <!-- [![Join the chat at https://gitter.im/FLAMLer/community](https://badges.gitter.im/FLAMLer/community.svg)](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
- * 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.
173
- * 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.
174
- * 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.
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
- * (New) The [autogen](https://microsoft.github.io/autogen/) package enables the next-gen GPT-X applications with a generic multi-agent conversation framework.
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(assistant, message="Show me the YTD gain of 10 largest technology companies as of today.")
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
- * With three lines of code, you can start using this economical and fast
225
- AutoML engine as a [scikit-learn style estimator](https://microsoft.github.io/FLAML/docs/Use-Cases/Task-Oriented-AutoML).
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
- * You can restrict the learners and use FLAML as a fast hyperparameter tuning
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
- * You can also run generic hyperparameter tuning for a [custom function](https://microsoft.github.io/FLAML/docs/Use-Cases/Tune-User-Defined-Function).
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
- * [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.
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>=0.90
10
+ xgboost<3.0.0,>=0.90
11
11
  scipy>=1.4.1
12
12
  pandas>=1.1.4
13
- scikit-learn>=0.24
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==2.8.0
30
+ optuna<=3.6.1,>=2.8.0
31
31
  packaging
32
32
 
33
33
  [catboost]
34
- catboost>=0.26
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==2.8.0
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>=0.90
108
+ xgboost<2.0.0,>=0.90
100
109
  scipy>=1.4.1
101
- pandas>=1.1.4
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==2.8.0
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
- pytorch-forecasting<=0.10.1,>=0.9.0
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