What's Changed
🚀 Highlights
- New cloud deployment guide: run Chronos-2 on AWS in 3 lines of code
- Fine-tuning with
Chronos2Pipeline.fit()now supports larger-than-memory datasets - New efficient preprocessing module
chronos.chronos2.preprocessresulting in up to 20x faster input preprocessing for Chronos-2 - Support for
transformers>=5andpandas>=3
❗Deprecations & breaking changes
- When providing inputs to
Chronos2Pipelineas alist[dict], all dictionaries must share the same schema (same number oftargetdimensions and same covariate keys). To forecast inputs with different schemas, loop over them and call the model once per schema.# ❌ Different covariate keys across items — no longer allowed pipeline.predict([ {"target": [...], "past_covariates": {"price": [...], "promo": [...]}}, {"target": [...], "past_covariates": {"price": [...]}}, ]) # ❌ Mixed univariate and multivariate targets — no longer allowed pipeline.predict([ {"target": np.zeros(100)}, # shape (history_length,) {"target": np.zeros((3, 100))}, # shape (n_variates, history_length) ])
- Following methods have been deprecated. Please use
chronos.chronos2.preprocess.from_*and helpers fromchronos.df_utilsinstead.- Input preparation methods in
chronos.chronos2.dataset:.Chronos2Dataset.convert_inputsvalidate_and_prepare_single_dict_taskconvert_list_of_tensors_input_to_list_of_dicts_inputconvert_tensor_input_to_list_of_dicts_inputconvert_fev_window_to_list_of_dicts_input
- DataFrame utilities in
chronos.df_utils:convert_df_input_to_list_of_dicts_inputvalidate_df_inputs
- Input preparation methods in
- Removed dependency on
scikit-learn
✨ New features
- Add support for
transformers>=5.0by @kashif in #416 - New module
chronos.chronos2.preprocesswith efficient preprocessing methods for Chronos-2 by @shchur in #466, #493, #506 - Public API of
Chronos2Pipelinenow accepts preprocessed data (e.g. backed by a memory-mapped Hugging Facedatasets.Dataset) by @shchur in #507, #512
🐛 Bugfixes & improvements
- Allow explicitly passing the frequency to
pipeline.predict_dfby @shchur in #449 - Fix
XDG_CACHE_HOMEtypo inboto_utilsby @shaun0927 in #488 - Defer boto3 import and raise actionable
ImportErrorfor s3:// loads by @shaun0927 in #489 - Fix pip install command for chronos-forecasting by @Arseni1919 in #481
- Minor fixes and improvements by @abdulfatir, @shchur in #467, #505, #510, #511,
📚 Documentation
- Describe deployment options via AutoGluon-Cloud by @shchur in #503
- Update notebook on Chronos-2 deployment to SageMaker by @shchur in #444
New Contributors
- @Arseni1919 made their first contribution in #481
- @shaun0927 made their first contribution in #488
Full Changelog: v2.2.2...v2.3.0