autogluon.timeseries 1.0.1b20231231__tar.gz → 1.0.1b20240206__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.

Potentially problematic release.


This version of autogluon.timeseries might be problematic. Click here for more details.

Files changed (59) hide show
  1. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/PKG-INFO +56 -115
  2. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/abstract/abstract_timeseries_model.py +0 -6
  3. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/autogluon_tabular/mlforecast.py +0 -2
  4. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/ensemble/greedy_ensemble.py +0 -3
  5. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/gluonts/abstract_gluonts.py +0 -2
  6. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/local/abstract_local_model.py +1 -3
  7. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/multi_window/multi_window_model.py +0 -4
  8. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/predictor.py +27 -9
  9. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/trainer/abstract_trainer.py +15 -14
  10. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/version.py +1 -1
  11. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon.timeseries.egg-info/PKG-INFO +56 -115
  12. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon.timeseries.egg-info/requires.txt +3 -3
  13. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/setup.cfg +0 -0
  14. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/setup.py +0 -0
  15. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/__init__.py +0 -0
  16. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/configs/__init__.py +0 -0
  17. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/configs/presets_configs.py +0 -0
  18. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/dataset/__init__.py +0 -0
  19. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/dataset/ts_dataframe.py +0 -0
  20. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/evaluator.py +0 -0
  21. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/learner.py +0 -0
  22. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/metrics/__init__.py +0 -0
  23. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/metrics/abstract.py +0 -0
  24. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/metrics/point.py +0 -0
  25. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/metrics/quantile.py +0 -0
  26. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/metrics/utils.py +0 -0
  27. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/__init__.py +0 -0
  28. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/abstract/__init__.py +0 -0
  29. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/abstract/model_trial.py +0 -0
  30. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/autogluon_tabular/__init__.py +0 -0
  31. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/autogluon_tabular/utils.py +0 -0
  32. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/ensemble/__init__.py +0 -0
  33. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/ensemble/abstract_timeseries_ensemble.py +0 -0
  34. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/gluonts/__init__.py +0 -0
  35. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/gluonts/torch/__init__.py +0 -0
  36. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/gluonts/torch/models.py +0 -0
  37. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/local/__init__.py +0 -0
  38. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/local/naive.py +0 -0
  39. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/local/npts.py +0 -0
  40. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/local/statsforecast.py +0 -0
  41. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/multi_window/__init__.py +0 -0
  42. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/models/presets.py +0 -0
  43. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/splitter.py +0 -0
  44. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/trainer/__init__.py +0 -0
  45. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/trainer/auto_trainer.py +0 -0
  46. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/utils/__init__.py +0 -0
  47. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/utils/datetime/__init__.py +0 -0
  48. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/utils/datetime/base.py +0 -0
  49. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/utils/datetime/lags.py +0 -0
  50. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/utils/datetime/seasonality.py +0 -0
  51. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/utils/datetime/time_features.py +0 -0
  52. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/utils/features.py +0 -0
  53. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/utils/forecast.py +0 -0
  54. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon/timeseries/utils/warning_filters.py +0 -0
  55. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon.timeseries.egg-info/SOURCES.txt +0 -0
  56. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon.timeseries.egg-info/dependency_links.txt +0 -0
  57. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon.timeseries.egg-info/namespace_packages.txt +0 -0
  58. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon.timeseries.egg-info/top_level.txt +0 -0
  59. {autogluon.timeseries-1.0.1b20231231 → autogluon.timeseries-1.0.1b20240206}/src/autogluon.timeseries.egg-info/zip-safe +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autogluon.timeseries
3
- Version: 1.0.1b20231231
3
+ Version: 1.0.1b20240206
4
4
  Summary: AutoML for Image, Text, and Tabular Data
5
5
  Home-page: https://github.com/autogluon/autogluon
6
6
  Author: AutoGluon Community
@@ -11,39 +11,46 @@ Project-URL: Source, https://github.com/autogluon/autogluon/
11
11
  Project-URL: Contribute!, https://github.com/autogluon/autogluon/blob/master/CONTRIBUTING.md
12
12
  Description:
13
13
 
14
-
15
- <div align="left">
16
- <img src="https://user-images.githubusercontent.com/16392542/77208906-224aa500-6aba-11ea-96bd-e81806074030.png" width="350">
17
- </div>
14
+ <div align="center">
15
+ <img src="https://user-images.githubusercontent.com/16392542/77208906-224aa500-6aba-11ea-96bd-e81806074030.png" width="350">
18
16
 
19
17
  ## AutoML for Image, Text, Time Series, and Tabular Data
20
18
 
