# Ray 2.0.0 — Ray-2.0.0 - Product: Ray (https://whatsnew.fyi/product/ray) - Vendor: Anyscale - Date: 2022-08-23 - Version: 2.0.0 - Original notes: https://github.com/ray-project/ray/releases/tag/ray-2.0.0 - Permalink: https://whatsnew.fyi/product/ray/releases/2.0.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Ray AIR, a scalable and unified toolkit for ML applications, is now in Beta - **added** — Ray now supports natively shuffling 100TB or more of data with the Ray Datasets library - **added** — KubeRay, a toolkit for running Ray on Kubernetes, is now in Beta - **added** — Ray Serve's Deployment Graph API is a new and easier way to build, test, and deploy an inference graph of deployments - **added** — BatchPredictors now have support for scalable inference on GPUs - **added** — All Predictors can now be constructed from pre-trained models - **added** — Add ImageFolderDatasource - **added** — Add the NumPy batch format for batch mapping and batch consumption - **added** — Add iter_torch_batches() and iter_tf_batches() APIs - **added** — Add local shuffling API to iterators - **added** — Add drop_columns() API - **added** — Add randomize_block_order() API - **added** — Add random_sample() API - **added** — Add support for len(Dataset) - **added** — Add UDF passthrough args to map_batches() - **added** — Add Concatenator preprocessor - **changed** — ray.ml is renamed to ray.air - **changed** — ray.ml.preprocessors have been moved to ray.data - **changed** — ray.ml.trainers have been moved to ray.train - **changed** — ray.ml.predictors has been moved to ray.train #### Release Highlights Ray 2.0 is an exciting release with enhancements to all libraries in the Ray ecosystem. With this major release, we take strides towards our goal of making distributed computing scalable, unified, and open. Towards these goals, Ray 2.0 features new capabilities for unifying the machine learning (ML) ecosystem, improving Ray's production support, and making it easier than ever for ML practitioners to use Ray's libraries. **Highlights:** * [Ray AIR](https://docs.ray.io/en/releases-2.0.0/ray-air/getting-started.html), a scalable and unified toolkit for ML applications, is now in Beta. * ​​Ray now supports [natively shuffling 100TB or more of data](https://docs.ray.io/en/releases-2.0.0/data/performance-tips.html#enabling-push-based-shuffle) with the Ray Datasets library. * [KubeRay](https://docs.ray.io/en/releases-2.0.0/cluster/kubernetes/index.html), a toolkit for running Ray on Kubernetes, is now in Beta. This replaces the legacy Python-based Ray operator. * [Ray Serve’s Deployment Graph API ](https://docs.ray.io/en/releases-2.0.0/serve/model_composition.html#serve-model-composition)is a new and easier way to build, test, and deploy an inference graph of deployments. This is released as Beta in 2.0. A migration guide for all the different libraries can be found here: [Ray 2.0 Migration Guide](https://docs.google.com/document/d/12ODPbhEzeyDRUt8ehHDiKCFoxksPWJOUNEicGhNxtRg/edit#). #### Ray Libraries ##### Ray AIR Ray AIR is now in beta. Ray AIR builds upon Ray’s libraries to enable end-to-end machine learning workflows and applications on Ray. You can install all dependencies needed for Ray AIR via `pip install -u "ray[air]"`. 🎉 **New Features:** * Predictors: * BatchPredictors now have support for scalable inference on GPUs. * All Predictors can now be constructed from pre-trained models, allowing you to easily scale batch inference with trained models from common ML frameworks. * ray.ml.predictors has been moved to the Ray Train namespace (ray.train). * Preprocessing: New preprocessors and API changes on Ray Datasets now make feature processing easier to do on AIR. See the Ray Data release notes for more details. * New features for Datasets/Train/Tune/Serve can be found in the corresponding library release notes for more details. 💫 **Enhancements:** * Major package refactoring is included in this release. * ray.ml is renamed to ray.air. * ray.ml.preprocessors have been moved to ray.data. * train_test_split is now a new method of ray.data.Dataset (#27065) * ray.ml.trainers have been moved to ray.train (#25570) * ray.ml.predictors has been moved to ray.train. * ray.ml.config has been moved to ray.air.config (#25712). * Checkpoints are now framework-specific -- meaning that each Trainer generates its own Framework-specific Checkpoint class. See Ray Train for more details. * ModelWrappers have been renamed to PredictorDeployments. * API stability annotations have been added (#25485) * Train/Tune now have the same reporting and checkpointing API -- see the Train notes for more details (#26303) * ScalingConfigs are now Dataclasses not Dict types * Many AIR examples, benchmarks, and documentation pages were added in this release. The Ray AIR documentation will cover breadth of usage (end to end workflows across different libraries) while library-specific documentation will cover depth (specific features of a specific library). 🔨 **Fixes:** * Many documentation examples were previously untested. This release fixes those examples and adds them to the CI. * Predictors: * Torch/Tensorflow Predictors have correctness fixes (#25199, #25190, #25138, #25136) * Update `KerasCallback` to work with `TensorflowPredictor` (#26089) * Add streaming BatchPredictor support (#25693) * Add `predict_pandas` implementation (#25534) * Add `_predict_arrow` interface for Predictor ( _[Truncated at 4000 characters — full notes: https://github.com/ray-project/ray/releases/tag/ray-2.0.0]_