21
19
  [![Latest Release](https://img.shields.io/github/v/release/autogluon/autogluon)](https://github.com/autogluon/autogluon/releases)
22
- [![Continuous Integration](https://github.com/autogluon/autogluon/actions/workflows/continuous_integration.yml/badge.svg)](https://github.com/autogluon/autogluon/actions/workflows/continuous_integration.yml)
23
- [![Platform Tests](https://github.com/autogluon/autogluon/actions/workflows/platform_tests-command.yml/badge.svg?event=schedule)](https://github.com/autogluon/autogluon/actions/workflows/platform_tests-command.yml)
20
+ [![Conda Forge](https://img.shields.io/conda/vn/conda-forge/autogluon.svg)](https://anaconda.org/conda-forge/autogluon)
24
21
  [![Python Versions](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue)](https://pypi.org/project/autogluon/)
25
- [![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)
26
22
  [![Downloads](https://pepy.tech/badge/autogluon/month)](https://pepy.tech/project/autogluon)
27
- [![](https://img.shields.io/discord/1043248669505368144?logo=discord&style=flat)](https://discord.gg/wjUmjqAc2N)
23
+ [![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)
24
+ [![Discord](https://img.shields.io/discord/1043248669505368144?logo=discord&style=flat)](https://discord.gg/wjUmjqAc2N)
28
25
  [![Twitter](https://img.shields.io/twitter/follow/autogluon?style=social)](https://twitter.com/autogluon)
26
+ [![Continuous Integration](https://github.com/autogluon/autogluon/actions/workflows/continuous_integration.yml/badge.svg)](https://github.com/autogluon/autogluon/actions/workflows/continuous_integration.yml)
27
+ [![Platform Tests](https://github.com/autogluon/autogluon/actions/workflows/platform_tests-command.yml/badge.svg?event=schedule)](https://github.com/autogluon/autogluon/actions/workflows/platform_tests-command.yml)
29
28
 
30
- [Install Instructions](https://auto.gluon.ai/stable/install.html) | Documentation ([Stable](https://auto.gluon.ai/stable/index.html) | [Latest](https://auto.gluon.ai/dev/index.html))
29
+ [Install Instructions](https://auto.gluon.ai/stable/install.html) | [Documentation](https://auto.gluon.ai/stable/index.html) | [Release Notes](https://auto.gluon.ai/stable/whats_new/index.html)
31
30
 
32
31
  AutoGluon automates machine learning tasks enabling you to easily achieve strong predictive performance in your applications. With just a few lines of code, you can train and deploy high-accuracy machine learning and deep learning models on image, text, time series, and tabular data.
32
+ </div>
33
+
34
+ ## 💾 Installation
35
+
36
+ AutoGluon is supported on Python 3.8 - 3.11 and is available on Linux, MacOS, and Windows.
33
37
 
34
- ## Example
38
+ You can install AutoGluon with:
35
39
 
36
40
  ```python
37
- # First install package from terminal:
38
- # pip install -U pip
39
- # pip install -U setuptools wheel
40
- # pip install autogluon # autogluon==1.0.0
41
-
42
- from autogluon.tabular import TabularDataset, TabularPredictor
43
- train_data = TabularDataset('https://autogluon.s3.amazonaws.com/datasets/Inc/train.csv')
44
- test_data = TabularDataset('https://autogluon.s3.amazonaws.com/datasets/Inc/test.csv')
45
- predictor = TabularPredictor(label='class').fit(train_data, time_limit=120) # Fit models for 120s
46
- leaderboard = predictor.leaderboard(test_data)
41
+ pip install autogluon
42
+ ```
43
+
44
+ Visit our [Installation Guide](https://auto.gluon.ai/stable/install.html) for detailed instructions, including GPU support, Conda installs, and optional dependencies.
45
+
46
+ ## :zap: Quickstart
47
+
48
+ Build accurate end-to-end ML models in just 3 lines of code!
49
+
50
+ ```python
51
+ from autogluon.tabular import TabularPredictor
52
+ predictor = TabularPredictor(label="class").fit("train.csv")
53
+ predictions = predictor.predict("test.csv")
47
54
  ```
48
55
 
49
56
  | AutoGluon Task | Quickstart | API |
@@ -52,116 +59,50 @@ Description:
52
59
  | MultiModalPredictor | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://auto.gluon.ai/stable/api/autogluon.multimodal.MultiModalPredictor.html) |
53
60
  | TimeSeriesPredictor | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/timeseries/forecasting-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://auto.gluon.ai/stable/api/autogluon.timeseries.TimeSeriesPredictor.html) |
54
61
 
55
- ## Resources
62
+ ## :mag: Resources
56
63
 
57
- See the [AutoGluon Website](https://auto.gluon.ai/stable/index.html) for documentation and instructions on:
58
- - [Installing AutoGluon](https://auto.gluon.ai/stable/index.html#installation)
59
- - [Learning with tabular data](https://auto.gluon.ai/stable/tutorials/tabular/tabular-quick-start.html)
60
- - [Tips to maximize accuracy](https://auto.gluon.ai/stable/tutorials/tabular/tabular-essentials.html#maximizing-predictive-performance) (if **benchmarking**, make sure to run `fit()` with argument `presets='best_quality'`).
64
+ ### Hands-on Tutorials / Talks
61
65
 
62
- - [Learning with multimodal data (image, text, etc.)](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html)
63
- - [Learning with time series data](https://auto.gluon.ai/stable/tutorials/timeseries/forecasting-quick-start.html)
66
+ Below is a curated list of recent tutorials and talks on AutoGluon. A comprehensive list is available [here](AWESOME.md#videos--tutorials).
64
67
 
65
- Refer to the [AutoGluon Roadmap](https://github.com/autogluon/autogluon/blob/master/ROADMAP.md) for details on upcoming features and releases.
68
+ | Title | Format | Location | Date |
69
+ |--------------------------------------------------------------------------------------------------------------------------|----------|----------------------------------------------------------------------------------|------------|
70
+ | :tv: [AutoGluon 1.0: Shattering the AutoML Ceiling with Zero Lines of Code](https://www.youtube.com/watch?v=5tvp_Ihgnuk) | Tutorial | [AutoML Conf 2023](https://2023.automl.cc/) | 2023/09/12 |
71
+ | :sound: [AutoGluon: The Story](https://automlpodcast.com/episode/autogluon-the-story) | Podcast | [The AutoML Podcast](https://automlpodcast.com/) | 2023/09/05 |
72
+ | :tv: [AutoGluon: AutoML for Tabular, Multimodal, and Time Series Data](https://youtu.be/Lwu15m5mmbs?si=jSaFJDqkTU27C0fa) | Tutorial | PyData Berlin | 2023/06/20 |
73
+ | :tv: [Solving Complex ML Problems in a few Lines of Code with AutoGluon](https://www.youtube.com/watch?v=J1UQUCPB88I) | Tutorial | PyData Seattle | 2023/06/20 |
74
+ | :tv: [The AutoML Revolution](https://www.youtube.com/watch?v=VAAITEds-28) | Tutorial | [Fall AutoML School 2022](https://sites.google.com/view/automl-fall-school-2022) | 2022/10/18 |
66
75
 
67
76
  ### Scientific Publications
68
- - [AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data](https://arxiv.org/pdf/2003.06505.pdf) (*Arxiv*, 2020)
69
- - [Fast, Accurate, and Simple Models for Tabular Data via Augmented Distillation](https://proceedings.neurips.cc/paper/2020/hash/62d75fb2e3075506e8837d8f55021ab1-Abstract.html) (*NeurIPS*, 2020)
70
- - [Multimodal AutoML on Structured Tables with Text Fields](https://openreview.net/pdf?id=OHAIVOOl7Vl) (*ICML AutoML Workshop*, 2021)
77
+ - [AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data](https://arxiv.org/pdf/2003.06505.pdf) (*Arxiv*, 2020) ([BibTeX](CITING.md#general-usage--autogluontabular))
78
+ - [Fast, Accurate, and Simple Models for Tabular Data via Augmented Distillation](https://proceedings.neurips.cc/paper/2020/hash/62d75fb2e3075506e8837d8f55021ab1-Abstract.html) (*NeurIPS*, 2020) ([BibTeX](CITING.md#tabular-distillation))
79
+ - [Benchmarking Multimodal AutoML for Tabular Data with Text Fields](https://datasets-benchmarks-proceedings.neurips.cc/paper/2021/file/9bf31c7ff062936a96d3c8bd1f8f2ff3-Paper-round2.pdf) (*NeurIPS*, 2021) ([BibTeX](CITING.md#autogluonmultimodal))
80
+ - [XTab: Cross-table Pretraining for Tabular Transformers](https://proceedings.mlr.press/v202/zhu23k/zhu23k.pdf) (*ICML*, 2023)
81
+ - [AutoGluon-TimeSeries: AutoML for Probabilistic Time Series Forecasting](https://arxiv.org/abs/2308.05566) (*AutoML Conf*, 2023) ([BibTeX](CITING.md#autogluontimeseries))
82
+ - [TabRepo: A Large Scale Repository of Tabular Model Evaluations and its AutoML Applications](https://arxiv.org/pdf/2311.02971.pdf) (*Under Review*, 2024)
71
83
 
72
84
  ### Articles
85
+ - [AutoGluon-TimeSeries: Every Time Series Forecasting Model In One Library](https://towardsdatascience.com/autogluon-timeseries-every-time-series-forecasting-model-in-one-library-29a3bf6879db) (*Towards Data Science*, Jan 2024)
73
86
  - [AutoGluon for tabular data: 3 lines of code to achieve top 1% in Kaggle competitions](https://aws.amazon.com/blogs/opensource/machine-learning-with-autogluon-an-open-source-automl-library/) (*AWS Open Source Blog*, Mar 2020)
74
- - [Accurate image classification in 3 lines of code with AutoGluon](https://medium.com/@zhanghang0704/image-classification-on-kaggle-using-autogluon-fc896e74d7e8) (*Medium*, Feb 2020)
75
87
  - [AutoGluon overview & example applications](https://towardsdatascience.com/autogluon-deep-learning-automl-5cdb4e2388ec?source=friends_link&sk=e3d17d06880ac714e47f07f39178fdf2) (*Towards Data Science*, Dec 2019)
76
88
 
77
- ### Hands-on Tutorials
78
- - [Practical Automated Machine Learning with Tabular, Text, and Image Data (KDD 2020)](https://jwmueller.github.io/KDD20-tutorial/)
79
-
80
89
  ### Train/Deploy AutoGluon in the Cloud
81
- - [AutoGluon-Tabular on AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-n4zf5pmjt7ism)
82
- - [AutoGluon-Tabular on Amazon SageMaker](https://github.com/aws/amazon-sagemaker-examples/tree/master/advanced_functionality/autogluon-tabular-containers)
83
- - [AutoGluon Deep Learning Containers](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#autogluon-training-containers)
84
-
85
- ## Contributing to AutoGluon
86
-
87
- We are actively accepting code contributions to the AutoGluon project. If you are interested in contributing to AutoGluon, please read the [Contributing Guide](https://github.com/autogluon/autogluon/blob/master/CONTRIBUTING.md) to get started.
88
-
89
- ## Citing AutoGluon
90
+ - [AutoGluon Cloud](https://auto.gluon.ai/cloud/stable/index.html) (Recommended)
91
+ - [AutoGluon on SageMaker AutoPilot](https://auto.gluon.ai/stable/tutorials/cloud_fit_deploy/autopilot-autogluon.html)
92
+ - [AutoGluon on Amazon SageMaker](https://auto.gluon.ai/stable/tutorials/cloud_fit_deploy/cloud-aws-sagemaker-train-deploy.html)
93
+ - [AutoGluon Deep Learning Containers](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#autogluon-training-containers) (Security certified & maintained by the AutoGluon developers)
94
+ - [AutoGluon Official Docker Container](https://hub.docker.com/r/autogluon/autogluon)
95
+ - [AutoGluon-Tabular on AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-n4zf5pmjt7ism) (Not maintained by us)
90
96
 
91
- If you use AutoGluon in a scientific publication, please cite the following paper:
97
+ ## :pencil: Citing AutoGluon
92
98
 
93
- Erickson, Nick, et al. ["AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data."](https://arxiv.org/abs/2003.06505) arXiv preprint arXiv:2003.06505 (2020).
99
+ If you use AutoGluon in a scientific publication, please refer to our [citation guide](CITING.md).
94
100
 
95
- BibTeX entry:
96
-
97
- ```bibtex
98
- @article{agtabular,
99
- title={AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data},
100
- author={Erickson, Nick and Mueller, Jonas and Shirkov, Alexander and Zhang, Hang and Larroy, Pedro and Li, Mu and Smola, Alexander},
101
- journal={arXiv preprint arXiv:2003.06505},
102
- year={2020}
103
- }
104
- ```
105
-
106
- If you are using AutoGluon Tabular's model distillation functionality, please cite the following paper:
107
-
108
- Fakoor, Rasool, et al. ["Fast, Accurate, and Simple Models for Tabular Data via Augmented Distillation."](https://proceedings.neurips.cc/paper/2020/hash/62d75fb2e3075506e8837d8f55021ab1-Abstract.html) Advances in Neural Information Processing Systems 33 (2020).
109
-
110
- BibTeX entry:
111
-
112
- ```bibtex
113
- @article{agtabulardistill,
114
- title={Fast, Accurate, and Simple Models for Tabular Data via Augmented Distillation},
115
- author={Fakoor, Rasool and Mueller, Jonas W and Erickson, Nick and Chaudhari, Pratik and Smola, Alexander J},
116
- journal={Advances in Neural Information Processing Systems},
117
- volume={33},
118
- year={2020}
119
- }
120
- ```
121
-
122
- If you use AutoGluon's multimodal text+tabular functionality in a scientific publication, please cite the following paper:
123
-
124
- Shi, Xingjian, et al. ["Multimodal AutoML on Structured Tables with Text Fields."](https://openreview.net/forum?id=OHAIVOOl7Vl) 8th ICML Workshop on Automated Machine Learning (AutoML). 2021.
125
-
126
- BibTeX entry:
127
-
128
- ```bibtex
129
- @inproceedings{agmultimodaltext,
130
- title={Multimodal AutoML on Structured Tables with Text Fields},
131
- author={Shi, Xingjian and Mueller, Jonas and Erickson, Nick and Li, Mu and Smola, Alex},
132
- booktitle={8th ICML Workshop on Automated Machine Learning (AutoML)},
133
- year={2021}
134
- }
135
- ```
136
-
137
- If you use AutoGluon's time series forecasting functionality in a scientific publication, please cite the following paper:
138
- ```bibtex
139
- @inproceedings{agtimeseries,
140
- title={{AutoGluon-TimeSeries}: {AutoML} for Probabilistic Time Series Forecasting},
141
- author={Shchur, Oleksandr and Turkmen, Caner and Erickson, Nick and Shen, Huibin and Shirkov, Alexander and Hu, Tony and Wang, Yuyang},
142
- booktitle={International Conference on Automated Machine Learning},
143
- year={2023}
144
- }
145
- ```
146
-
147
-
148
- ## AutoGluon for Hyperparameter Optimization
149
-
150
- AutoGluon's state-of-the-art tools for hyperparameter optimization, such as ASHA, Hyperband, Bayesian Optimization and BOHB have moved to the stand-alone package [syne-tune](https://github.com/awslabs/syne-tune).
151
-
152
- To learn more, checkout our paper ["Model-based Asynchronous Hyperparameter and Neural Architecture Search"](https://arxiv.org/abs/2003.10865) arXiv preprint arXiv:2003.10865 (2020).
153
-
154
- ```bibtex
155
- @article{abohb,
156
- title={Model-based Asynchronous Hyperparameter and Neural Architecture Search},
157
- author={Klein, Aaron and Tiao, Louis and Lienart, Thibaut and Archambeau, Cedric and Seeger, Matthias},
158
- journal={arXiv preprint arXiv:2003.10865},
159
- year={2020}
160
- }
161
- ```
101
+ ## :wave: How to get involved
162
102
 
103
+ We are actively accepting code contributions to the AutoGluon project. If you are interested in contributing to AutoGluon, please read the [Contributing Guide](https://github.com/autogluon/autogluon/blob/master/CONTRIBUTING.md) to get started.
163
104
 
164
- ## License
105
+ ## :classical_building: License
165
106
 
166
107
  This library is licensed under the Apache 2.0 License.
167
108
 
@@ -227,11 +227,6 @@ class AbstractTimeSeriesModel(AbstractModel):
227
227
  verbosity : int, default = 2
228
228
  Verbosity levels range from 0 to 4 and control how much information is printed.
229
229
  Higher levels correspond to more detailed print statements (you can set verbosity = 0 to suppress warnings).
230
- verbosity 4: logs every training iteration, and logs the most detailed information.
231
- verbosity 3: logs training iterations periodically, and logs more detailed information.
232
- verbosity 2: logs only important information.
233
- verbosity 1: logs only warnings and exceptions.
234
- verbosity 0: logs only exceptions.
235
230
  **kwargs :
236
231
  Any additional fit arguments a model supports.
237
232
 
@@ -427,7 +422,6 @@ class AbstractTimeSeriesModel(AbstractModel):
427
422
  hpo_executor: HpoExecutor,
428
423
  **kwargs,
429
424
  ):
430
- # verbosity = kwargs.get('verbosity', 2)
431
425
  time_start = time.time()
432
426
  logger.debug(f"\tStarting AbstractTimeSeriesModel hyperparameter tuning for {self.name}")
433
427
  search_space = self._get_search_space()
@@ -9,7 +9,6 @@ import pandas as pd
9
9
  from sklearn.base import BaseEstimator
10
10
 
11
11
  import autogluon.core as ag
12
- from autogluon.common.utils.log_utils import set_logger_verbosity
13
12
  from autogluon.tabular import TabularPredictor
14
13
  from autogluon.timeseries.dataset.ts_dataframe import ITEMID, TIMESTAMP, TimeSeriesDataFrame
15
14
  from autogluon.timeseries.models.abstract import AbstractTimeSeriesModel
@@ -249,7 +248,6 @@ class AbstractMLForecastModel(AbstractTimeSeriesModel):
249
248
  from mlforecast import MLForecast
250
249
 
251
250
  self._check_fit_params()
252
- set_logger_verbosity(verbosity, logger=logger)
253
251
  fit_start_time = time.time()
254
252
  # TabularEstimator is passed to MLForecast later to include tuning_data
255
253
  model_params = self._get_model_params()
@@ -6,7 +6,6 @@ from typing import Dict, List, Optional
6
6
  import numpy as np
7
7
 
8
8
  import autogluon.core as ag
9
- from autogluon.common.utils.log_utils import set_logger_verbosity
10
9
  from autogluon.core.models.greedy_ensemble.ensemble_selection import EnsembleSelection
11
10
  from autogluon.timeseries import TimeSeriesDataFrame
12
11
  from autogluon.timeseries.metrics import TimeSeriesScorer
@@ -112,10 +111,8 @@ class TimeSeriesGreedyEnsemble(AbstractTimeSeriesEnsembleModel):
112
111
  predictions_per_window: Dict[str, List[TimeSeriesDataFrame]],
113
112
  data_per_window: List[TimeSeriesDataFrame],
114
113
  time_limit: Optional[int] = None,
115
- verbosity: int = 2,
116
114
  **kwargs,
117
115
  ):
118
- set_logger_verbosity(verbosity, logger=logger)
119
116
  if self.eval_metric_seasonal_period is None:
120
117
  self.eval_metric_seasonal_period = get_seasonality(self.freq)
121
118
  ensemble_selection = TimeSeriesEnsembleSelection(
@@ -18,7 +18,6 @@ from gluonts.model.predictor import Predictor as GluonTSPredictor
18
18
  from pandas.tseries.frequencies import to_offset
19
19
 
20
20
  from autogluon.common.loaders import load_pkl
21
- from autogluon.common.utils.log_utils import set_logger_verbosity
22
21
  from autogluon.core.hpo.constants import RAY_BACKEND
23
22
  from autogluon.timeseries.dataset.ts_dataframe import ITEMID, TIMESTAMP, TimeSeriesDataFrame
24
23
  from autogluon.timeseries.models.abstract import AbstractTimeSeriesModel
@@ -383,7 +382,6 @@ class AbstractGluonTSModel(AbstractTimeSeriesModel):
383
382
  if "lightning" in logger_name:
384
383
  pl_logger = logging.getLogger(logger_name)
385
384
  pl_logger.setLevel(logging.ERROR if verbosity <= 3 else logging.INFO)
386
- set_logger_verbosity(verbosity, logger=logger)
387
385
  gts_logger.setLevel(logging.ERROR if verbosity <= 3 else logging.INFO)
388
386
 
389
387
  if verbosity > 3:
@@ -8,7 +8,6 @@ import pandas as pd
8
8
  from joblib import Parallel, delayed
9
9
  from scipy.stats import norm
10
10
 
11
- from autogluon.common.utils.log_utils import set_logger_verbosity
12
11
  from autogluon.core.utils.exceptions import TimeLimitExceeded
13
12
  from autogluon.timeseries.dataset.ts_dataframe import ITEMID, TimeSeriesDataFrame
14
13
  from autogluon.timeseries.models.abstract import AbstractTimeSeriesModel
@@ -87,9 +86,8 @@ class AbstractLocalModel(AbstractTimeSeriesModel):
87
86
  self._seasonal_period: Optional[int] = None
88
87
  self.time_limit: Optional[float] = None
89
88
 
90
- def _fit(self, train_data: TimeSeriesDataFrame, time_limit: Optional[int] = None, verbosity: int = 2, **kwargs):
89
+ def _fit(self, train_data: TimeSeriesDataFrame, time_limit: Optional[int] = None, **kwargs):
91
90
  self._check_fit_params()
92
- set_logger_verbosity(verbosity, logger=logger)
93
91
 
94
92
  if time_limit is not None and time_limit < self.init_time_in_seconds:
95
93
  raise TimeLimitExceeded
@@ -9,7 +9,6 @@ from typing import Dict, Optional, Type, Union
9
9
  import numpy as np
10
10
 
11
11
  import autogluon.core as ag
12
- from autogluon.common.utils.log_utils import set_logger_verbosity
13
12
  from autogluon.timeseries.dataset.ts_dataframe import TimeSeriesDataFrame
14
13
  from autogluon.timeseries.models.abstract import AbstractTimeSeriesModel
15
14
  from autogluon.timeseries.models.local.abstract_local_model import AbstractLocalModel
@@ -82,9 +81,6 @@ class MultiWindowBacktestingModel(AbstractTimeSeriesModel):
82
81
  ):
83
82
  # TODO: use incremental training for GluonTS models?
84
83
  # TODO: implement parallel fitting similar to ParallelLocalFoldFittingStrategy in tabular?
85
- verbosity = kwargs.get("verbosity", 2)
86
- set_logger_verbosity(verbosity, logger=logger)
87
-
88
84
  if val_data is not None:
89
85
  raise ValueError(f"val_data should not be passed to {self.name}.fit()")
90
86
  if val_splitter is None:
@@ -9,7 +9,7 @@ from typing import Any, Dict, List, Optional, Tuple, Type, Union
9
9
  import pandas as pd
10
10
 
11
11
  from autogluon.common.utils.deprecated_utils import Deprecated
12
- from autogluon.common.utils.log_utils import set_logger_verbosity
12
+ from autogluon.common.utils.log_utils import add_log_to_file, set_logger_verbosity
13
13
  from autogluon.common.utils.system_info import get_ag_system_info
14
14
  from autogluon.common.utils.utils import check_saved_predictor_version, seed_everything, setup_outputdir
15
15
  from autogluon.core.utils.decorators import apply_presets
@@ -23,7 +23,7 @@ from autogluon.timeseries.metrics import TimeSeriesScorer, check_get_evaluation_
23
23
  from autogluon.timeseries.splitter import ExpandingWindowSplitter
24
24
  from autogluon.timeseries.trainer import AbstractTimeSeriesTrainer
25
25
 
26
- logger = logging.getLogger(__name__)
26
+ logger = logging.getLogger("autogluon.timeseries")
27
27
 
28
28
 
29
29
  class TimeSeriesPredictorDeprecatedMixin:
@@ -123,9 +123,15 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
123
123
  verbosity : int, default = 2
124
124
  Verbosity levels range from 0 to 4 and control how much information is printed to stdout. Higher levels
125
125
  correspond to more detailed print statements, and ``verbosity=0`` suppresses output including warnings.
126
- If using ``logging``, you can alternatively control amount of information printed via ``logger.setLevel(L)``,
127
- where ``L`` ranges from 0 to 50 (Note: higher values of ``L`` correspond to fewer print statements, opposite
128
- of verbosity levels).
126
+ Verbosity 0 corresponds to Python's ERROR log level, where only error outputs will be logged. Verbosity 1 and 2
127
+ will additionally log warnings and info outputs, respectively. Verbosity 4 enables all logging output including
128
+ debug messages from AutoGluon and all logging in dependencies (GluonTS, PyTorch Lightning, AutoGluon-Tabular, etc.)
129
+ log_to_file: bool, default = True
130
+ Whether to save the logs into a file for later reference
131
+ log_file_path: Union[str, Path], default = "auto"
132
+ File path to save the logs.
133
+ If auto, logs will be saved under `predictor_path/logs/predictor_log.txt`.
134
+ Will be ignored if `log_to_file` is set to False
129
135
  cache_predictions : bool, default = True
130
136
  If True, the predictor will cache and reuse the predictions made by individual models whenever
131
137
  :meth:`~autogluon.timeseries.TimeSeriesPredictor.predict`, :meth:`~autogluon.timeseries.TimeSeriesPredictor.leaderboard`,
@@ -138,6 +144,7 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
138
144
 
139
145
  predictor_file_name = "predictor.pkl"
140
146
  _predictor_version_file_name = "__version__"
147
+ _predictor_log_file_name = "predictor_log.txt"
141
148
 
142
149
  def __init__(
143
150
  self,
@@ -149,6 +156,8 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
149
156
  eval_metric_seasonal_period: Optional[int] = None,
150
157
  path: Optional[Union[str, Path]] = None,
151
158
  verbosity: int = 2,
159
+ log_to_file: bool = True,
160
+ log_file_path: Union[str, Path] = "auto",
152
161
  quantile_levels: Optional[List[float]] = None,
153
162
  cache_predictions: bool = True,
154
163
  learner_type: Optional[Type[AbstractLearner]] = None,
@@ -159,6 +168,7 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
159
168
  self.verbosity = verbosity
160
169
  set_logger_verbosity(self.verbosity, logger=logger)
161
170
  self.path = setup_outputdir(path)
171
+ self._setup_log_to_file(log_to_file=log_to_file, log_file_path=log_file_path)
162
172
 
163
173
  self.cache_predictions = cache_predictions
164
174
  if target is not None and label is not None:
@@ -229,6 +239,14 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
229
239
  def _trainer(self) -> AbstractTimeSeriesTrainer:
230
240
  return self._learner.load_trainer() # noqa
231
241
 
242
+ def _setup_log_to_file(self, log_to_file: bool, log_file_path: Union[str, Path]) -> None:
243
+ if log_to_file:
244
+ if log_file_path == "auto":
245
+ log_file_path = os.path.join(self.path, "logs", self._predictor_log_file_name)
246
+ log_file_path = os.path.abspath(os.path.normpath(log_file_path))
247
+ os.makedirs(os.path.dirname(log_file_path), exist_ok=True)
248
+ add_log_to_file(log_file_path)
249
+
232
250
  def _to_data_frame(
233
251
  self,
234
252
  data: Union[TimeSeriesDataFrame, pd.DataFrame, str],
@@ -621,6 +639,10 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
621
639
  if self._learner.is_fit:
622
640
  raise AssertionError("Predictor is already fit! To fit additional models create a new `Predictor`.")
623
641
 
642
+ if verbosity is None:
643
+ verbosity = self.verbosity
644
+ set_logger_verbosity(verbosity, logger=logger)
645
+
624
646
  logger.info("Beginning AutoGluon training..." + (f" Time limit = {time_limit}s" if time_limit else ""))
625
647
  logger.info(f"AutoGluon will save models to '{self.path}'")
626
648
  logger.info(get_ag_system_info(path=self.path, include_gpu_count=True))
@@ -628,10 +650,6 @@ class TimeSeriesPredictor(TimeSeriesPredictorDeprecatedMixin):
628
650
  if hyperparameters is None:
629
651
  hyperparameters = "default"
630
652
 
631
- if verbosity is None:
632
- verbosity = self.verbosity
633
- set_logger_verbosity(verbosity)
634
-
635
653
  fit_args = dict(
636
654
  prediction_length=self.prediction_length,
637
655
  target=self.target,
@@ -12,7 +12,6 @@ import numpy as np
12
12
  import pandas as pd
13
13
  from tqdm import tqdm
14
14
 
15
- from autogluon.common.utils.log_utils import set_logger_verbosity
16
15
  from autogluon.common.utils.utils import hash_pandas_df
17
16
  from autogluon.core.models import AbstractModel
18
17
  from autogluon.core.utils.exceptions import TimeLimitExceeded
@@ -275,7 +274,6 @@ class AbstractTimeSeriesTrainer(SimpleAbstractTrainer):
275
274
  self.ensemble_model_type = TimeSeriesGreedyEnsemble
276
275
 
277
276
  self.verbosity = verbosity
278
- set_logger_verbosity(self.verbosity, logger=logger)
279
277
 
280
278
  # Dict of normal model -> FULL model. FULL models are produced by
281
279
  # self.refit_single_full() and self.refit_full().
@@ -688,9 +686,7 @@ class AbstractTimeSeriesTrainer(SimpleAbstractTrainer):
688
686
  quantile_levels=self.quantile_levels,
689
687
  metadata=self.metadata,
690
688
  )
691
- ensemble.fit_ensemble(
692
- model_preds, data_per_window=data_per_window, time_limit=time_limit, verbosity=self.verbosity
693
- )
689
+ ensemble.fit_ensemble(model_preds, data_per_window=data_per_window, time_limit=time_limit)
694
690
  ensemble.fit_time = time.time() - time_start
695
691
 
696
692
  predict_time = 0
@@ -717,6 +713,9 @@ class AbstractTimeSeriesTrainer(SimpleAbstractTrainer):
717
713
  logger.debug("Generating leaderboard for all models trained")
718
714
 
719
715
  model_names = self.get_model_names()
716
+ if len(model_names) == 0:
717
+ logger.warning("Warning: No models were trained during fit. Resulting leaderboard will be empty.")
718
+
720
719
  model_info = {}
721
720
  for ix, model_name in enumerate(model_names):
722
721
  model_info[model_name] = {
@@ -754,12 +753,6 @@ class AbstractTimeSeriesTrainer(SimpleAbstractTrainer):
754
753
  model_info[model_name]["score_test"] = self._score_with_predictions(data, model_preds)
755
754
  model_info[model_name]["pred_time_test"] = pred_time_dict[model_name]
756
755
 
757
- df = pd.DataFrame(model_info.values())
758
-
759
- sort_column = "score_test" if "score_test" in df.columns else "score_val"
760
- df.sort_values(by=[sort_column, "model"], ascending=[False, False], inplace=True)
761
- df.reset_index(drop=True, inplace=True)
762
-
763
756
  explicit_column_order = [
764
757
  "model",
765
758
  "score_test",
@@ -769,9 +762,17 @@ class AbstractTimeSeriesTrainer(SimpleAbstractTrainer):
769
762
  "fit_time_marginal",
770
763
  "fit_order",
771
764
  ]
772
- explicit_column_order = [c for c in explicit_column_order if c in df.columns] + [
773
- c for c in df.columns if c not in explicit_column_order
774
- ]
765
+
766
+ df = pd.DataFrame(model_info.values(), columns=explicit_column_order)
767
+ if data is None:
768
+ explicit_column_order.remove("score_test")
769
+ explicit_column_order.remove("pred_time_test")
770
+ sort_column = "score_val"
771
+ else:
772
+ sort_column = "score_test"
773
+
774
+ df.sort_values(by=[sort_column, "model"], ascending=[False, False], inplace=True)
775
+ df.reset_index(drop=True, inplace=True)
775
776
 
776
777
  return df[explicit_column_order]
777
778
 
@@ -1,3 +1,3 @@
1
1
  """This is the autogluon version file."""
2
- __version__ = '1.0.1b20231231'
2
+ __version__ = '1.0.1b20240206'
3
3
  __lite__ = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autogluon.timeseries
3
- Version: 1.0.1b20231231
3
+ Version: 1.0.1b20240206
4
4
  Summary: AutoML for Image, Text, and Tabular Data
5
5
  Home-page: https://github.com/autogluon/autogluon
6
6
  Author: AutoGluon Community
@@ -11,39 +11,46 @@ Project-URL: Source, https://github.com/autogluon/autogluon/
11
11
  Project-URL: Contribute!, https://github.com/autogluon/autogluon/blob/master/CONTRIBUTING.md
12
12
  Description:
13
13
 
14
-
15
- <div align="left">
16
- <img src="https://user-images.githubusercontent.com/16392542/77208906-224aa500-6aba-11ea-96bd-e81806074030.png" width="350">
17
- </div>
14
+ <div align="center">
15
+ <img src="https://user-images.githubusercontent.com/16392542/77208906-224aa500-6aba-11ea-96bd-e81806074030.png" width="350">
18
16
 
19
17
  ## AutoML for Image, Text, Time Series, and Tabular Data
20
18
 
21
19
  [![Latest Release](https://img.shields.io/github/v/release/autogluon/autogluon)](https://github.com/autogluon/autogluon/releases)
22
- [![Continuous Integration](https://github.com/autogluon/autogluon/actions/workflows/continuous_integration.yml/badge.svg)](https://github.com/autogluon/autogluon/actions/workflows/continuous_integration.yml)
23
- [![Platform Tests](https://github.com/autogluon/autogluon/actions/workflows/platform_tests-command.yml/badge.svg?event=schedule)](https://github.com/autogluon/autogluon/actions/workflows/platform_tests-command.yml)
20
+ [![Conda Forge](https://img.shields.io/conda/vn/conda-forge/autogluon.svg)](https://anaconda.org/conda-forge/autogluon)
24
21
  [![Python Versions](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue)](https://pypi.org/project/autogluon/)
25
- [![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)
26
22
  [![Downloads](https://pepy.tech/badge/autogluon/month)](https://pepy.tech/project/autogluon)
27
- [![](https://img.shields.io/discord/1043248669505368144?logo=discord&style=flat)](https://discord.gg/wjUmjqAc2N)
23
+ [![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)
24
+ [![Discord](https://img.shields.io/discord/1043248669505368144?logo=discord&style=flat)](https://discord.gg/wjUmjqAc2N)
28
25
  [![Twitter](https://img.shields.io/twitter/follow/autogluon?style=social)](https://twitter.com/autogluon)
26
+ [![Continuous Integration](https://github.com/autogluon/autogluon/actions/workflows/continuous_integration.yml/badge.svg)](https://github.com/autogluon/autogluon/actions/workflows/continuous_integration.yml)
27
+ [![Platform Tests](https://github.com/autogluon/autogluon/actions/workflows/platform_tests-command.yml/badge.svg?event=schedule)](https://github.com/autogluon/autogluon/actions/workflows/platform_tests-command.yml)
29
28
 
30
- [Install Instructions](https://auto.gluon.ai/stable/install.html) | Documentation ([Stable](https://auto.gluon.ai/stable/index.html) | [Latest](https://auto.gluon.ai/dev/index.html))
29
+ [Install Instructions](https://auto.gluon.ai/stable/install.html) | [Documentation](https://auto.gluon.ai/stable/index.html) | [Release Notes](https://auto.gluon.ai/stable/whats_new/index.html)
31
30
 
32
31
  AutoGluon automates machine learning tasks enabling you to easily achieve strong predictive performance in your applications. With just a few lines of code, you can train and deploy high-accuracy machine learning and deep learning models on image, text, time series, and tabular data.
32
+ </div>
33
+
34
+ ## 💾 Installation
35
+
36
+ AutoGluon is supported on Python 3.8 - 3.11 and is available on Linux, MacOS, and Windows.
33
37
 
34
- ## Example
38
+ You can install AutoGluon with:
35
39
 
36
40
  ```python
37
- # First install package from terminal:
38
- # pip install -U pip
39
- # pip install -U setuptools wheel
40
- # pip install autogluon # autogluon==1.0.0
41
-
42
- from autogluon.tabular import TabularDataset, TabularPredictor
43
- train_data = TabularDataset('https://autogluon.s3.amazonaws.com/datasets/Inc/train.csv')
44
- test_data = TabularDataset('https://autogluon.s3.amazonaws.com/datasets/Inc/test.csv')
45
- predictor = TabularPredictor(label='class').fit(train_data, time_limit=120) # Fit models for 120s
46
- leaderboard = predictor.leaderboard(test_data)
41
+ pip install autogluon
42
+ ```
43
+
44
+ Visit our [Installation Guide](https://auto.gluon.ai/stable/install.html) for detailed instructions, including GPU support, Conda installs, and optional dependencies.
45
+
46
+ ## :zap: Quickstart
47
+
48
+ Build accurate end-to-end ML models in just 3 lines of code!
49
+
50
+ ```python
51
+ from autogluon.tabular import TabularPredictor
52
+ predictor = TabularPredictor(label="class").fit("train.csv")
53
+ predictions = predictor.predict("test.csv")
47
54
  ```
48
55
 
49
56
  | AutoGluon Task | Quickstart | API |
@@ -52,116 +59,50 @@ Description:
52
59
  | MultiModalPredictor | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://auto.gluon.ai/stable/api/autogluon.multimodal.MultiModalPredictor.html) |
53
60
  | TimeSeriesPredictor | [![Quick Start](https://img.shields.io/static/v1?label=&message=tutorial&color=grey)](https://auto.gluon.ai/stable/tutorials/timeseries/forecasting-quick-start.html) | [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://auto.gluon.ai/stable/api/autogluon.timeseries.TimeSeriesPredictor.html) |
54
61
 
55
- ## Resources
62
+ ## :mag: Resources
56
63
 
57
- See the [AutoGluon Website](https://auto.gluon.ai/stable/index.html) for documentation and instructions on:
58
- - [Installing AutoGluon](https://auto.gluon.ai/stable/index.html#installation)
59
- - [Learning with tabular data](https://auto.gluon.ai/stable/tutorials/tabular/tabular-quick-start.html)
60
- - [Tips to maximize accuracy](https://auto.gluon.ai/stable/tutorials/tabular/tabular-essentials.html#maximizing-predictive-performance) (if **benchmarking**, make sure to run `fit()` with argument `presets='best_quality'`).
64
+ ### Hands-on Tutorials / Talks
61
65
 
62
- - [Learning with multimodal data (image, text, etc.)](https://auto.gluon.ai/stable/tutorials/multimodal/multimodal_prediction/multimodal-quick-start.html)
63
- - [Learning with time series data](https://auto.gluon.ai/stable/tutorials/timeseries/forecasting-quick-start.html)
66
+ Below is a curated list of recent tutorials and talks on AutoGluon. A comprehensive list is available [here](AWESOME.md#videos--tutorials).
64
67
 
65
- Refer to the [AutoGluon Roadmap](https://github.com/autogluon/autogluon/blob/master/ROADMAP.md) for details on upcoming features and releases.
68
+ | Title | Format | Location | Date |
69
+ |--------------------------------------------------------------------------------------------------------------------------|----------|----------------------------------------------------------------------------------|------------|
70
+ | :tv: [AutoGluon 1.0: Shattering the AutoML Ceiling with Zero Lines of Code](https://www.youtube.com/watch?v=5tvp_Ihgnuk) | Tutorial | [AutoML Conf 2023](https://2023.automl.cc/) | 2023/09/12 |
71
+ | :sound: [AutoGluon: The Story](https://automlpodcast.com/episode/autogluon-the-story) | Podcast | [The AutoML Podcast](https://automlpodcast.com/) | 2023/09/05 |
72
+ | :tv: [AutoGluon: AutoML for Tabular, Multimodal, and Time Series Data](https://youtu.be/Lwu15m5mmbs?si=jSaFJDqkTU27C0fa) | Tutorial | PyData Berlin | 2023/06/20 |
73
+ | :tv: [Solving Complex ML Problems in a few Lines of Code with AutoGluon](https://www.youtube.com/watch?v=J1UQUCPB88I) | Tutorial | PyData Seattle | 2023/06/20 |
74
+ | :tv: [The AutoML Revolution](https://www.youtube.com/watch?v=VAAITEds-28) | Tutorial | [Fall AutoML School 2022](https://sites.google.com/view/automl-fall-school-2022) | 2022/10/18 |
66
75
 
67
76
  ### Scientific Publications
68
- - [AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data](https://arxiv.org/pdf/2003.06505.pdf) (*Arxiv*, 2020)
69
- - [Fast, Accurate, and Simple Models for Tabular Data via Augmented Distillation](https://proceedings.neurips.cc/paper/2020/hash/62d75fb2e3075506e8837d8f55021ab1-Abstract.html) (*NeurIPS*, 2020)
70
- - [Multimodal AutoML on Structured Tables with Text Fields](https://openreview.net/pdf?id=OHAIVOOl7Vl) (*ICML AutoML Workshop*, 2021)
77
+ - [AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data](https://arxiv.org/pdf/2003.06505.pdf) (*Arxiv*, 2020) ([BibTeX](CITING.md#general-usage--autogluontabular))
78
+ - [Fast, Accurate, and Simple Models for Tabular Data via Augmented Distillation](https://proceedings.neurips.cc/paper/2020/hash/62d75fb2e3075506e8837d8f55021ab1-Abstract.html) (*NeurIPS*, 2020) ([BibTeX](CITING.md#tabular-distillation))
79
+ - [Benchmarking Multimodal AutoML for Tabular Data with Text Fields](https://datasets-benchmarks-proceedings.neurips.cc/paper/2021/file/9bf31c7ff062936a96d3c8bd1f8f2ff3-Paper-round2.pdf) (*NeurIPS*, 2021) ([BibTeX](CITING.md#autogluonmultimodal))
80
+ - [XTab: Cross-table Pretraining for Tabular Transformers](https://proceedings.mlr.press/v202/zhu23k/zhu23k.pdf) (*ICML*, 2023)
81
+ - [AutoGluon-TimeSeries: AutoML for Probabilistic Time Series Forecasting](https://arxiv.org/abs/2308.05566) (*AutoML Conf*, 2023) ([BibTeX](CITING.md#autogluontimeseries))
82
+ - [TabRepo: A Large Scale Repository of Tabular Model Evaluations and its AutoML Applications](https://arxiv.org/pdf/2311.02971.pdf) (*Under Review*, 2024)
71
83
 
72
84
  ### Articles
85
+ - [AutoGluon-TimeSeries: Every Time Series Forecasting Model In One Library](https://towardsdatascience.com/autogluon-timeseries-every-time-series-forecasting-model-in-one-library-29a3bf6879db) (*Towards Data Science*, Jan 2024)
73
86
  - [AutoGluon for tabular data: 3 lines of code to achieve top 1% in Kaggle competitions](https://aws.amazon.com/blogs/opensource/machine-learning-with-autogluon-an-open-source-automl-library/) (*AWS Open Source Blog*, Mar 2020)
74
- - [Accurate image classification in 3 lines of code with AutoGluon](https://medium.com/@zhanghang0704/image-classification-on-kaggle-using-autogluon-fc896e74d7e8) (*Medium*, Feb 2020)
75
87
  - [AutoGluon overview & example applications](https://towardsdatascience.com/autogluon-deep-learning-automl-5cdb4e2388ec?source=friends_link&sk=e3d17d06880ac714e47f07f39178fdf2) (*Towards Data Science*, Dec 2019)
76
88
 
77
- ### Hands-on Tutorials
78
- - [Practical Automated Machine Learning with Tabular, Text, and Image Data (KDD 2020)](https://jwmueller.github.io/KDD20-tutorial/)
79
-
80
89
  ### Train/Deploy AutoGluon in the Cloud
81
- - [AutoGluon-Tabular on AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-n4zf5pmjt7ism)
82
- - [AutoGluon-Tabular on Amazon SageMaker](https://github.com/aws/amazon-sagemaker-examples/tree/master/advanced_functionality/autogluon-tabular-containers)
83
- - [AutoGluon Deep Learning Containers](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#autogluon-training-containers)
84
-
85
- ## Contributing to AutoGluon
86
-
87
- We are actively accepting code contributions to the AutoGluon project. If you are interested in contributing to AutoGluon, please read the [Contributing Guide](https://github.com/autogluon/autogluon/blob/master/CONTRIBUTING.md) to get started.
88
-
89
- ## Citing AutoGluon
90
+ - [AutoGluon Cloud](https://auto.gluon.ai/cloud/stable/index.html) (Recommended)
91
+ - [AutoGluon on SageMaker AutoPilot](https://auto.gluon.ai/stable/tutorials/cloud_fit_deploy/autopilot-autogluon.html)
92
+ - [AutoGluon on Amazon SageMaker](https://auto.gluon.ai/stable/tutorials/cloud_fit_deploy/cloud-aws-sagemaker-train-deploy.html)
93
+ - [AutoGluon Deep Learning Containers](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#autogluon-training-containers) (Security certified & maintained by the AutoGluon developers)
94
+ - [AutoGluon Official Docker Container](https://hub.docker.com/r/autogluon/autogluon)
95
+ - [AutoGluon-Tabular on AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-n4zf5pmjt7ism) (Not maintained by us)
90
96
 
91
- If you use AutoGluon in a scientific publication, please cite the following paper:
97
+ ## :pencil: Citing AutoGluon
92
98
 
93
- Erickson, Nick, et al. ["AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data."](https://arxiv.org/abs/2003.06505) arXiv preprint arXiv:2003.06505 (2020).
99
+ If you use AutoGluon in a scientific publication, please refer to our [citation guide](CITING.md).
94
100
 
95
- BibTeX entry:
96
-
97
- ```bibtex
98
- @article{agtabular,
99
- title={AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data},
100
- author={Erickson, Nick and Mueller, Jonas and Shirkov, Alexander and Zhang, Hang and Larroy, Pedro and Li, Mu and Smola, Alexander},
101
- journal={arXiv preprint arXiv:2003.06505},
102
- year={2020}
103
- }
104
- ```
105
-
106
- If you are using AutoGluon Tabular's model distillation functionality, please cite the following paper:
107
-
108
- Fakoor, Rasool, et al. ["Fast, Accurate, and Simple Models for Tabular Data via Augmented Distillation."](https://proceedings.neurips.cc/paper/2020/hash/62d75fb2e3075506e8837d8f55021ab1-Abstract.html) Advances in Neural Information Processing Systems 33 (2020).
109
-
110
- BibTeX entry:
111
-
112
- ```bibtex
113
- @article{agtabulardistill,
114
- title={Fast, Accurate, and Simple Models for Tabular Data via Augmented Distillation},
115
- author={Fakoor, Rasool and Mueller, Jonas W and Erickson, Nick and Chaudhari, Pratik and Smola, Alexander J},
116
- journal={Advances in Neural Information Processing Systems},
117
- volume={33},
118
- year={2020}
119
- }
120
- ```
121
-
122
- If you use AutoGluon's multimodal text+tabular functionality in a scientific publication, please cite the following paper:
123
-
124
- Shi, Xingjian, et al. ["Multimodal AutoML on Structured Tables with Text Fields."](https://openreview.net/forum?id=OHAIVOOl7Vl) 8th ICML Workshop on Automated Machine Learning (AutoML). 2021.
125
-
126
- BibTeX entry:
127
-
128
- ```bibtex
129
- @inproceedings{agmultimodaltext,
130
- title={Multimodal AutoML on Structured Tables with Text Fields},
131
- author={Shi, Xingjian and Mueller, Jonas and Erickson, Nick and Li, Mu and Smola, Alex},
132
- booktitle={8th ICML Workshop on Automated Machine Learning (AutoML)},
133
- year={2021}
134
- }
135
- ```
136
-
137
- If you use AutoGluon's time series forecasting functionality in a scientific publication, please cite the following paper:
138
- ```bibtex
139
- @inproceedings{agtimeseries,
140
- title={{AutoGluon-TimeSeries}: {AutoML} for Probabilistic Time Series Forecasting},
141
- author={Shchur, Oleksandr and Turkmen, Caner and Erickson, Nick and Shen, Huibin and Shirkov, Alexander and Hu, Tony and Wang, Yuyang},
142
- booktitle={International Conference on Automated Machine Learning},
143
- year={2023}
144
- }
145
- ```
146
-
147
-
148
- ## AutoGluon for Hyperparameter Optimization
149
-
150
- AutoGluon's state-of-the-art tools for hyperparameter optimization, such as ASHA, Hyperband, Bayesian Optimization and BOHB have moved to the stand-alone package [syne-tune](https://github.com/awslabs/syne-tune).
151
-
152
- To learn more, checkout our paper ["Model-based Asynchronous Hyperparameter and Neural Architecture Search"](https://arxiv.org/abs/2003.10865) arXiv preprint arXiv:2003.10865 (2020).
153
-
154
- ```bibtex
155
- @article{abohb,
156
- title={Model-based Asynchronous Hyperparameter and Neural Architecture Search},
157
- author={Klein, Aaron and Tiao, Louis and Lienart, Thibaut and Archambeau, Cedric and Seeger, Matthias},
158
- journal={arXiv preprint arXiv:2003.10865},
159
- year={2020}
160
- }
161
- ```
101
+ ## :wave: How to get involved
162
102
 
103
+ We are actively accepting code contributions to the AutoGluon project. If you are interested in contributing to AutoGluon, please read the [Contributing Guide](https://github.com/autogluon/autogluon/blob/master/CONTRIBUTING.md) to get started.
163
104
 
164
- ## License
105
+ ## :classical_building: License
165
106
 
166
107
  This library is licensed under the Apache 2.0 License.
167
108
 
@@ -14,9 +14,9 @@ utilsforecast<0.0.11,>=0.0.10
14
14
  tqdm<5,>=4.38
15
15
  orjson~=3.9
16
16
  tensorboard<3,>=2.9
17
- autogluon.core[raytune]==1.0.1b20231231
18
- autogluon.common==1.0.1b20231231
19
- autogluon.tabular[catboost,lightgbm,xgboost]==1.0.1b20231231
17
+ autogluon.core[raytune]==1.0.1b20240206
18
+ autogluon.common==1.0.1b20240206
19
+ autogluon.tabular[catboost,lightgbm,xgboost]==1.0.1b20240206
20
20
 
21
21
  [all]
22
22