diff --git a/.buildkite/pipeline.gpu.large.yml b/.buildkite/pipeline.gpu.large.yml index 94197d4d3..4396b396d 100644 --- a/.buildkite/pipeline.gpu.large.yml +++ b/.buildkite/pipeline.gpu.large.yml @@ -32,13 +32,13 @@ --test_tag_filters=multi_gpu --test_env=RAY_USE_MULTIPROCESSING_CPU_COUNT=1 rllib/... -- label: ":tv: :airplane: ML GPU tests (ray/ml)" +- label: ":tv: :airplane: ML GPU tests (ray/air)" conditions: ["RAY_CI_ML_AFFECTED"] commands: - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/build/upload_build_info.sh; fi }; trap cleanup EXIT - DATA_PROCESSING_TESTING=1 TRAIN_TESTING=1 TUNE_TESTING=1 ./ci/env/install-dependencies.sh - pip install -Ur ./python/requirements_ml_docker.txt - - bazel test --config=ci $(./ci/run/bazel_export_options) --build_tests_only --test_tag_filters=gpu python/ray/ml/... + - bazel test --config=ci $(./ci/run/bazel_export_options) --build_tests_only --test_tag_filters=gpu python/ray/air/... - label: ":tv: :book: Doc GPU tests and examples" diff --git a/.buildkite/pipeline.ml.yml b/.buildkite/pipeline.ml.yml index eb984f182..b644289cd 100644 --- a/.buildkite/pipeline.ml.yml +++ b/.buildkite/pipeline.ml.yml @@ -1,9 +1,9 @@ -- label: ":airplane: ML tests (ray/ml)" +- label: ":airplane: ML tests (ray/air)" conditions: ["RAY_CI_ML_AFFECTED"] commands: - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/build/upload_build_info.sh; fi }; trap cleanup EXIT - DATA_PROCESSING_TESTING=1 INSTALL_HOROVOD=1 ./ci/env/install-dependencies.sh - - bazel test --config=ci $(./ci/run/bazel_export_options) --build_tests_only --test_tag_filters=-gpu,-needs_credentials python/ray/ml/... + - bazel test --config=ci $(./ci/run/bazel_export_options) --build_tests_only --test_tag_filters=-gpu,-needs_credentials python/ray/air/... - label: ":brain: RLlib: Learning discr. actions TF2-static-graph" conditions: ["RAY_CI_RLLIB_AFFECTED"] diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 60a2ac753..a0114a847 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,7 +4,7 @@ updates: - package-ecosystem: "pip" # If we want to add more requirements here (Core, Serve, etc.), then we should # make additional subdirectories for each one. - directory: "/python/requirements/ml" + directory: "/python/requirements/air" schedule: # Automatic upgrade checks Saturday at 12 AM. # Dependabot updates can still be manually triggered via Github at any time. diff --git a/ci/env/cleanup_test_state.py b/ci/env/cleanup_test_state.py index dc08df8c6..9ae121492 100644 --- a/ci/env/cleanup_test_state.py +++ b/ci/env/cleanup_test_state.py @@ -9,7 +9,7 @@ import sys def clear_wandb_project(): import wandb - # This is hardcoded in the `ray/ml/examples/upload_to_wandb.py` example + # This is hardcoded in the `ray/air/examples/upload_to_wandb.py` example wandb_project = "ray_air_example" api = wandb.Api() @@ -20,7 +20,7 @@ def clear_wandb_project(): def clear_comet_ml_project(): import comet_ml - # This is hardcoded in the `ray/ml/examples/upload_to_comet_ml.py` example + # This is hardcoded in the `ray/air/examples/upload_to_comet_ml.py` example comet_ml_project = "ray-air-example" api = comet_ml.API() diff --git a/ci/lint/check_api_annotations.py b/ci/lint/check_api_annotations.py index f7d32e51d..0d49ec8e1 100755 --- a/ci/lint/check_api_annotations.py +++ b/ci/lint/check_api_annotations.py @@ -88,7 +88,7 @@ if __name__ == "__main__": verify(ray.rllib, set(), ok, output) # TODO(ekl) enable it for all modules. - # verify(ray.ml, set(), ok, output) + # verify(ray.air, set(), ok, output) # verify(ray.train, set(), ok, output) # verify(ray.serve, set(), ok, output) # verify(ray.tune, set(), ok, output) diff --git a/ci/pipeline/determine_tests_to_run.py b/ci/pipeline/determine_tests_to_run.py index 94cba857e..32a4d0992 100644 --- a/ci/pipeline/determine_tests_to_run.py +++ b/ci/pipeline/determine_tests_to_run.py @@ -125,7 +125,7 @@ if __name__ == "__main__": skip_prefix_list = ["doc/", "examples/", "dev/", "kubernetes/", "site/"] for changed_file in files: - if changed_file.startswith("python/ray/ml"): + if changed_file.startswith("python/ray/air"): RAY_CI_ML_AFFECTED = 1 RAY_CI_TRAIN_AFFECTED = 1 RAY_CI_TUNE_AFFECTED = 1 diff --git a/doc/source/ray-air/check-ingest.rst b/doc/source/ray-air/check-ingest.rst index 5f6b66147..d3ff6e406 100644 --- a/doc/source/ray-air/check-ingest.rst +++ b/doc/source/ray-air/check-ingest.rst @@ -110,7 +110,7 @@ Debugging Ingest with the ``DummyTrainer`` ------------------------------------------ Data ingest problems can be challenging to debug when combined in a full training pipeline. To isolate data -ingest issues from other possible training problems, we provide the ``ray.ml.util.check_ingest.DummyTrainer`` +ingest issues from other possible training problems, we provide the ``ray.air.util.check_ingest.DummyTrainer`` utility class that can be used to debug ingest problems. Let's walk through using DummyTrainer to understand and resolve an ingest misconfiguration. diff --git a/doc/source/ray-air/doc_code/air_ingest.py b/doc/source/ray-air/doc_code/air_ingest.py index 1505a155f..a7c1e8e34 100644 --- a/doc/source/ray-air/doc_code/air_ingest.py +++ b/doc/source/ray-air/doc_code/air_ingest.py @@ -2,7 +2,7 @@ # __shared_dataset_start__ import ray -from ray.ml.utils.check_ingest import DummyTrainer +from ray.air.utils.check_ingest import DummyTrainer from ray.tune.tuner import Tuner, TuneConfig ray.init(num_cpus=5) @@ -26,7 +26,7 @@ ray.shutdown() # __indep_dataset_start__ import ray from ray import tune -from ray.ml.utils.check_ingest import DummyTrainer +from ray.air.utils.check_ingest import DummyTrainer from ray.tune.tuner import Tuner, TuneConfig ray.init(num_cpus=5) @@ -60,8 +60,8 @@ tuner.fit() # __check_ingest_1__ import ray -from ray.ml.preprocessors import Chain, BatchMapper -from ray.ml.utils.check_ingest import DummyTrainer +from ray.air.preprocessors import Chain, BatchMapper +from ray.air.utils.check_ingest import DummyTrainer # Generate a synthetic dataset of ~10GiB of float64 data. The dataset is sharded # into 100 blocks (parallelism=100). diff --git a/doc/source/ray-air/doc_code/air_key_concepts.py b/doc/source/ray-air/doc_code/air_key_concepts.py index 48b48371d..555a05e73 100644 --- a/doc/source/ray-air/doc_code/air_key_concepts.py +++ b/doc/source/ray-air/doc_code/air_key_concepts.py @@ -6,7 +6,7 @@ import pandas as pd from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split -from ray.ml.preprocessors import * +from ray.air.preprocessors import * data_raw = load_breast_cancer() dataset_df = pd.DataFrame(data_raw["data"], columns=data_raw["feature_names"]) @@ -21,7 +21,7 @@ preprocessor = StandardScaler(columns=columns_to_scale) # __air_preprocessors_end__ # __air_trainer_start__ -from ray.ml.train.integrations.xgboost import XGBoostTrainer +from ray.air.train.integrations.xgboost import XGBoostTrainer num_workers = 2 use_gpu = False @@ -68,8 +68,8 @@ print(best_result) # __air_tuner_end__ # __air_batch_predictor_start__ -from ray.ml.batch_predictor import BatchPredictor -from ray.ml.predictors.integrations.xgboost import XGBoostPredictor +from ray.air.batch_predictor import BatchPredictor +from ray.air.predictors.integrations.xgboost import XGBoostPredictor batch_predictor = BatchPredictor.from_checkpoint(result.checkpoint, XGBoostPredictor) diff --git a/doc/source/ray-air/doc_code/preprocessors.py b/doc/source/ray-air/doc_code/preprocessors.py index 4a1601a63..78b7d0720 100644 --- a/doc/source/ray-air/doc_code/preprocessors.py +++ b/doc/source/ray-air/doc_code/preprocessors.py @@ -4,7 +4,7 @@ # __preprocessor_setup_start__ import pandas as pd import ray -from ray.ml.preprocessors import MinMaxScaler +from ray.air.preprocessors import MinMaxScaler # Generate two simple datasets. dataset = ray.data.range_table(8) @@ -47,8 +47,8 @@ print(batch_transformed) # __trainer_start__ import ray -from ray.ml.train.integrations.xgboost import XGBoostTrainer -from ray.ml.preprocessors import MinMaxScaler +from ray.air.train.integrations.xgboost import XGBoostTrainer +from ray.air.preprocessors import MinMaxScaler train_dataset = ray.data.from_items([{"x": x, "y": 2 * x} for x in range(0, 32, 3)]) valid_dataset = ray.data.from_items([{"x": x, "y": 2 * x} for x in range(1, 32, 3)]) @@ -67,7 +67,7 @@ result = trainer.fit() # __checkpoint_start__ -from ray.ml.utils.checkpointing import load_preprocessor_from_dir +from ray.air.utils.checkpointing import load_preprocessor_from_dir checkpoint = result.checkpoint with checkpoint.as_directory() as checkpoint_path: @@ -78,8 +78,8 @@ with checkpoint.as_directory() as checkpoint_path: # __predictor_start__ -from ray.ml.batch_predictor import BatchPredictor -from ray.ml.predictors.integrations.xgboost import XGBoostPredictor +from ray.air.batch_predictor import BatchPredictor +from ray.air.predictors.integrations.xgboost import XGBoostPredictor test_dataset = ray.data.from_items([{"x": x} for x in range(2, 32, 3)]) @@ -102,7 +102,7 @@ print(predicted_labels.to_pandas()) # __chain_start__ import ray -from ray.ml.preprocessors import Chain, MinMaxScaler, SimpleImputer +from ray.air.preprocessors import Chain, MinMaxScaler, SimpleImputer # Generate one simple dataset. dataset = ray.data.from_items( @@ -121,7 +121,7 @@ print(dataset_transformed.take()) # __custom_stateless_start__ import ray -from ray.ml.preprocessors import BatchMapper +from ray.air.preprocessors import BatchMapper # Generate a simple dataset. dataset = ray.data.range_table(4) diff --git a/doc/source/ray-air/doc_code/pytorch_starter.py b/doc/source/ray-air/doc_code/pytorch_starter.py index db97bd9a3..e02aa8f6e 100644 --- a/doc/source/ray-air/doc_code/pytorch_starter.py +++ b/doc/source/ray-air/doc_code/pytorch_starter.py @@ -28,7 +28,7 @@ import torch from torch import nn from torch.utils.data import DataLoader import ray.train as train -from ray.ml.train.integrations.torch import TorchTrainer +from ray.air.train.integrations.torch import TorchTrainer # Define model class NeuralNetwork(nn.Module): @@ -130,8 +130,8 @@ print(f"Last result: {result.metrics}") # # __air_pytorch_batchpred_start__ # import random -# from ray.ml.batch_predictor import BatchPredictor -# from ray.ml.predictors.integrations.torch import TorchPredictor +# from ray.air.batch_predictor import BatchPredictor +# from ray.air.predictors.integrations.torch import TorchPredictor # batch_predictor = BatchPredictor.from_checkpoint(result.checkpoint, TorchPredictor) diff --git a/doc/source/ray-air/doc_code/tf_starter.py b/doc/source/ray-air/doc_code/tf_starter.py index 46dedb3ab..a65c8d25a 100644 --- a/doc/source/ray-air/doc_code/tf_starter.py +++ b/doc/source/ray-air/doc_code/tf_starter.py @@ -18,7 +18,7 @@ from tensorflow.keras.callbacks import Callback import ray.train as train from ray.train.tensorflow import prepare_dataset_shard -from ray.ml.train.integrations.tensorflow import TensorflowTrainer +from ray.air.train.integrations.tensorflow import TensorflowTrainer def build_model() -> tf.keras.Model: @@ -91,8 +91,8 @@ print(result.metrics) # __air_tf_batchpred_start__ import numpy as np -from ray.ml.batch_predictor import BatchPredictor -from ray.ml.predictors.integrations.tensorflow import TensorflowPredictor +from ray.air.batch_predictor import BatchPredictor +from ray.air.predictors.integrations.tensorflow import TensorflowPredictor batch_predictor = BatchPredictor.from_checkpoint( diff --git a/doc/source/ray-air/doc_code/xgboost_starter.py b/doc/source/ray-air/doc_code/xgboost_starter.py index a6c6a5f2c..f9987fdff 100644 --- a/doc/source/ray-air/doc_code/xgboost_starter.py +++ b/doc/source/ray-air/doc_code/xgboost_starter.py @@ -2,7 +2,7 @@ # __air_xgb_preprocess_start__ import ray -from ray.ml.preprocessors import StandardScaler +from ray.air.preprocessors import StandardScaler import pandas as pd @@ -25,7 +25,7 @@ preprocessor = StandardScaler(columns=columns_to_scale) # __air_xgb_train_start__ -from ray.ml.train.integrations.xgboost import XGBoostTrainer +from ray.air.train.integrations.xgboost import XGBoostTrainer # XGBoost specific params params = { @@ -53,8 +53,8 @@ print(result.metrics) # __air_xgb_train_end__ # __air_xgb_batchpred_start__ -from ray.ml.batch_predictor import BatchPredictor -from ray.ml.predictors.integrations.xgboost import XGBoostPredictor +from ray.air.batch_predictor import BatchPredictor +from ray.air.predictors.integrations.xgboost import XGBoostPredictor batch_predictor = BatchPredictor.from_checkpoint(result.checkpoint, XGBoostPredictor) diff --git a/doc/source/ray-air/examples/analyze_tuning_results.ipynb b/doc/source/ray-air/examples/analyze_tuning_results.ipynb index 08a322c1b..7765342d4 100644 --- a/doc/source/ray-air/examples/analyze_tuning_results.ipynb +++ b/doc/source/ray-air/examples/analyze_tuning_results.ipynb @@ -71,8 +71,8 @@ "\n", "import ray\n", "from ray import tune\n", - "from ray.ml import RunConfig\n", - "from ray.ml.train.integrations.xgboost import XGBoostTrainer\n", + "from ray.air import RunConfig\n", + "from ray.air.train.integrations.xgboost import XGBoostTrainer\n", "from ray.tune.tune_config import TuneConfig\n", "from ray.tune.tuner import Tuner" ] diff --git a/doc/source/ray-air/examples/huggingface_text_classification.ipynb b/doc/source/ray-air/examples/huggingface_text_classification.ipynb index 5d12bbf22..bfd9b21c2 100644 --- a/doc/source/ray-air/examples/huggingface_text_classification.ipynb +++ b/doc/source/ray-air/examples/huggingface_text_classification.ipynb @@ -797,8 +797,8 @@ }, "outputs": [], "source": [ - "from ray.ml.train.integrations.huggingface import HuggingFaceTrainer\n", - "from ray.ml import RunConfig\n", + "from ray.air.train.integrations.huggingface import HuggingFaceTrainer\n", + "from ray.air import RunConfig\n", "from ray.tune.integration.mlflow import MLflowLoggerCallback\n", "\n", "trainer = HuggingFaceTrainer(\n", @@ -1171,7 +1171,7 @@ { "data": { "text/plain": [ - "Result(metrics={'loss': 0.1575, 'learning_rate': 1.308411214953271e-06, 'epoch': 5.0, 'step': 2675, 'eval_loss': 0.8616615533828735, 'eval_matthews_correlation': 0.5420036503219092, 'eval_runtime': 1.2577, 'eval_samples_per_second': 829.302, 'eval_steps_per_second': 52.477, 'train_runtime': 187.8585, 'train_samples_per_second': 227.592, 'train_steps_per_second': 14.239, 'train_loss': 0.30010223103460865, '_timestamp': 1652380513, '_time_this_iter_s': 39.63672137260437, '_training_iteration': 5, 'time_this_iter_s': 39.64510202407837, 'should_checkpoint': True, 'done': True, 'timesteps_total': None, 'episodes_total': None, 'training_iteration': 5, 'trial_id': 'bb9dd_00000', 'experiment_id': 'db0c5ea784a44980819bf5e1bfb72c04', 'date': '2022-05-12_18-35-13', 'timestamp': 1652380513, 'time_total_s': 222.39091277122498, 'pid': 419, 'hostname': 'e618da00601e', 'node_ip': '172.28.0.2', 'config': {}, 'time_since_restore': 222.39091277122498, 'timesteps_since_restore': 0, 'iterations_since_restore': 5, 'warmup_time': 0.004034996032714844, 'experiment_tag': '0'}, checkpoint=, error=None)" + "Result(metrics={'loss': 0.1575, 'learning_rate': 1.308411214953271e-06, 'epoch': 5.0, 'step': 2675, 'eval_loss': 0.8616615533828735, 'eval_matthews_correlation': 0.5420036503219092, 'eval_runtime': 1.2577, 'eval_samples_per_second': 829.302, 'eval_steps_per_second': 52.477, 'train_runtime': 187.8585, 'train_samples_per_second': 227.592, 'train_steps_per_second': 14.239, 'train_loss': 0.30010223103460865, '_timestamp': 1652380513, '_time_this_iter_s': 39.63672137260437, '_training_iteration': 5, 'time_this_iter_s': 39.64510202407837, 'should_checkpoint': True, 'done': True, 'timesteps_total': None, 'episodes_total': None, 'training_iteration': 5, 'trial_id': 'bb9dd_00000', 'experiment_id': 'db0c5ea784a44980819bf5e1bfb72c04', 'date': '2022-05-12_18-35-13', 'timestamp': 1652380513, 'time_total_s': 222.39091277122498, 'pid': 419, 'hostname': 'e618da00601e', 'node_ip': '172.28.0.2', 'config': {}, 'time_since_restore': 222.39091277122498, 'timesteps_since_restore': 0, 'iterations_since_restore': 5, 'warmup_time': 0.004034996032714844, 'experiment_tag': '0'}, checkpoint=, error=None)" ] }, "execution_count": 17, @@ -1368,8 +1368,8 @@ } ], "source": [ - "from ray.ml.predictors.integrations.huggingface import HuggingFacePredictor\n", - "from ray.ml.batch_predictor import BatchPredictor\n", + "from ray.air.predictors.integrations.huggingface import HuggingFacePredictor\n", + "from ray.air.batch_predictor import BatchPredictor\n", "import pandas as pd\n", "\n", "sentences = ['Bill whistled past the house.',\n", @@ -1458,7 +1458,7 @@ }, "outputs": [], "source": [ - "from ray.ml.train.integrations.huggingface import load_checkpoint\n", + "from ray.air.train.integrations.huggingface import load_checkpoint\n", "\n", "hf_trainer = load_checkpoint(\n", " checkpoint=result.checkpoint,\n", diff --git a/doc/source/ray-air/examples/lightgbm_example.ipynb b/doc/source/ray-air/examples/lightgbm_example.ipynb index 8c7bbcc18..e858cabf8 100644 --- a/doc/source/ray-air/examples/lightgbm_example.ipynb +++ b/doc/source/ray-air/examples/lightgbm_example.ipynb @@ -49,14 +49,14 @@ "import pandas as pd\n", "\n", "import ray\n", - "from ray.ml.batch_predictor import BatchPredictor\n", - "from ray.ml.predictors.integrations.lightgbm import LightGBMPredictor\n", - "from ray.ml.preprocessors.chain import Chain\n", - "from ray.ml.preprocessors.encoder import Categorizer\n", - "from ray.ml.train.integrations.lightgbm import LightGBMTrainer\n", + "from ray.air.batch_predictor import BatchPredictor\n", + "from ray.air.predictors.integrations.lightgbm import LightGBMPredictor\n", + "from ray.air.preprocessors.chain import Chain\n", + "from ray.air.preprocessors.encoder import Categorizer\n", + "from ray.air.train.integrations.lightgbm import LightGBMTrainer\n", "from ray.data.dataset import Dataset\n", - "from ray.ml.result import Result\n", - "from ray.ml.preprocessors import StandardScaler\n", + "from ray.air.result import Result\n", + "from ray.air.preprocessors import StandardScaler\n", "from sklearn.datasets import load_breast_cancer\n", "from sklearn.model_selection import train_test_split" ] diff --git a/doc/source/ray-air/examples/rl_offline_example.ipynb b/doc/source/ray-air/examples/rl_offline_example.ipynb index 921a0b9f9..d64c3ba72 100644 --- a/doc/source/ray-air/examples/rl_offline_example.ipynb +++ b/doc/source/ray-air/examples/rl_offline_example.ipynb @@ -59,11 +59,11 @@ "\n", "import numpy as np\n", "import ray\n", - "from ray.ml import Checkpoint\n", - "from ray.ml.config import RunConfig\n", - "from ray.ml.predictors.integrations.rl.rl_predictor import RLPredictor\n", - "from ray.ml.train.integrations.rl.rl_trainer import RLTrainer\n", - "from ray.ml.result import Result\n", + "from ray.air import Checkpoint\n", + "from ray.air.config import RunConfig\n", + "from ray.air.predictors.integrations.rl.rl_predictor import RLPredictor\n", + "from ray.air.train.integrations.rl.rl_trainer import RLTrainer\n", + "from ray.air.result import Result\n", "from ray.rllib.agents.marwil import BCTrainer\n", "from ray.tune.tuner import Tuner" ] diff --git a/doc/source/ray-air/examples/rl_online_example.ipynb b/doc/source/ray-air/examples/rl_online_example.ipynb index f73e7f505..30812ddc7 100644 --- a/doc/source/ray-air/examples/rl_online_example.ipynb +++ b/doc/source/ray-air/examples/rl_online_example.ipynb @@ -59,11 +59,11 @@ "\n", "import numpy as np\n", "import ray\n", - "from ray.ml import Checkpoint\n", - "from ray.ml.config import RunConfig\n", - "from ray.ml.predictors.integrations.rl.rl_predictor import RLPredictor\n", - "from ray.ml.train.integrations.rl.rl_trainer import RLTrainer\n", - "from ray.ml.result import Result\n", + "from ray.air import Checkpoint\n", + "from ray.air.config import RunConfig\n", + "from ray.air.predictors.integrations.rl.rl_predictor import RLPredictor\n", + "from ray.air.train.integrations.rl.rl_trainer import RLTrainer\n", + "from ray.air.result import Result\n", "from ray.rllib.agents.marwil import BCTrainer\n", "from ray.tune.tuner import Tuner" ] diff --git a/doc/source/ray-air/examples/rl_serving_example.ipynb b/doc/source/ray-air/examples/rl_serving_example.ipynb index e1e0e9772..938c4b470 100644 --- a/doc/source/ray-air/examples/rl_serving_example.ipynb +++ b/doc/source/ray-air/examples/rl_serving_example.ipynb @@ -50,11 +50,11 @@ "import numpy as np\n", "import requests\n", "\n", - "from ray.ml.checkpoint import Checkpoint\n", - "from ray.ml.config import RunConfig\n", - "from ray.ml.train.integrations.rl.rl_trainer import RLTrainer\n", - "from ray.ml.predictors.integrations.rl.rl_predictor import RLPredictor\n", - "from ray.ml.result import Result\n", + "from ray.air.checkpoint import Checkpoint\n", + "from ray.air.config import RunConfig\n", + "from ray.air.train.integrations.rl.rl_trainer import RLTrainer\n", + "from ray.air.predictors.integrations.rl.rl_predictor import RLPredictor\n", + "from ray.air.result import Result\n", "from ray.serve.model_wrappers import ModelWrapperDeployment\n", "from ray import serve\n", "from ray.tune.tuner import Tuner" diff --git a/doc/source/ray-air/examples/sklearn_example.ipynb b/doc/source/ray-air/examples/sklearn_example.ipynb index 10815066d..149fd687a 100644 --- a/doc/source/ray-air/examples/sklearn_example.ipynb +++ b/doc/source/ray-air/examples/sklearn_example.ipynb @@ -54,11 +54,11 @@ "\n", "import ray\n", "from ray.data.dataset import Dataset\n", - "from ray.ml.batch_predictor import BatchPredictor\n", - "from ray.ml.predictors.integrations.sklearn import SklearnPredictor\n", - "from ray.ml.preprocessors import Chain, OrdinalEncoder, StandardScaler\n", - "from ray.ml.result import Result\n", - "from ray.ml.train.integrations.sklearn import SklearnTrainer\n", + "from ray.air.batch_predictor import BatchPredictor\n", + "from ray.air.predictors.integrations.sklearn import SklearnPredictor\n", + "from ray.air.preprocessors import Chain, OrdinalEncoder, StandardScaler\n", + "from ray.air.result import Result\n", + "from ray.air.train.integrations.sklearn import SklearnTrainer\n", "\n", "\n", "from sklearn.datasets import load_breast_cancer\n", diff --git a/doc/source/ray-air/examples/tfx_tabular_train_to_serve.ipynb b/doc/source/ray-air/examples/tfx_tabular_train_to_serve.ipynb index 594a66f35..e581f089f 100644 --- a/doc/source/ray-air/examples/tfx_tabular_train_to_serve.ipynb +++ b/doc/source/ray-air/examples/tfx_tabular_train_to_serve.ipynb @@ -470,7 +470,7 @@ }, "outputs": [], "source": [ - "from ray.ml.preprocessors import (\n", + "from ray.air.preprocessors import (\n", " BatchMapper,\n", " Chain,\n", " OneHotEncoder,\n", @@ -746,7 +746,7 @@ } ], "source": [ - "from ray.ml.train.integrations.tensorflow import TensorflowTrainer\n", + "from ray.air.train.integrations.tensorflow import TensorflowTrainer\n", "\n", "trainer = TensorflowTrainer(\n", " train_loop_per_worker=train_loop_per_worker,\n", @@ -774,7 +774,7 @@ "source": [ "We will use Ray Serve to serve the trained model. A core concept of Ray Serve is [Deployment](https://docs.ray.io/en/latest/serve/core-apis.html). It allows you to define and update your business logic or models that will handle incoming requests as well as how this is exposed over HTTP or in Python.\n", "\n", - "In the case of serving model, `ray.serve.model_wrappers.ModelWrapper` and `ray.serve.model_wrappers.ModelWrapperDeployment` wrap a `ray.ml.checkpoint.Checkpoint` into a Ray Serve deployment that can readily serve HTTP requests.\n", + "In the case of serving model, `ray.serve.model_wrappers.ModelWrapper` and `ray.serve.model_wrappers.ModelWrapperDeployment` wrap a `ray.air.checkpoint.Checkpoint` into a Ray Serve deployment that can readily serve HTTP requests.\n", "Note, ``Checkpoint`` captures both model and preprocessing steps in a way compatible with Ray Serve and ensures that ml workload can transition seamlessly between training and\n", "serving.\n", "\n", @@ -818,8 +818,8 @@ "outputs": [], "source": [ "from ray import serve\n", - "from ray.ml.checkpoint import Checkpoint\n", - "from ray.ml.predictors.integrations.tensorflow import TensorflowPredictor\n", + "from ray.air.checkpoint import Checkpoint\n", + "from ray.air.predictors.integrations.tensorflow import TensorflowPredictor\n", "from ray.serve.model_wrappers import ModelWrapperDeployment\n", "\n", "\n", diff --git a/doc/source/ray-air/examples/torch_image_example.ipynb b/doc/source/ray-air/examples/torch_image_example.ipynb index 8b7739941..9285fe5a1 100644 --- a/doc/source/ray-air/examples/torch_image_example.ipynb +++ b/doc/source/ray-air/examples/torch_image_example.ipynb @@ -410,7 +410,7 @@ } ], "source": [ - "from ray.ml.train.integrations.torch import TorchTrainer\n", + "from ray.air.train.integrations.torch import TorchTrainer\n", "\n", "trainer = TorchTrainer(\n", " train_loop_per_worker=train_loop_per_worker,\n", @@ -437,9 +437,9 @@ "\n", "Let's see how our model performs.\n", "\n", - "To classify images in the test dataset, we'll need to create a {py:class}`Predictor `.\n", + "To classify images in the test dataset, we'll need to create a {py:class}`Predictor `.\n", "\n", - "{py:class}`Predictors ` load data from checkpoints and efficiently perform inference. In contrast to {py:class}`TorchPredictor `, which performs inference on a single batch, {py:class}`BatchPredictor ` performs inference on an entire dataset. Because we want to classify all of the images in the test dataset, we'll use a {py:class}`BatchPredictor `." + "{py:class}`Predictors ` load data from checkpoints and efficiently perform inference. In contrast to {py:class}`TorchPredictor `, which performs inference on a single batch, {py:class}`BatchPredictor ` performs inference on an entire dataset. Because we want to classify all of the images in the test dataset, we'll use a {py:class}`BatchPredictor `." ] }, { @@ -458,8 +458,8 @@ } ], "source": [ - "from ray.ml.predictors.integrations.torch import TorchPredictor\n", - "from ray.ml.batch_predictor import BatchPredictor\n", + "from ray.air.predictors.integrations.torch import TorchPredictor\n", + "from ray.air.batch_predictor import BatchPredictor\n", "\n", "batch_predictor = BatchPredictor.from_checkpoint(\n", " checkpoint=latest_checkpoint,\n", diff --git a/doc/source/ray-air/examples/torch_incremental_learning.ipynb b/doc/source/ray-air/examples/torch_incremental_learning.ipynb index d8794797f..45ca16516 100644 --- a/doc/source/ray-air/examples/torch_incremental_learning.ipynb +++ b/doc/source/ray-air/examples/torch_incremental_learning.ipynb @@ -590,7 +590,7 @@ }, "outputs": [], "source": [ - "from ray.ml.preprocessors import BatchMapper\n", + "from ray.air.preprocessors import BatchMapper\n", "\n", "from torchvision import transforms\n", "\n", @@ -617,7 +617,7 @@ "\n", "After training on each task, we want to use our trained model to do batch (i.e. offline) inference on a test dataset. \n", "\n", - "To do this, we leverage the built-in `ray.ml.BatchPredictor`. We define a `batch_predict` function that will take in a Checkpoint and a Test Dataset and outputs the accuracy our model achieves on the test dataset." + "To do this, we leverage the built-in `ray.air.BatchPredictor`. We define a `batch_predict` function that will take in a Checkpoint and a Test Dataset and outputs the accuracy our model achieves on the test dataset." ] }, { @@ -628,10 +628,10 @@ }, "outputs": [], "source": [ - "from ray.ml.batch_predictor import BatchPredictor\n", - "from ray.ml.predictors.integrations.torch import TorchPredictor\n", + "from ray.air.batch_predictor import BatchPredictor\n", + "from ray.air.predictors.integrations.torch import TorchPredictor\n", "\n", - "def batch_predict(checkpoint: ray.ml.Checkpoint, test_dataset: ray.data.Dataset) -> float:\n", + "def batch_predict(checkpoint: ray.air.Checkpoint, test_dataset: ray.data.Dataset) -> float:\n", " \"\"\"Perform batch prediction on the provided test dataset, and return accuracy results.\"\"\"\n", "\n", " batch_predictor = BatchPredictor.from_checkpoint(checkpoint, predictor_cls=TorchPredictor, model=SimpleMLP(num_classes=10))\n", @@ -691,7 +691,7 @@ "from ray.serve.http_adapters import NdArray\n", "\n", "\n", - "def deploy_model(checkpoint: ray.ml.Checkpoint) -> str:\n", + "def deploy_model(checkpoint: ray.air.Checkpoint) -> str:\n", " \"\"\"Deploys the model from the provided Checkpoint and returns the URL for the endpoint of the model deployment.\"\"\"\n", " def json_to_pandas(payload: NdArray) -> pd.DataFrame:\n", " \"\"\"Accepts an NdArray JSON from an HTTP body and converts it to a Pandas dataframe.\"\"\"\n", @@ -1235,9 +1235,9 @@ } ], "source": [ - "from ray.ml.train.integrations.torch import TorchTrainer\n", - "from ray.ml.predictors.integrations.torch import TorchPredictor\n", - "from ray.ml import Checkpoint\n", + "from ray.air.train.integrations.torch import TorchTrainer\n", + "from ray.air.predictors.integrations.torch import TorchPredictor\n", + "from ray.air import Checkpoint\n", "from ray import serve\n", "from ray.serve.model_wrappers import ModelWrapperDeployment\n", "from ray.serve.http_adapters import json_to_ndarray\n", diff --git a/doc/source/ray-air/examples/upload_to_comet_ml.ipynb b/doc/source/ray-air/examples/upload_to_comet_ml.ipynb index 1b1fd4e9e..1af83beff 100644 --- a/doc/source/ray-air/examples/upload_to_comet_ml.ipynb +++ b/doc/source/ray-air/examples/upload_to_comet_ml.ipynb @@ -46,9 +46,9 @@ "source": [ "import ray\n", "\n", - "from ray.ml import RunConfig\n", - "from ray.ml.result import Result\n", - "from ray.ml.train.integrations.xgboost import XGBoostTrainer\n", + "from ray.air import RunConfig\n", + "from ray.air.result import Result\n", + "from ray.air.train.integrations.xgboost import XGBoostTrainer\n", "from ray.tune.integration.comet import CometLoggerCallback\n", "from sklearn.datasets import load_breast_cancer" ] diff --git a/doc/source/ray-air/examples/upload_to_wandb.ipynb b/doc/source/ray-air/examples/upload_to_wandb.ipynb index 48e8769d1..8b08bb2ee 100644 --- a/doc/source/ray-air/examples/upload_to_wandb.ipynb +++ b/doc/source/ray-air/examples/upload_to_wandb.ipynb @@ -46,9 +46,9 @@ "source": [ "import ray\n", "\n", - "from ray.ml import RunConfig\n", - "from ray.ml.result import Result\n", - "from ray.ml.train.integrations.xgboost import XGBoostTrainer\n", + "from ray.air import RunConfig\n", + "from ray.air.result import Result\n", + "from ray.air.train.integrations.xgboost import XGBoostTrainer\n", "from ray.tune.integration.wandb import WandbLoggerCallback\n", "from sklearn.datasets import load_breast_cancer" ] diff --git a/doc/source/ray-air/examples/xgboost_example.ipynb b/doc/source/ray-air/examples/xgboost_example.ipynb index 336484ef9..75b0f3604 100644 --- a/doc/source/ray-air/examples/xgboost_example.ipynb +++ b/doc/source/ray-air/examples/xgboost_example.ipynb @@ -64,12 +64,12 @@ "import pandas as pd\n", "\n", "import ray\n", - "from ray.ml.batch_predictor import BatchPredictor\n", - "from ray.ml.predictors.integrations.xgboost import XGBoostPredictor\n", - "from ray.ml.train.integrations.xgboost import XGBoostTrainer\n", + "from ray.air.batch_predictor import BatchPredictor\n", + "from ray.air.predictors.integrations.xgboost import XGBoostPredictor\n", + "from ray.air.train.integrations.xgboost import XGBoostTrainer\n", "from ray.data.dataset import Dataset\n", - "from ray.ml.result import Result\n", - "from ray.ml.preprocessors import StandardScaler\n", + "from ray.air.result import Result\n", + "from ray.air.preprocessors import StandardScaler\n", "from sklearn.datasets import load_breast_cancer\n", "from sklearn.model_selection import train_test_split" ] diff --git a/doc/source/ray-air/getting-started.rst b/doc/source/ray-air/getting-started.rst index 22d353bd9..2489ac5b9 100644 --- a/doc/source/ray-air/getting-started.rst +++ b/doc/source/ray-air/getting-started.rst @@ -126,7 +126,7 @@ Next Steps ---------- - :ref:`air-key-concepts` -- `Examples `__ +- `Examples `__ - :ref:`Deployment Guide ` - :ref:`API reference ` diff --git a/doc/source/ray-air/package-ref.rst b/doc/source/ray-air/package-ref.rst index 30adf60b0..6b64c67a8 100644 --- a/doc/source/ray-air/package-ref.rst +++ b/doc/source/ray-air/package-ref.rst @@ -12,14 +12,14 @@ Components Preprocessors ~~~~~~~~~~~~~ -.. autoclass:: ray.ml.preprocessor.Preprocessor +.. autoclass:: ray.air.preprocessor.Preprocessor :members: -.. automodule:: ray.ml.preprocessors +.. automodule:: ray.air.preprocessors :members: :show-inheritance: -.. autofunction:: ray.ml.train_test_split +.. autofunction:: ray.air.train_test_split .. _air-trainer-ref: @@ -27,38 +27,38 @@ Preprocessors Trainer ~~~~~~~ -.. autoclass:: ray.ml.trainer.Trainer +.. autoclass:: ray.air.trainer.Trainer :members: -.. automodule:: ray.ml.train.integrations.xgboost +.. automodule:: ray.air.train.integrations.xgboost :members: :show-inheritance: -.. automodule:: ray.ml.train.integrations.lightgbm +.. automodule:: ray.air.train.integrations.lightgbm :members: :show-inheritance: -.. automodule:: ray.ml.train.integrations.tensorflow +.. automodule:: ray.air.train.integrations.tensorflow :members: :show-inheritance: -.. automodule:: ray.ml.train.integrations.torch +.. automodule:: ray.air.train.integrations.torch :members: :show-inheritance: -.. automodule:: ray.ml.train.integrations.huggingface +.. automodule:: ray.air.train.integrations.huggingface :members: :show-inheritance: -.. automodule:: ray.ml.train.integrations.sklearn +.. automodule:: ray.air.train.integrations.sklearn :members: :show-inheritance: -.. autoclass:: ray.ml.train.data_parallel_trainer.DataParallelTrainer +.. autoclass:: ray.air.train.data_parallel_trainer.DataParallelTrainer :members: :show-inheritance: -.. autoclass:: ray.ml.train.gbdt_trainer.GBDTTrainer +.. autoclass:: ray.air.train.gbdt_trainer.GBDTTrainer :members: :show-inheritance: @@ -78,35 +78,35 @@ Tuner Predictors ~~~~~~~~~~ -.. autoclass:: ray.ml.predictor.Predictor +.. autoclass:: ray.air.predictor.Predictor :members: -.. autoclass:: ray.ml.predictor.DataBatchType +.. autoclass:: ray.air.predictor.DataBatchType -.. autoclass:: ray.ml.batch_predictor.BatchPredictor +.. autoclass:: ray.air.batch_predictor.BatchPredictor :members: -.. automodule:: ray.ml.predictors.integrations.xgboost +.. automodule:: ray.air.predictors.integrations.xgboost :members: :show-inheritance: -.. automodule:: ray.ml.predictors.integrations.lightgbm +.. automodule:: ray.air.predictors.integrations.lightgbm :members: :show-inheritance: -.. automodule:: ray.ml.predictors.integrations.tensorflow +.. automodule:: ray.air.predictors.integrations.tensorflow :members: :show-inheritance: -.. automodule:: ray.ml.predictors.integrations.torch +.. automodule:: ray.air.predictors.integrations.torch :members: :show-inheritance: -.. automodule:: ray.ml.predictors.integrations.sklearn +.. automodule:: ray.air.predictors.integrations.sklearn :members: :show-inheritance: -.. automodule:: ray.ml.predictors.integrations.huggingface +.. automodule:: ray.air.predictors.integrations.huggingface :members: :show-inheritance: @@ -124,17 +124,17 @@ Serving Outputs ~~~~~~~ -.. automodule:: ray.ml.checkpoint +.. automodule:: ray.air.checkpoint :members: -.. automodule:: ray.ml.result +.. automodule:: ray.air.result :members: Configs ~~~~~~~ -.. automodule:: ray.ml.config +.. automodule:: ray.air.config :members: diff --git a/doc/source/ray-air/preprocessors.rst b/doc/source/ray-air/preprocessors.rst index 47be6ea41..b026627a2 100644 --- a/doc/source/ray-air/preprocessors.rst +++ b/doc/source/ray-air/preprocessors.rst @@ -20,7 +20,7 @@ Ray AIR exposes a ``Preprocessor`` class for preprocessing. The ``Preprocessor`` #. ``transform()``: Apply a transformation to a ``Dataset``. If the ``Preprocessor`` is stateful, then ``fit()`` must be called first. *This is typically called on the training, validation, test datasets.* -#. ``transform_batch()``: Apply a transformation to a single :class:`batch ` of data. +#. ``transform_batch()``: Apply a transformation to a single :class:`batch ` of data. *This is typically called on online or offline inference data.* #. ``fit_transform()``: Syntactic sugar for calling both ``fit()`` and ``transform()`` on a ``Dataset``. @@ -63,7 +63,7 @@ The same logic is applicable to other integrations as well. Trainer ~~~~~~~ -The journey of the ``Preprocessor`` starts with the :class:`Trainer `. +The journey of the ``Preprocessor`` starts with the :class:`Trainer `. If the ``Trainer`` is instantiated with a ``Preprocessor``, then the following logic will be executed when ``Trainer.fit()`` is called: #. If a ``"train"`` ``Dataset`` is passed in, then the ``Preprocessor`` will call ``fit()`` on it. @@ -127,31 +127,31 @@ Ray AIR provides a handful of ``Preprocessor``\s that you can use out of the box .. tabbed:: Common APIs - #. :class:`Preprocessor ` - #. :class:`BatchMapper ` - #. :class:`Chain ` + #. :class:`Preprocessor ` + #. :class:`BatchMapper ` + #. :class:`Chain ` .. tabbed:: Tabular - #. :class:`Categorizer ` - #. :class:`FeatureHasher ` - #. :class:`LabelEncoder ` - #. :class:`MaxAbsScaler ` - #. :class:`MinMaxScaler ` - #. :class:`Normalizer ` - #. :class:`OneHotEncoder ` - #. :class:`OrdinalEncoder ` - #. :class:`PowerTransformer ` - #. :class:`RobustScaler ` - #. :class:`SimpleImputer ` - #. :class:`StandardScaler ` - #. :class:`SimpleImputer ` + #. :class:`Categorizer ` + #. :class:`FeatureHasher ` + #. :class:`LabelEncoder ` + #. :class:`MaxAbsScaler ` + #. :class:`MinMaxScaler ` + #. :class:`Normalizer ` + #. :class:`OneHotEncoder ` + #. :class:`OrdinalEncoder ` + #. :class:`PowerTransformer ` + #. :class:`RobustScaler ` + #. :class:`SimpleImputer ` + #. :class:`StandardScaler ` + #. :class:`SimpleImputer ` .. tabbed:: Text - #. :class:`CountVectorizer ` - #. :class:`HashingVectorizer ` - #. :class:`Tokenizer ` + #. :class:`CountVectorizer ` + #. :class:`HashingVectorizer ` + #. :class:`Tokenizer ` .. tabbed:: Image @@ -159,7 +159,7 @@ Ray AIR provides a handful of ``Preprocessor``\s that you can use out of the box .. tabbed:: Utilities - #. :func:`train_test_split ` + #. :func:`train_test_split ` Chaining Preprocessors ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/source/tune/examples/horovod_simple.ipynb b/doc/source/tune/examples/horovod_simple.ipynb index a00839e30..3267a3c7b 100644 --- a/doc/source/tune/examples/horovod_simple.ipynb +++ b/doc/source/tune/examples/horovod_simple.ipynb @@ -42,7 +42,7 @@ "import ray\n", "from ray import train\n", "from ray import tune\n", - "from ray.ml.train.integrations.horovod import HorovodTrainer\n", + "from ray.air.train.integrations.horovod import HorovodTrainer\n", "from ray.tune.tune_config import TuneConfig\n", "from ray.tune.tuner import Tuner\n", "\n", diff --git a/python/ray/ml/BUILD b/python/ray/air/BUILD similarity index 98% rename from python/ray/ml/BUILD rename to python/ray/air/BUILD index f83c819b0..1595c84f4 100644 --- a/python/ray/ml/BUILD +++ b/python/ray/air/BUILD @@ -1,5 +1,5 @@ # -------------------------------------------------------------------- -# Tests from the python/ray/ml/examples directory. +# Tests from the python/ray/air/examples directory. # Please keep these sorted alphabetically. # -------------------------------------------------------------------- py_test( @@ -148,7 +148,7 @@ py_test( ) # -------------------------------------------------------------------- -# Tests from the python/ray/ml/tests directory. +# Tests from the python/ray/air/tests directory. # Covers all tests starting with `test_`. # Please keep these sorted alphabetically. # -------------------------------------------------------------------- diff --git a/python/ray/air/__init__.py b/python/ray/air/__init__.py new file mode 100644 index 000000000..9a9b9d4ee --- /dev/null +++ b/python/ray/air/__init__.py @@ -0,0 +1,12 @@ +from ray.air.checkpoint import Checkpoint +from ray.air.config import RunConfig, ScalingConfig +from ray.air.preprocessor import Preprocessor +from ray.air.utils.datasets import train_test_split + +__all__ = [ + "Checkpoint", + "Preprocessor", + "RunConfig", + "ScalingConfig", + "train_test_split", +] diff --git a/python/ray/ml/batch_predictor.py b/python/ray/air/batch_predictor.py similarity index 98% rename from python/ray/ml/batch_predictor.py rename to python/ray/air/batch_predictor.py index 866af5590..bc163a205 100644 --- a/python/ray/ml/batch_predictor.py +++ b/python/ray/air/batch_predictor.py @@ -1,8 +1,8 @@ from typing import Type, Optional, Dict, Any import ray -from ray.ml import Checkpoint -from ray.ml.predictor import Predictor +from ray.air import Checkpoint +from ray.air.predictor import Predictor class BatchPredictor(Predictor): diff --git a/python/ray/ml/checkpoint.py b/python/ray/air/checkpoint.py similarity index 99% rename from python/ray/ml/checkpoint.py rename to python/ray/air/checkpoint.py index d05776551..09da56502 100644 --- a/python/ray/ml/checkpoint.py +++ b/python/ray/air/checkpoint.py @@ -12,7 +12,7 @@ from typing import Any, Dict, Iterator, Optional, Tuple, Union import ray from ray import cloudpickle as pickle -from ray.ml.utils.remote_storage import ( +from ray.air.utils.remote_storage import ( download_from_uri, fs_hint, is_non_local_path_uri, @@ -53,7 +53,7 @@ class Checkpoint: .. code-block:: python - from ray.ml.checkpoint import Checkpoint + from ray.air.checkpoint import Checkpoint # Create checkpoint data dict checkpoint_data = {"data": 123} @@ -79,7 +79,7 @@ class Checkpoint: .. code-block:: python - from ray.ml.checkpoint import Checkpoint + from ray.air.checkpoint import Checkpoint from sklearn.ensemble import RandomForestClassifier import mlflow.sklearn diff --git a/python/ray/ml/config.py b/python/ray/air/config.py similarity index 100% rename from python/ray/ml/config.py rename to python/ray/air/config.py diff --git a/python/ray/ml/constants.py b/python/ray/air/constants.py similarity index 100% rename from python/ray/ml/constants.py rename to python/ray/air/constants.py diff --git a/python/ray/ml/examples/__init__.py b/python/ray/air/examples/__init__.py similarity index 100% rename from python/ray/ml/examples/__init__.py rename to python/ray/air/examples/__init__.py diff --git a/python/ray/ml/examples/custom_trainer.py b/python/ray/air/examples/custom_trainer.py similarity index 97% rename from python/ray/ml/examples/custom_trainer.py rename to python/ray/air/examples/custom_trainer.py index bfc84a773..af986f23e 100644 --- a/python/ray/ml/examples/custom_trainer.py +++ b/python/ray/air/examples/custom_trainer.py @@ -5,7 +5,7 @@ # __custom_trainer_begin__ import torch -from ray.ml.trainer import Trainer +from ray.air.trainer import Trainer from ray import tune diff --git a/python/ray/ml/examples/horovod/__init__.py b/python/ray/air/examples/horovod/__init__.py similarity index 100% rename from python/ray/ml/examples/horovod/__init__.py rename to python/ray/air/examples/horovod/__init__.py diff --git a/python/ray/ml/examples/horovod/horovod_cifar_pbt_example.py b/python/ray/air/examples/horovod/horovod_cifar_pbt_example.py similarity index 100% rename from python/ray/ml/examples/horovod/horovod_cifar_pbt_example.py rename to python/ray/air/examples/horovod/horovod_cifar_pbt_example.py diff --git a/python/ray/ml/examples/horovod/horovod_pytorch_example.py b/python/ray/air/examples/horovod/horovod_pytorch_example.py similarity index 99% rename from python/ray/ml/examples/horovod/horovod_pytorch_example.py rename to python/ray/air/examples/horovod/horovod_pytorch_example.py index 9b20132a4..041960d62 100644 --- a/python/ray/ml/examples/horovod/horovod_pytorch_example.py +++ b/python/ray/air/examples/horovod/horovod_pytorch_example.py @@ -10,7 +10,7 @@ from torchvision import datasets, transforms import ray from ray import train -from ray.ml.train.integrations.horovod import HorovodTrainer +from ray.air.train.integrations.horovod import HorovodTrainer def metric_average(val, name): diff --git a/python/ray/ml/examples/horovod/horovod_tune_example.py b/python/ray/air/examples/horovod/horovod_tune_example.py similarity index 98% rename from python/ray/ml/examples/horovod/horovod_tune_example.py rename to python/ray/air/examples/horovod/horovod_tune_example.py index 56722ba76..ef8898c0e 100644 --- a/python/ray/ml/examples/horovod/horovod_tune_example.py +++ b/python/ray/air/examples/horovod/horovod_tune_example.py @@ -5,7 +5,7 @@ import torch import ray from ray import train from ray import tune -from ray.ml.train.integrations.horovod import HorovodTrainer +from ray.air.train.integrations.horovod import HorovodTrainer from ray.tune.tune_config import TuneConfig from ray.tune.tuner import Tuner diff --git a/python/ray/ml/examples/huggingface/__init__.py b/python/ray/air/examples/huggingface/__init__.py similarity index 100% rename from python/ray/ml/examples/huggingface/__init__.py rename to python/ray/air/examples/huggingface/__init__.py diff --git a/python/ray/ml/examples/huggingface/huggingface_basic_language_modeling_example.py b/python/ray/air/examples/huggingface/huggingface_basic_language_modeling_example.py similarity index 97% rename from python/ray/ml/examples/huggingface/huggingface_basic_language_modeling_example.py rename to python/ray/air/examples/huggingface/huggingface_basic_language_modeling_example.py index 1f00f45e9..b301c78f1 100644 --- a/python/ray/ml/examples/huggingface/huggingface_basic_language_modeling_example.py +++ b/python/ray/air/examples/huggingface/huggingface_basic_language_modeling_example.py @@ -17,9 +17,9 @@ import torch import ray import ray.data -from ray.ml.train.integrations.huggingface import HuggingFaceTrainer -from ray.ml.predictors.integrations.huggingface import HuggingFacePredictor -from ray.ml.batch_predictor import BatchPredictor +from ray.air.train.integrations.huggingface import HuggingFaceTrainer +from ray.air.predictors.integrations.huggingface import HuggingFacePredictor +from ray.air.batch_predictor import BatchPredictor def main( diff --git a/python/ray/ml/examples/lightgbm_example.ipynb b/python/ray/air/examples/lightgbm_example.ipynb similarity index 100% rename from python/ray/ml/examples/lightgbm_example.ipynb rename to python/ray/air/examples/lightgbm_example.ipynb diff --git a/python/ray/ml/examples/pytorch/__init__.py b/python/ray/air/examples/pytorch/__init__.py similarity index 100% rename from python/ray/ml/examples/pytorch/__init__.py rename to python/ray/air/examples/pytorch/__init__.py diff --git a/python/ray/ml/examples/pytorch/torch_fashion_mnist_example.py b/python/ray/air/examples/pytorch/torch_fashion_mnist_example.py similarity index 98% rename from python/ray/ml/examples/pytorch/torch_fashion_mnist_example.py rename to python/ray/air/examples/pytorch/torch_fashion_mnist_example.py index 39ea38585..3d5b6788e 100644 --- a/python/ray/ml/examples/pytorch/torch_fashion_mnist_example.py +++ b/python/ray/air/examples/pytorch/torch_fashion_mnist_example.py @@ -8,7 +8,7 @@ from torchvision import datasets from torchvision.transforms import ToTensor import ray.train as train -from ray.ml.train.integrations.torch import TorchTrainer +from ray.air.train.integrations.torch import TorchTrainer # Download training data from open datasets. training_data = datasets.FashionMNIST( diff --git a/python/ray/ml/examples/pytorch/torch_linear_dataset_example.py b/python/ray/air/examples/pytorch/torch_linear_dataset_example.py similarity index 95% rename from python/ray/ml/examples/pytorch/torch_linear_dataset_example.py rename to python/ray/air/examples/pytorch/torch_linear_dataset_example.py index 14e303fad..a379b81dd 100644 --- a/python/ray/ml/examples/pytorch/torch_linear_dataset_example.py +++ b/python/ray/air/examples/pytorch/torch_linear_dataset_example.py @@ -8,11 +8,11 @@ import torch.nn as nn import ray import ray.train as train from ray.data import Dataset -from ray.ml import train_test_split -from ray.ml.batch_predictor import BatchPredictor -from ray.ml.predictors.integrations.torch import TorchPredictor -from ray.ml.result import Result -from ray.ml.train.integrations.torch import TorchTrainer +from ray.air import train_test_split +from ray.air.batch_predictor import BatchPredictor +from ray.air.predictors.integrations.torch import TorchPredictor +from ray.air.result import Result +from ray.air.train.integrations.torch import TorchTrainer def get_datasets(a=5, b=10, size=1000, split=0.8) -> Tuple[Dataset]: diff --git a/python/ray/ml/examples/pytorch/torch_linear_example.py b/python/ray/air/examples/pytorch/torch_linear_example.py similarity index 98% rename from python/ray/ml/examples/pytorch/torch_linear_example.py rename to python/ray/air/examples/pytorch/torch_linear_example.py index 3bb2b6ca0..76991d133 100644 --- a/python/ray/ml/examples/pytorch/torch_linear_example.py +++ b/python/ray/air/examples/pytorch/torch_linear_example.py @@ -4,7 +4,7 @@ import numpy as np import torch import torch.nn as nn import ray.train as train -from ray.ml.train.integrations.torch import TorchTrainer +from ray.air.train.integrations.torch import TorchTrainer class LinearDataset(torch.utils.data.Dataset): diff --git a/python/ray/ml/examples/pytorch/tune_torch_linear_dataset_example.py b/python/ray/air/examples/pytorch/tune_torch_linear_dataset_example.py similarity index 97% rename from python/ray/ml/examples/pytorch/tune_torch_linear_dataset_example.py rename to python/ray/air/examples/pytorch/tune_torch_linear_dataset_example.py index f9caa0b8c..2b8b39e16 100644 --- a/python/ray/ml/examples/pytorch/tune_torch_linear_dataset_example.py +++ b/python/ray/air/examples/pytorch/tune_torch_linear_dataset_example.py @@ -2,7 +2,7 @@ import argparse import ray from ray import tune -from ray.ml.train.integrations.torch import TorchTrainer +from ray.air.train.integrations.torch import TorchTrainer from ray.tune.tune_config import TuneConfig from ray.tune.tuner import Tuner diff --git a/python/ray/ml/examples/pytorch_geometric/__init__.py b/python/ray/air/examples/pytorch_geometric/__init__.py similarity index 100% rename from python/ray/ml/examples/pytorch_geometric/__init__.py rename to python/ray/air/examples/pytorch_geometric/__init__.py diff --git a/python/ray/ml/examples/pytorch_geometric/distributed_sage_example.py b/python/ray/air/examples/pytorch_geometric/distributed_sage_example.py similarity index 99% rename from python/ray/ml/examples/pytorch_geometric/distributed_sage_example.py rename to python/ray/air/examples/pytorch_geometric/distributed_sage_example.py index 03b9a6013..6fa03f1be 100644 --- a/python/ray/ml/examples/pytorch_geometric/distributed_sage_example.py +++ b/python/ray/air/examples/pytorch_geometric/distributed_sage_example.py @@ -13,7 +13,7 @@ from torch_geometric.loader import NeighborSampler from torch_geometric.nn import SAGEConv from ray import train -from ray.ml.train.integrations.torch import TorchTrainer +from ray.air.train.integrations.torch import TorchTrainer from torch_geometric.transforms import RandomNodeSplit diff --git a/python/ray/ml/examples/rl_offline_example.ipynb b/python/ray/air/examples/rl_offline_example.ipynb similarity index 100% rename from python/ray/ml/examples/rl_offline_example.ipynb rename to python/ray/air/examples/rl_offline_example.ipynb diff --git a/python/ray/ml/examples/rl_online_example.ipynb b/python/ray/air/examples/rl_online_example.ipynb similarity index 100% rename from python/ray/ml/examples/rl_online_example.ipynb rename to python/ray/air/examples/rl_online_example.ipynb diff --git a/python/ray/ml/examples/rl_serving_example.ipynb b/python/ray/air/examples/rl_serving_example.ipynb similarity index 100% rename from python/ray/ml/examples/rl_serving_example.ipynb rename to python/ray/air/examples/rl_serving_example.ipynb diff --git a/python/ray/ml/examples/sklearn_example.ipynb b/python/ray/air/examples/sklearn_example.ipynb similarity index 100% rename from python/ray/ml/examples/sklearn_example.ipynb rename to python/ray/air/examples/sklearn_example.ipynb diff --git a/python/ray/ml/examples/tf/__init__.py b/python/ray/air/examples/tf/__init__.py similarity index 100% rename from python/ray/ml/examples/tf/__init__.py rename to python/ray/air/examples/tf/__init__.py diff --git a/python/ray/ml/examples/tf/tensorflow_linear_dataset_example.py b/python/ray/air/examples/tf/tensorflow_linear_dataset_example.py similarity index 94% rename from python/ray/ml/examples/tf/tensorflow_linear_dataset_example.py rename to python/ray/air/examples/tf/tensorflow_linear_dataset_example.py index 4d58ff8d2..6f479e069 100644 --- a/python/ray/ml/examples/tf/tensorflow_linear_dataset_example.py +++ b/python/ray/air/examples/tf/tensorflow_linear_dataset_example.py @@ -3,16 +3,16 @@ import numpy as np import tensorflow as tf -from ray.ml.batch_predictor import BatchPredictor +from ray.air.batch_predictor import BatchPredictor from tensorflow.keras.callbacks import Callback import ray import ray.train as train from ray.data import Dataset from ray.train.tensorflow import prepare_dataset_shard -from ray.ml.train.integrations.tensorflow import TensorflowTrainer -from ray.ml.predictors.integrations.tensorflow import TensorflowPredictor -from ray.ml.result import Result +from ray.air.train.integrations.tensorflow import TensorflowTrainer +from ray.air.predictors.integrations.tensorflow import TensorflowPredictor +from ray.air.result import Result class TrainCheckpointReportCallback(Callback): diff --git a/python/ray/ml/examples/tf/tensorflow_mnist_example.py b/python/ray/air/examples/tf/tensorflow_mnist_example.py similarity index 97% rename from python/ray/ml/examples/tf/tensorflow_mnist_example.py rename to python/ray/air/examples/tf/tensorflow_mnist_example.py index 0d0c5b9a6..9fd64bee6 100644 --- a/python/ray/ml/examples/tf/tensorflow_mnist_example.py +++ b/python/ray/air/examples/tf/tensorflow_mnist_example.py @@ -6,12 +6,12 @@ import json import os import numpy as np -from ray.ml.result import Result +from ray.air.result import Result import tensorflow as tf from tensorflow.keras.callbacks import Callback import ray.train as train -from ray.ml.train.integrations.tensorflow import TensorflowTrainer +from ray.air.train.integrations.tensorflow import TensorflowTrainer class TrainCheckpointReportCallback(Callback): diff --git a/python/ray/ml/examples/tf/tune_tensorflow_mnist_example.py b/python/ray/air/examples/tf/tune_tensorflow_mnist_example.py similarity index 93% rename from python/ray/ml/examples/tf/tune_tensorflow_mnist_example.py rename to python/ray/air/examples/tf/tune_tensorflow_mnist_example.py index 5d016878a..1d859eca4 100644 --- a/python/ray/ml/examples/tf/tune_tensorflow_mnist_example.py +++ b/python/ray/air/examples/tf/tune_tensorflow_mnist_example.py @@ -2,9 +2,9 @@ import argparse import ray from ray import tune -from ray.ml.train.integrations.tensorflow import TensorflowTrainer +from ray.air.train.integrations.tensorflow import TensorflowTrainer -from ray.ml.examples.tf.tensorflow_mnist_example import train_func +from ray.air.examples.tf.tensorflow_mnist_example import train_func from ray.tune.tune_config import TuneConfig from ray.tune.tuner import Tuner diff --git a/python/ray/ml/examples/upload_to_comet_ml.ipynb b/python/ray/air/examples/upload_to_comet_ml.ipynb similarity index 100% rename from python/ray/ml/examples/upload_to_comet_ml.ipynb rename to python/ray/air/examples/upload_to_comet_ml.ipynb diff --git a/python/ray/ml/examples/upload_to_wandb.ipynb b/python/ray/air/examples/upload_to_wandb.ipynb similarity index 100% rename from python/ray/ml/examples/upload_to_wandb.ipynb rename to python/ray/air/examples/upload_to_wandb.ipynb diff --git a/python/ray/air/examples/wandb/latest-run b/python/ray/air/examples/wandb/latest-run new file mode 120000 index 000000000..281529b11 --- /dev/null +++ b/python/ray/air/examples/wandb/latest-run @@ -0,0 +1 @@ +run-20220506_100917-33977_00000 \ No newline at end of file diff --git a/python/ray/ml/examples/xgboost_example.ipynb b/python/ray/air/examples/xgboost_example.ipynb similarity index 100% rename from python/ray/ml/examples/xgboost_example.ipynb rename to python/ray/air/examples/xgboost_example.ipynb diff --git a/python/ray/ml/predictor.py b/python/ray/air/predictor.py similarity index 97% rename from python/ray/ml/predictor.py rename to python/ray/air/predictor.py index 8847f26dd..872b0571b 100644 --- a/python/ray/ml/predictor.py +++ b/python/ray/air/predictor.py @@ -1,7 +1,7 @@ import abc from typing import Union, TYPE_CHECKING -from ray.ml.checkpoint import Checkpoint +from ray.air.checkpoint import Checkpoint if TYPE_CHECKING: import numpy as np diff --git a/python/ray/ml/predictors/__init__.py b/python/ray/air/predictors/__init__.py similarity index 100% rename from python/ray/ml/predictors/__init__.py rename to python/ray/air/predictors/__init__.py diff --git a/python/ray/ml/predictors/integrations/__init__.py b/python/ray/air/predictors/integrations/__init__.py similarity index 100% rename from python/ray/ml/predictors/integrations/__init__.py rename to python/ray/air/predictors/integrations/__init__.py diff --git a/python/ray/air/predictors/integrations/huggingface/__init__.py b/python/ray/air/predictors/integrations/huggingface/__init__.py new file mode 100644 index 000000000..5772e0cfe --- /dev/null +++ b/python/ray/air/predictors/integrations/huggingface/__init__.py @@ -0,0 +1,5 @@ +from ray.air.predictors.integrations.huggingface.huggingface_predictor import ( + HuggingFacePredictor, +) + +__all__ = ["HuggingFacePredictor"] diff --git a/python/ray/ml/predictors/integrations/huggingface/huggingface_predictor.py b/python/ray/air/predictors/integrations/huggingface/huggingface_predictor.py similarity index 94% rename from python/ray/ml/predictors/integrations/huggingface/huggingface_predictor.py rename to python/ray/air/predictors/integrations/huggingface/huggingface_predictor.py index 99db9ebc4..518b66a77 100644 --- a/python/ray/ml/predictors/integrations/huggingface/huggingface_predictor.py +++ b/python/ray/air/predictors/integrations/huggingface/huggingface_predictor.py @@ -8,10 +8,10 @@ from transformers.pipelines.table_question_answering import ( TableQuestionAnsweringPipeline, ) -from ray.ml.predictor import DataBatchType, Predictor -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint -from ray.ml.utils.checkpointing import load_preprocessor_from_dir +from ray.air.predictor import DataBatchType, Predictor +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint +from ray.air.utils.checkpointing import load_preprocessor_from_dir class HuggingFacePredictor(Predictor): @@ -127,7 +127,7 @@ class HuggingFacePredictor(Predictor): import pandas as pd from transformers import AutoConfig, AutoModelForCausalLM, AutoTokenizer from transformers.pipelines import pipeline - from ray.ml.predictors.integrations.huggingface import HuggingFacePredictor + from ray.air.predictors.integrations.huggingface import HuggingFacePredictor model_checkpoint = "gpt2" tokenizer_checkpoint = "sgugger/gpt2-like-tokenizer" diff --git a/python/ray/air/predictors/integrations/lightgbm/__init__.py b/python/ray/air/predictors/integrations/lightgbm/__init__.py new file mode 100644 index 000000000..47845b592 --- /dev/null +++ b/python/ray/air/predictors/integrations/lightgbm/__init__.py @@ -0,0 +1,5 @@ +from ray.air.predictors.integrations.lightgbm.lightgbm_predictor import ( + LightGBMPredictor, +) + +__all__ = ["LightGBMPredictor"] diff --git a/python/ray/ml/predictors/integrations/lightgbm/lightgbm_predictor.py b/python/ray/air/predictors/integrations/lightgbm/lightgbm_predictor.py similarity index 91% rename from python/ray/ml/predictors/integrations/lightgbm/lightgbm_predictor.py rename to python/ray/air/predictors/integrations/lightgbm/lightgbm_predictor.py index 6f59bb2b3..daaa73b1d 100644 --- a/python/ray/ml/predictors/integrations/lightgbm/lightgbm_predictor.py +++ b/python/ray/air/predictors/integrations/lightgbm/lightgbm_predictor.py @@ -4,10 +4,10 @@ import pandas as pd import lightgbm -from ray.ml.checkpoint import Checkpoint -from ray.ml.predictor import Predictor, DataBatchType -from ray.ml.preprocessor import Preprocessor -from ray.ml.train.integrations.lightgbm import load_checkpoint +from ray.air.checkpoint import Checkpoint +from ray.air.predictor import Predictor, DataBatchType +from ray.air.preprocessor import Preprocessor +from ray.air.train.integrations.lightgbm import load_checkpoint class LightGBMPredictor(Predictor): @@ -63,7 +63,7 @@ class LightGBMPredictor(Predictor): import numpy as np import lightgbm as lgbm - from ray.ml.predictors.lightgbm import LightGBMPredictor + from ray.air.predictors.lightgbm import LightGBMPredictor train_X = np.array([[1, 2], [3, 4]]) train_y = np.array([0, 1]) @@ -82,7 +82,7 @@ class LightGBMPredictor(Predictor): import pandas as pd import lightgbm as lgbm - from ray.ml.predictors.lightgbm import LightGBMPredictor + from ray.air.predictors.lightgbm import LightGBMPredictor train_X = pd.DataFrame([[1, 2], [3, 4]], columns=["A", "B"]) train_y = pd.Series([0, 1]) diff --git a/python/ray/air/predictors/integrations/rl/__init__.py b/python/ray/air/predictors/integrations/rl/__init__.py new file mode 100644 index 000000000..57333766c --- /dev/null +++ b/python/ray/air/predictors/integrations/rl/__init__.py @@ -0,0 +1,3 @@ +from ray.air.predictors.integrations.rl.rl_predictor import RLPredictor + +__all__ = ["RLPredictor"] diff --git a/python/ray/ml/predictors/integrations/rl/rl_predictor.py b/python/ray/air/predictors/integrations/rl/rl_predictor.py similarity index 92% rename from python/ray/ml/predictors/integrations/rl/rl_predictor.py rename to python/ray/air/predictors/integrations/rl/rl_predictor.py index 0b97cb039..d0a9702b3 100644 --- a/python/ray/ml/predictors/integrations/rl/rl_predictor.py +++ b/python/ray/air/predictors/integrations/rl/rl_predictor.py @@ -3,9 +3,9 @@ from typing import Optional import numpy import numpy as np import pandas as pd -from ray.ml import Preprocessor, Checkpoint -from ray.ml.predictor import Predictor, DataBatchType -from ray.ml.train.integrations.rl import load_checkpoint +from ray.air import Preprocessor, Checkpoint +from ray.air.predictor import Predictor, DataBatchType +from ray.air.train.integrations.rl import load_checkpoint from ray.rllib.policy.policy import Policy from ray.rllib.utils.typing import EnvType diff --git a/python/ray/air/predictors/integrations/sklearn/__init__.py b/python/ray/air/predictors/integrations/sklearn/__init__.py new file mode 100644 index 000000000..e5531f8e6 --- /dev/null +++ b/python/ray/air/predictors/integrations/sklearn/__init__.py @@ -0,0 +1,5 @@ +from ray.air.predictors.integrations.sklearn.sklearn_predictor import ( + SklearnPredictor, +) + +__all__ = ["SklearnPredictor"] diff --git a/python/ray/ml/predictors/integrations/sklearn/sklearn_predictor.py b/python/ray/air/predictors/integrations/sklearn/sklearn_predictor.py similarity index 91% rename from python/ray/ml/predictors/integrations/sklearn/sklearn_predictor.py rename to python/ray/air/predictors/integrations/sklearn/sklearn_predictor.py index 8fe91593e..7100283b9 100644 --- a/python/ray/ml/predictors/integrations/sklearn/sklearn_predictor.py +++ b/python/ray/air/predictors/integrations/sklearn/sklearn_predictor.py @@ -4,11 +4,11 @@ import pandas as pd import numpy as np from joblib import parallel_backend -from ray.ml.checkpoint import Checkpoint -from ray.ml.predictor import Predictor, DataBatchType -from ray.ml.preprocessor import Preprocessor -from ray.ml.train.integrations.sklearn import load_checkpoint -from ray.ml.utils.sklearn_utils import set_cpu_params +from ray.air.checkpoint import Checkpoint +from ray.air.predictor import Predictor, DataBatchType +from ray.air.preprocessor import Preprocessor +from ray.air.train.integrations.sklearn import load_checkpoint +from ray.air.utils.sklearn_utils import set_cpu_params from ray.util.joblib import register_ray from sklearn.base import BaseEstimator @@ -71,7 +71,7 @@ class SklearnPredictor(Predictor): import numpy as np from sklearn.ensemble import RandomForestClassifier - from ray.ml.predictors.sklearn import SklearnPredictor + from ray.air.predictors.sklearn import SklearnPredictor train_X = np.array([[1, 2], [3, 4]]) train_y = np.array([0, 1]) @@ -90,7 +90,7 @@ class SklearnPredictor(Predictor): import pandas as pd from sklearn.ensemble import RandomForestClassifier - from ray.ml.predictors.sklearn import SklearnPredictor + from ray.air.predictors.sklearn import SklearnPredictor train_X = pd.DataFrame([[1, 2], [3, 4]], columns=["A", "B"]) train_y = pd.Series([0, 1]) diff --git a/python/ray/air/predictors/integrations/tensorflow/__init__.py b/python/ray/air/predictors/integrations/tensorflow/__init__.py new file mode 100644 index 000000000..048f0cedd --- /dev/null +++ b/python/ray/air/predictors/integrations/tensorflow/__init__.py @@ -0,0 +1,5 @@ +from ray.air.predictors.integrations.tensorflow.tensorflow_predictor import ( + TensorflowPredictor, +) + +__all__ = ["TensorflowPredictor"] diff --git a/python/ray/ml/predictors/integrations/tensorflow/tensorflow_predictor.py b/python/ray/air/predictors/integrations/tensorflow/tensorflow_predictor.py similarity index 93% rename from python/ray/ml/predictors/integrations/tensorflow/tensorflow_predictor.py rename to python/ray/air/predictors/integrations/tensorflow/tensorflow_predictor.py index e974fd9fb..1f37e70bd 100644 --- a/python/ray/ml/predictors/integrations/tensorflow/tensorflow_predictor.py +++ b/python/ray/air/predictors/integrations/tensorflow/tensorflow_predictor.py @@ -3,10 +3,10 @@ from typing import Callable, Optional, Union, List, Type import pandas as pd import tensorflow as tf -from ray.ml.predictor import Predictor, DataBatchType -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint -from ray.ml.train.data_parallel_trainer import _load_checkpoint +from ray.air.predictor import Predictor, DataBatchType +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint +from ray.air.train.data_parallel_trainer import _load_checkpoint class TensorflowPredictor(Predictor): @@ -82,7 +82,7 @@ class TensorflowPredictor(Predictor): import numpy as np import tensorflow as tf - from ray.ml.predictors.tensorflow import TensorflowPredictor + from ray.air.predictors.tensorflow import TensorflowPredictor def build_model(self): return tf.keras.Sequential( @@ -101,7 +101,7 @@ class TensorflowPredictor(Predictor): import pandas as pd import tensorflow as tf - from ray.ml.predictors.tensorflow import TensorflowPredictor + from ray.air.predictors.tensorflow import TensorflowPredictor def build_model(self): return tf.keras.Sequential( diff --git a/python/ray/air/predictors/integrations/torch/__init__.py b/python/ray/air/predictors/integrations/torch/__init__.py new file mode 100644 index 000000000..69e683dfc --- /dev/null +++ b/python/ray/air/predictors/integrations/torch/__init__.py @@ -0,0 +1,3 @@ +from ray.air.predictors.integrations.torch.torch_predictor import TorchPredictor + +__all__ = ["TorchPredictor"] diff --git a/python/ray/ml/predictors/integrations/torch/torch_predictor.py b/python/ray/air/predictors/integrations/torch/torch_predictor.py similarity index 93% rename from python/ray/ml/predictors/integrations/torch/torch_predictor.py rename to python/ray/air/predictors/integrations/torch/torch_predictor.py index 21d6d7052..f4f0a8204 100644 --- a/python/ray/ml/predictors/integrations/torch/torch_predictor.py +++ b/python/ray/air/predictors/integrations/torch/torch_predictor.py @@ -4,11 +4,11 @@ import numpy as np import pandas as pd import torch -from ray.ml.predictor import Predictor, DataBatchType -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint -from ray.ml.train.integrations.torch import load_checkpoint -from ray.ml.utils.torch_utils import convert_pandas_to_torch_tensor +from ray.air.predictor import Predictor, DataBatchType +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint +from ray.air.train.integrations.torch import load_checkpoint +from ray.air.utils.torch_utils import convert_pandas_to_torch_tensor class TorchPredictor(Predictor): @@ -127,7 +127,7 @@ class TorchPredictor(Predictor): import numpy as np import torch - from ray.ml.predictors.integrations.torch import TorchPredictor + from ray.air.predictors.integrations.torch import TorchPredictor model = torch.nn.Linear(2, 1) predictor = TorchPredictor(model=model) @@ -139,7 +139,7 @@ class TorchPredictor(Predictor): import pandas as pd import torch - from ray.ml.predictors.integrations.torch import TorchPredictor + from ray.air.predictors.integrations.torch import TorchPredictor model = torch.nn.Linear(1, 1) predictor = TorchPredictor(model=model) diff --git a/python/ray/air/predictors/integrations/xgboost/__init__.py b/python/ray/air/predictors/integrations/xgboost/__init__.py new file mode 100644 index 000000000..0d8cb0164 --- /dev/null +++ b/python/ray/air/predictors/integrations/xgboost/__init__.py @@ -0,0 +1,3 @@ +from ray.air.predictors.integrations.xgboost.xgboost_predictor import XGBoostPredictor + +__all__ = ["XGBoostPredictor"] diff --git a/python/ray/ml/predictors/integrations/xgboost/xgboost_predictor.py b/python/ray/air/predictors/integrations/xgboost/xgboost_predictor.py similarity index 92% rename from python/ray/ml/predictors/integrations/xgboost/xgboost_predictor.py rename to python/ray/air/predictors/integrations/xgboost/xgboost_predictor.py index cda10abfa..3ada1f1e6 100644 --- a/python/ray/ml/predictors/integrations/xgboost/xgboost_predictor.py +++ b/python/ray/air/predictors/integrations/xgboost/xgboost_predictor.py @@ -4,10 +4,10 @@ import pandas as pd import xgboost -from ray.ml.checkpoint import Checkpoint -from ray.ml.predictor import Predictor, DataBatchType -from ray.ml.preprocessor import Preprocessor -from ray.ml.train.integrations.xgboost import load_checkpoint +from ray.air.checkpoint import Checkpoint +from ray.air.predictor import Predictor, DataBatchType +from ray.air.preprocessor import Preprocessor +from ray.air.train.integrations.xgboost import load_checkpoint class XGBoostPredictor(Predictor): @@ -67,7 +67,7 @@ class XGBoostPredictor(Predictor): import numpy as np import xgboost as xgb - from ray.ml.predictors.xgboost import XGBoostPredictor + from ray.air.predictors.xgboost import XGBoostPredictor train_X = np.array([[1, 2], [3, 4]]) train_y = np.array([0, 1]) @@ -86,7 +86,7 @@ class XGBoostPredictor(Predictor): import pandas as pd import xgboost as xgb - from ray.ml.predictors.xgboost import XGBoostPredictor + from ray.air.predictors.xgboost import XGBoostPredictor train_X = pd.DataFrame([[1, 2], [3, 4]], columns=["A", "B"]) train_y = pd.Series([0, 1]) diff --git a/python/ray/ml/preprocessor.py b/python/ray/air/preprocessor.py similarity index 99% rename from python/ray/ml/preprocessor.py rename to python/ray/air/preprocessor.py index a7b0ecea9..80d5a9c01 100644 --- a/python/ray/ml/preprocessor.py +++ b/python/ray/air/preprocessor.py @@ -7,7 +7,7 @@ if TYPE_CHECKING: import pandas as pd from ray.data import Dataset -from ray.ml.predictor import DataBatchType +from ray.air.predictor import DataBatchType class PreprocessorNotFittedException(RuntimeError): diff --git a/python/ray/ml/preprocessors/__init__.py b/python/ray/air/preprocessors/__init__.py similarity index 50% rename from python/ray/ml/preprocessors/__init__.py rename to python/ray/air/preprocessors/__init__.py index 4a4c8bb0a..cf0d5eca9 100644 --- a/python/ray/ml/preprocessors/__init__.py +++ b/python/ray/air/preprocessors/__init__.py @@ -1,24 +1,24 @@ -from ray.ml.preprocessors.batch_mapper import BatchMapper -from ray.ml.preprocessors.chain import Chain -from ray.ml.preprocessors.encoder import ( +from ray.air.preprocessors.batch_mapper import BatchMapper +from ray.air.preprocessors.chain import Chain +from ray.air.preprocessors.encoder import ( Categorizer, LabelEncoder, MultiHotEncoder, OneHotEncoder, OrdinalEncoder, ) -from ray.ml.preprocessors.hasher import FeatureHasher -from ray.ml.preprocessors.imputer import SimpleImputer -from ray.ml.preprocessors.normalizer import Normalizer -from ray.ml.preprocessors.scaler import ( +from ray.air.preprocessors.hasher import FeatureHasher +from ray.air.preprocessors.imputer import SimpleImputer +from ray.air.preprocessors.normalizer import Normalizer +from ray.air.preprocessors.scaler import ( StandardScaler, MinMaxScaler, MaxAbsScaler, RobustScaler, ) -from ray.ml.preprocessors.tokenizer import Tokenizer -from ray.ml.preprocessors.transformer import PowerTransformer -from ray.ml.preprocessors.vectorizer import CountVectorizer, HashingVectorizer +from ray.air.preprocessors.tokenizer import Tokenizer +from ray.air.preprocessors.transformer import PowerTransformer +from ray.air.preprocessors.vectorizer import CountVectorizer, HashingVectorizer __all__ = [ "BatchMapper", diff --git a/python/ray/ml/preprocessors/batch_mapper.py b/python/ray/air/preprocessors/batch_mapper.py similarity index 94% rename from python/ray/ml/preprocessors/batch_mapper.py rename to python/ray/air/preprocessors/batch_mapper.py index 3e057a37f..9d0232de8 100644 --- a/python/ray/ml/preprocessors/batch_mapper.py +++ b/python/ray/air/preprocessors/batch_mapper.py @@ -1,6 +1,6 @@ from typing import Callable, TYPE_CHECKING -from ray.ml.preprocessor import Preprocessor +from ray.air.preprocessor import Preprocessor if TYPE_CHECKING: import pandas diff --git a/python/ray/ml/preprocessors/chain.py b/python/ray/air/preprocessors/chain.py similarity index 97% rename from python/ray/ml/preprocessors/chain.py rename to python/ray/air/preprocessors/chain.py index 04f5d56f5..9ad9b1c83 100644 --- a/python/ray/ml/preprocessors/chain.py +++ b/python/ray/air/preprocessors/chain.py @@ -1,5 +1,5 @@ from ray.data import Dataset -from ray.ml.preprocessor import Preprocessor, DataBatchType +from ray.air.preprocessor import Preprocessor, DataBatchType class Chain(Preprocessor): diff --git a/python/ray/ml/preprocessors/encoder.py b/python/ray/air/preprocessors/encoder.py similarity index 99% rename from python/ray/ml/preprocessors/encoder.py rename to python/ray/air/preprocessors/encoder.py index d18af86ae..5c290811c 100644 --- a/python/ray/ml/preprocessors/encoder.py +++ b/python/ray/air/preprocessors/encoder.py @@ -6,7 +6,7 @@ import pandas as pd import pandas.api.types from ray.data import Dataset -from ray.ml.preprocessor import Preprocessor +from ray.air.preprocessor import Preprocessor class OrdinalEncoder(Preprocessor): @@ -25,7 +25,7 @@ class OrdinalEncoder(Preprocessor): .. code-block:: python import ray.data - from ray.ml.preprocessors import OrdinalEncoder + from ray.air.preprocessors import OrdinalEncoder import pandas as pd batch = pd.DataFrame( { @@ -202,7 +202,7 @@ class MultiHotEncoder(Preprocessor): .. code-block:: python import ray.data - from ray.ml.preprocessors import MultiHotEncoder + from ray.air.preprocessors import MultiHotEncoder import pandas as pd mhe = MultiHotEncoder(columns=["A", "B"]) batch = pd.DataFrame( diff --git a/python/ray/ml/preprocessors/hasher.py b/python/ray/air/preprocessors/hasher.py similarity index 95% rename from python/ray/ml/preprocessors/hasher.py rename to python/ray/air/preprocessors/hasher.py index 271c91e8e..30095a018 100644 --- a/python/ray/ml/preprocessors/hasher.py +++ b/python/ray/air/preprocessors/hasher.py @@ -3,9 +3,9 @@ from typing import List import pandas as pd -from ray.ml.preprocessor import Preprocessor +from ray.air.preprocessor import Preprocessor -from ray.ml.preprocessors.utils import simple_hash +from ray.air.preprocessors.utils import simple_hash class FeatureHasher(Preprocessor): diff --git a/python/ray/ml/preprocessors/imputer.py b/python/ray/air/preprocessors/imputer.py similarity index 98% rename from python/ray/ml/preprocessors/imputer.py rename to python/ray/air/preprocessors/imputer.py index a6daa3634..e38207cc5 100644 --- a/python/ray/ml/preprocessors/imputer.py +++ b/python/ray/air/preprocessors/imputer.py @@ -6,7 +6,7 @@ import pandas as pd from ray.data import Dataset from ray.data.aggregate import Mean -from ray.ml.preprocessor import Preprocessor +from ray.air.preprocessor import Preprocessor class SimpleImputer(Preprocessor): diff --git a/python/ray/ml/preprocessors/normalizer.py b/python/ray/air/preprocessors/normalizer.py similarity index 96% rename from python/ray/ml/preprocessors/normalizer.py rename to python/ray/air/preprocessors/normalizer.py index 1e7e8c07c..8e4baabeb 100644 --- a/python/ray/ml/preprocessors/normalizer.py +++ b/python/ray/air/preprocessors/normalizer.py @@ -3,7 +3,7 @@ from typing import List import numpy as np import pandas as pd -from ray.ml.preprocessor import Preprocessor +from ray.air.preprocessor import Preprocessor class Normalizer(Preprocessor): diff --git a/python/ray/ml/preprocessors/scaler.py b/python/ray/air/preprocessors/scaler.py similarity index 99% rename from python/ray/ml/preprocessors/scaler.py rename to python/ray/air/preprocessors/scaler.py index 4714570a2..4cad10d89 100644 --- a/python/ray/ml/preprocessors/scaler.py +++ b/python/ray/air/preprocessors/scaler.py @@ -5,7 +5,7 @@ import pandas as pd from ray.data import Dataset from ray.data.aggregate import Mean, Std, Min, Max, AbsMax -from ray.ml.preprocessor import Preprocessor +from ray.air.preprocessor import Preprocessor class StandardScaler(Preprocessor): diff --git a/python/ray/ml/preprocessors/tokenizer.py b/python/ray/air/preprocessors/tokenizer.py similarity index 91% rename from python/ray/ml/preprocessors/tokenizer.py rename to python/ray/air/preprocessors/tokenizer.py index a0c936f9e..e7add283b 100644 --- a/python/ray/ml/preprocessors/tokenizer.py +++ b/python/ray/air/preprocessors/tokenizer.py @@ -2,8 +2,8 @@ from typing import List, Callable, Optional import pandas as pd -from ray.ml.preprocessor import Preprocessor -from ray.ml.preprocessors.utils import simple_split_tokenizer +from ray.air.preprocessor import Preprocessor +from ray.air.preprocessors.utils import simple_split_tokenizer class Tokenizer(Preprocessor): diff --git a/python/ray/ml/preprocessors/transformer.py b/python/ray/air/preprocessors/transformer.py similarity index 98% rename from python/ray/ml/preprocessors/transformer.py rename to python/ray/air/preprocessors/transformer.py index 3891c4718..78fd852a9 100644 --- a/python/ray/ml/preprocessors/transformer.py +++ b/python/ray/air/preprocessors/transformer.py @@ -3,7 +3,7 @@ from typing import List import numpy as np import pandas as pd -from ray.ml.preprocessor import Preprocessor +from ray.air.preprocessor import Preprocessor class PowerTransformer(Preprocessor): diff --git a/python/ray/ml/preprocessors/utils.py b/python/ray/air/preprocessors/utils.py similarity index 100% rename from python/ray/ml/preprocessors/utils.py rename to python/ray/air/preprocessors/utils.py diff --git a/python/ray/ml/preprocessors/vectorizer.py b/python/ray/air/preprocessors/vectorizer.py similarity index 97% rename from python/ray/ml/preprocessors/vectorizer.py rename to python/ray/air/preprocessors/vectorizer.py index 05961ba5f..2d2e93697 100644 --- a/python/ray/ml/preprocessors/vectorizer.py +++ b/python/ray/air/preprocessors/vectorizer.py @@ -4,8 +4,8 @@ from typing import List, Callable, Optional import pandas as pd from ray.data import Dataset -from ray.ml.preprocessor import Preprocessor -from ray.ml.preprocessors.utils import simple_split_tokenizer, simple_hash +from ray.air.preprocessor import Preprocessor +from ray.air.preprocessors.utils import simple_split_tokenizer, simple_hash class HashingVectorizer(Preprocessor): diff --git a/python/ray/ml/result.py b/python/ray/air/result.py similarity index 96% rename from python/ray/ml/result.py rename to python/ray/air/result.py index 23844c3b6..d5160ed98 100644 --- a/python/ray/ml/result.py +++ b/python/ray/air/result.py @@ -1,7 +1,7 @@ from typing import Any, Dict, Optional from dataclasses import dataclass -from ray.ml.checkpoint import Checkpoint +from ray.air.checkpoint import Checkpoint @dataclass diff --git a/python/ray/ml/tests/__init__.py b/python/ray/air/tests/__init__.py similarity index 100% rename from python/ray/ml/tests/__init__.py rename to python/ray/air/tests/__init__.py diff --git a/python/ray/ml/tests/_huggingface_data.py b/python/ray/air/tests/_huggingface_data.py similarity index 100% rename from python/ray/ml/tests/_huggingface_data.py rename to python/ray/air/tests/_huggingface_data.py diff --git a/python/ray/ml/tests/conftest.py b/python/ray/air/tests/conftest.py similarity index 100% rename from python/ray/ml/tests/conftest.py rename to python/ray/air/tests/conftest.py diff --git a/python/ray/ml/tests/test_api.py b/python/ray/air/tests/test_api.py similarity index 93% rename from python/ray/ml/tests/test_api.py rename to python/ray/air/tests/test_api.py index 4e6773791..40abc4741 100644 --- a/python/ray/ml/tests/test_api.py +++ b/python/ray/air/tests/test_api.py @@ -1,11 +1,11 @@ import pytest import ray -from ray.ml import Checkpoint -from ray.ml.config import ScalingConfigDataClass -from ray.ml.trainer import Trainer -from ray.ml.preprocessor import Preprocessor -from ray.ml.utils.config import ( +from ray.air import Checkpoint +from ray.air.config import ScalingConfigDataClass +from ray.air.trainer import Trainer +from ray.air.preprocessor import Preprocessor +from ray.air.utils.config import ( ensure_only_allowed_dataclass_keys_updated, ensure_only_allowed_dict_keys_set, ) @@ -38,7 +38,7 @@ def test_run_config(): DummyTrainer(run_config=None) # Succeed - DummyTrainer(run_config=ray.ml.RunConfig()) + DummyTrainer(run_config=ray.air.RunConfig()) def test_scaling_config(): diff --git a/python/ray/ml/tests/test_batchpredictor_runtime.py b/python/ray/air/tests/test_batchpredictor_runtime.py similarity index 96% rename from python/ray/ml/tests/test_batchpredictor_runtime.py rename to python/ray/air/tests/test_batchpredictor_runtime.py index e4d9ccb38..3c900e211 100644 --- a/python/ray/ml/tests/test_batchpredictor_runtime.py +++ b/python/ray/air/tests/test_batchpredictor_runtime.py @@ -8,9 +8,9 @@ from pathlib import Path from typing import Type import ray -from ray.ml.checkpoint import Checkpoint -from ray.ml.batch_predictor import BatchPredictor -from ray.ml.predictor import Predictor +from ray.air.checkpoint import Checkpoint +from ray.air.batch_predictor import BatchPredictor +from ray.air.predictor import Predictor NUM_REPEATS = 3 diff --git a/python/ray/ml/tests/test_checkpoints.py b/python/ray/air/tests/test_checkpoints.py similarity index 99% rename from python/ray/ml/tests/test_checkpoints.py rename to python/ray/air/tests/test_checkpoints.py index fccba5f0c..8205efbde 100644 --- a/python/ray/ml/tests/test_checkpoints.py +++ b/python/ray/air/tests/test_checkpoints.py @@ -6,8 +6,8 @@ import unittest from typing import Any import ray -from ray.ml.checkpoint import Checkpoint -from ray.ml.utils.remote_storage import delete_at_uri, _ensure_directory +from ray.air.checkpoint import Checkpoint +from ray.air.utils.remote_storage import delete_at_uri, _ensure_directory class CheckpointsConversionTest(unittest.TestCase): diff --git a/python/ray/ml/tests/test_data_parallel_trainer.py b/python/ray/air/tests/test_data_parallel_trainer.py similarity index 95% rename from python/ray/ml/tests/test_data_parallel_trainer.py rename to python/ray/air/tests/test_data_parallel_trainer.py index 8239676b5..6bfb6a2e1 100644 --- a/python/ray/ml/tests/test_data_parallel_trainer.py +++ b/python/ray/air/tests/test_data_parallel_trainer.py @@ -2,11 +2,11 @@ import pytest import ray from ray import train, tune -from ray.ml.checkpoint import Checkpoint -from ray.ml.constants import PREPROCESSOR_KEY +from ray.air.checkpoint import Checkpoint +from ray.air.constants import PREPROCESSOR_KEY -from ray.ml.train.data_parallel_trainer import DataParallelTrainer -from ray.ml.preprocessor import Preprocessor +from ray.air.train.data_parallel_trainer import DataParallelTrainer +from ray.air.preprocessor import Preprocessor from ray.tune.tune_config import TuneConfig from ray.tune.tuner import Tuner diff --git a/python/ray/ml/tests/test_dataset_utils.py b/python/ray/air/tests/test_dataset_utils.py similarity index 97% rename from python/ray/ml/tests/test_dataset_utils.py rename to python/ray/air/tests/test_dataset_utils.py index a4aa479e3..098b4f268 100644 --- a/python/ray/ml/tests/test_dataset_utils.py +++ b/python/ray/air/tests/test_dataset_utils.py @@ -3,7 +3,7 @@ import pytest import ray import ray.data -from ray.ml import train_test_split +from ray.air import train_test_split @pytest.fixture diff --git a/python/ray/ml/tests/test_horovod_trainer.py b/python/ray/air/tests/test_horovod_trainer.py similarity index 94% rename from python/ray/ml/tests/test_horovod_trainer.py rename to python/ray/air/tests/test_horovod_trainer.py index c0946ea28..8a3a66f52 100644 --- a/python/ray/ml/tests/test_horovod_trainer.py +++ b/python/ray/air/tests/test_horovod_trainer.py @@ -6,12 +6,12 @@ from torchvision import datasets from torchvision.transforms import transforms import ray -from ray.ml.examples.horovod.horovod_pytorch_example import ( +from ray.air.examples.horovod.horovod_pytorch_example import ( train_func as hvd_train_func, Net, ) -from ray.ml.predictors.integrations.torch import TorchPredictor -from ray.ml.train.integrations.horovod import HorovodTrainer +from ray.air.predictors.integrations.torch import TorchPredictor +from ray.air.train.integrations.horovod import HorovodTrainer @pytest.fixture diff --git a/python/ray/ml/tests/test_huggingface_predictor.py b/python/ray/air/tests/test_huggingface_predictor.py similarity index 94% rename from python/ray/ml/tests/test_huggingface_predictor.py rename to python/ray/air/tests/test_huggingface_predictor.py index e11d22bdf..1c1f91b77 100644 --- a/python/ray/ml/tests/test_huggingface_predictor.py +++ b/python/ray/air/tests/test_huggingface_predictor.py @@ -10,8 +10,8 @@ from transformers import ( from transformers.pipelines import pipeline import ray -from ray.ml.preprocessor import Preprocessor -from ray.ml.predictors.integrations.huggingface import HuggingFacePredictor +from ray.air.preprocessor import Preprocessor +from ray.air.predictors.integrations.huggingface import HuggingFacePredictor prompts = pd.DataFrame( ["Complete me", "And me", "Please complete"], columns=["sentences"] diff --git a/python/ray/ml/tests/test_huggingface_trainer.py b/python/ray/air/tests/test_huggingface_trainer.py similarity index 92% rename from python/ray/ml/tests/test_huggingface_trainer.py rename to python/ray/air/tests/test_huggingface_trainer.py index c5fc18a00..4b16a58f9 100644 --- a/python/ray/ml/tests/test_huggingface_trainer.py +++ b/python/ray/air/tests/test_huggingface_trainer.py @@ -1,7 +1,7 @@ import pandas as pd import pytest from unittest.mock import patch -from ray.ml.train.integrations.huggingface.huggingface_utils import TrainReportCallback +from ray.air.train.integrations.huggingface.huggingface_utils import TrainReportCallback from transformers import ( AutoConfig, @@ -13,11 +13,11 @@ from transformers import ( from transformers.trainer_callback import TrainerState import ray.data -from ray.ml.train.integrations.huggingface import HuggingFaceTrainer -from ray.ml.predictors.integrations.huggingface import HuggingFacePredictor -from ray.ml.batch_predictor import BatchPredictor +from ray.air.train.integrations.huggingface import HuggingFaceTrainer +from ray.air.predictors.integrations.huggingface import HuggingFacePredictor +from ray.air.batch_predictor import BatchPredictor -from ray.ml.tests._huggingface_data import train_data, validation_data +from ray.air.tests._huggingface_data import train_data, validation_data # 16 first rows of tokenized wikitext-2-raw-v1 training & validation train_df = pd.read_json(train_data) diff --git a/python/ray/ml/tests/test_lightgbm_predictor.py b/python/ray/air/tests/test_lightgbm_predictor.py similarity index 93% rename from python/ray/ml/tests/test_lightgbm_predictor.py rename to python/ray/air/tests/test_lightgbm_predictor.py index 6db483567..ad0409329 100644 --- a/python/ray/ml/tests/test_lightgbm_predictor.py +++ b/python/ray/air/tests/test_lightgbm_predictor.py @@ -1,11 +1,11 @@ import os import pytest -from ray.ml.predictors.integrations.lightgbm import LightGBMPredictor -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint -from ray.ml.constants import MODEL_KEY -from ray.ml.utils.checkpointing import save_preprocessor_to_dir +from ray.air.predictors.integrations.lightgbm import LightGBMPredictor +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint +from ray.air.constants import MODEL_KEY +from ray.air.utils.checkpointing import save_preprocessor_to_dir import numpy as np import pandas as pd diff --git a/python/ray/ml/tests/test_lightgbm_trainer.py b/python/ray/air/tests/test_lightgbm_trainer.py similarity index 96% rename from python/ray/ml/tests/test_lightgbm_trainer.py rename to python/ray/air/tests/test_lightgbm_trainer.py index 3cf2b13c8..b62029a93 100644 --- a/python/ray/ml/tests/test_lightgbm_trainer.py +++ b/python/ray/air/tests/test_lightgbm_trainer.py @@ -6,11 +6,11 @@ import lightgbm as lgbm import ray from ray import tune -from ray.ml.checkpoint import Checkpoint -from ray.ml.constants import TRAIN_DATASET_KEY +from ray.air.checkpoint import Checkpoint +from ray.air.constants import TRAIN_DATASET_KEY -from ray.ml.train.integrations.lightgbm import LightGBMTrainer, load_checkpoint -from ray.ml.preprocessor import Preprocessor +from ray.air.train.integrations.lightgbm import LightGBMTrainer, load_checkpoint +from ray.air.preprocessor import Preprocessor from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split diff --git a/python/ray/ml/tests/test_predictor.py b/python/ray/air/tests/test_predictor.py similarity index 94% rename from python/ray/ml/tests/test_predictor.py rename to python/ray/air/tests/test_predictor.py index b6f412ab6..ccf8b7562 100644 --- a/python/ray/ml/tests/test_predictor.py +++ b/python/ray/air/tests/test_predictor.py @@ -2,13 +2,13 @@ import pytest import time import ray -from ray.ml.checkpoint import Checkpoint -from ray.ml.predictor import ( +from ray.air.checkpoint import Checkpoint +from ray.air.predictor import ( Predictor, DataBatchType, PredictorNotSerializableException, ) -from ray.ml.batch_predictor import BatchPredictor +from ray.air.batch_predictor import BatchPredictor class DummyPredictor(Predictor): diff --git a/python/ray/ml/tests/test_preprocessors.py b/python/ray/air/tests/test_preprocessors.py similarity index 98% rename from python/ray/ml/tests/test_preprocessors.py rename to python/ray/air/tests/test_preprocessors.py index 9c5b39a84..9aec9325d 100644 --- a/python/ray/ml/tests/test_preprocessors.py +++ b/python/ray/air/tests/test_preprocessors.py @@ -7,8 +7,8 @@ import pandas as pd import pytest import ray -from ray.ml.preprocessor import PreprocessorNotFittedException -from ray.ml.preprocessors import ( +from ray.air.preprocessor import PreprocessorNotFittedException +from ray.air.preprocessors import ( BatchMapper, StandardScaler, MinMaxScaler, @@ -18,14 +18,14 @@ from ray.ml.preprocessors import ( SimpleImputer, Chain, ) -from ray.ml.preprocessors.encoder import Categorizer, MultiHotEncoder -from ray.ml.preprocessors.hasher import FeatureHasher -from ray.ml.preprocessors.normalizer import Normalizer -from ray.ml.preprocessors.scaler import MaxAbsScaler, RobustScaler -from ray.ml.preprocessors.tokenizer import Tokenizer -from ray.ml.preprocessors.transformer import PowerTransformer -from ray.ml.preprocessors.utils import simple_split_tokenizer, simple_hash -from ray.ml.preprocessors.vectorizer import CountVectorizer, HashingVectorizer +from ray.air.preprocessors.encoder import Categorizer, MultiHotEncoder +from ray.air.preprocessors.hasher import FeatureHasher +from ray.air.preprocessors.normalizer import Normalizer +from ray.air.preprocessors.scaler import MaxAbsScaler, RobustScaler +from ray.air.preprocessors.tokenizer import Tokenizer +from ray.air.preprocessors.transformer import PowerTransformer +from ray.air.preprocessors.utils import simple_split_tokenizer, simple_hash +from ray.air.preprocessors.vectorizer import CountVectorizer, HashingVectorizer def test_standard_scaler(): diff --git a/python/ray/ml/tests/test_rl_predictor.py b/python/ray/air/tests/test_rl_predictor.py similarity index 93% rename from python/ray/ml/tests/test_rl_predictor.py rename to python/ray/air/tests/test_rl_predictor.py index 894dd770a..037de8d24 100644 --- a/python/ray/ml/tests/test_rl_predictor.py +++ b/python/ray/air/tests/test_rl_predictor.py @@ -6,10 +6,10 @@ import pandas as pd import pytest import tempfile -from ray.ml.predictors.integrations.rl.rl_predictor import RLPredictor -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint -from ray.ml.train.integrations.rl import RLTrainer +from ray.air.predictors.integrations.rl.rl_predictor import RLPredictor +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint +from ray.air.train.integrations.rl import RLTrainer from ray.rllib.agents import Trainer from ray.rllib.policy import Policy diff --git a/python/ray/ml/tests/test_sklearn_predictor.py b/python/ray/air/tests/test_sklearn_predictor.py similarity index 93% rename from python/ray/ml/tests/test_sklearn_predictor.py rename to python/ray/air/tests/test_sklearn_predictor.py index 40a409192..580b4934b 100644 --- a/python/ray/ml/tests/test_sklearn_predictor.py +++ b/python/ray/air/tests/test_sklearn_predictor.py @@ -8,12 +8,12 @@ from sklearn.ensemble import RandomForestClassifier import ray import ray.cloudpickle as cpickle -from ray.ml.predictors.integrations.sklearn import SklearnPredictor -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint -from ray.ml.constants import MODEL_KEY -from ray.ml.batch_predictor import BatchPredictor -from ray.ml.utils.checkpointing import save_preprocessor_to_dir +from ray.air.predictors.integrations.sklearn import SklearnPredictor +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint +from ray.air.constants import MODEL_KEY +from ray.air.batch_predictor import BatchPredictor +from ray.air.utils.checkpointing import save_preprocessor_to_dir @pytest.fixture diff --git a/python/ray/ml/tests/test_sklearn_trainer.py b/python/ray/air/tests/test_sklearn_trainer.py similarity index 96% rename from python/ray/ml/tests/test_sklearn_trainer.py rename to python/ray/air/tests/test_sklearn_trainer.py index 395f577ed..b8b8804dc 100644 --- a/python/ray/ml/tests/test_sklearn_trainer.py +++ b/python/ray/air/tests/test_sklearn_trainer.py @@ -3,11 +3,11 @@ import pandas as pd import ray from ray import tune -from ray.ml.checkpoint import Checkpoint -from ray.ml.constants import TRAIN_DATASET_KEY +from ray.air.checkpoint import Checkpoint +from ray.air.constants import TRAIN_DATASET_KEY -from ray.ml.train.integrations.sklearn import SklearnTrainer, load_checkpoint -from ray.ml.preprocessor import Preprocessor +from ray.air.train.integrations.sklearn import SklearnTrainer, load_checkpoint +from ray.air.preprocessor import Preprocessor from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split diff --git a/python/ray/ml/tests/test_tensorflow_predictor.py b/python/ray/air/tests/test_tensorflow_predictor.py similarity index 92% rename from python/ray/ml/tests/test_tensorflow_predictor.py rename to python/ray/air/tests/test_tensorflow_predictor.py index 362ad3c16..82910b5b6 100644 --- a/python/ray/ml/tests/test_tensorflow_predictor.py +++ b/python/ray/air/tests/test_tensorflow_predictor.py @@ -1,7 +1,7 @@ -from ray.ml.predictors.integrations.tensorflow import TensorflowPredictor -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint -from ray.ml.constants import PREPROCESSOR_KEY, MODEL_KEY +from ray.air.predictors.integrations.tensorflow import TensorflowPredictor +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint +from ray.air.constants import PREPROCESSOR_KEY, MODEL_KEY import numpy as np import pandas as pd diff --git a/python/ray/ml/tests/test_tensorflow_trainer.py b/python/ray/air/tests/test_tensorflow_trainer.py similarity index 88% rename from python/ray/ml/tests/test_tensorflow_trainer.py rename to python/ray/air/tests/test_tensorflow_trainer.py index 6f9b1971e..9f5838b3d 100644 --- a/python/ray/ml/tests/test_tensorflow_trainer.py +++ b/python/ray/air/tests/test_tensorflow_trainer.py @@ -3,13 +3,13 @@ import numpy as np import ray from ray import train -from ray.ml.train.integrations.tensorflow import TensorflowTrainer -from ray.ml.examples.tf.tensorflow_linear_dataset_example import ( +from ray.air.train.integrations.tensorflow import TensorflowTrainer +from ray.air.examples.tf.tensorflow_linear_dataset_example import ( train_func as tensorflow_linear_train_func, get_dataset, ) -from ray.ml.predictors.integrations.tensorflow import TensorflowPredictor -from ray.ml.constants import MODEL_KEY, TRAIN_DATASET_KEY +from ray.air.predictors.integrations.tensorflow import TensorflowPredictor +from ray.air.constants import MODEL_KEY, TRAIN_DATASET_KEY @pytest.fixture diff --git a/python/ray/ml/tests/test_torch_predictor.py b/python/ray/air/tests/test_torch_predictor.py similarity index 94% rename from python/ray/ml/tests/test_torch_predictor.py rename to python/ray/air/tests/test_torch_predictor.py index 7aebc7b34..c033c1399 100644 --- a/python/ray/ml/tests/test_torch_predictor.py +++ b/python/ray/air/tests/test_torch_predictor.py @@ -4,10 +4,10 @@ import numpy as np import pandas as pd import torch -from ray.ml.predictors.integrations.torch import TorchPredictor -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint -from ray.ml.constants import PREPROCESSOR_KEY, MODEL_KEY +from ray.air.predictors.integrations.torch import TorchPredictor +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint +from ray.air.constants import PREPROCESSOR_KEY, MODEL_KEY class DummyPreprocessor(Preprocessor): diff --git a/python/ray/ml/tests/test_torch_trainer.py b/python/ray/air/tests/test_torch_trainer.py similarity index 92% rename from python/ray/ml/tests/test_torch_trainer.py rename to python/ray/air/tests/test_torch_trainer.py index d9c723ccb..b26806859 100644 --- a/python/ray/ml/tests/test_torch_trainer.py +++ b/python/ray/air/tests/test_torch_trainer.py @@ -2,10 +2,12 @@ import pytest import torch import ray -from ray.ml.predictors.integrations.torch import TorchPredictor -from ray.ml.train.integrations.torch import TorchTrainer +from ray.air.predictors.integrations.torch import TorchPredictor +from ray.air.train.integrations.torch import TorchTrainer from ray import train -from ray.ml.examples.pytorch.torch_linear_example import train_func as linear_train_func +from ray.air.examples.pytorch.torch_linear_example import ( + train_func as linear_train_func, +) @pytest.fixture diff --git a/python/ray/ml/tests/test_torch_utils.py b/python/ray/air/tests/test_torch_utils.py similarity index 97% rename from python/ray/ml/tests/test_torch_utils.py rename to python/ray/air/tests/test_torch_utils.py index 6908add34..b769d51ba 100644 --- a/python/ray/ml/tests/test_torch_utils.py +++ b/python/ray/air/tests/test_torch_utils.py @@ -4,7 +4,7 @@ import numpy as np import pandas as pd import torch -from ray.ml.utils.torch_utils import convert_pandas_to_torch_tensor, load_torch_model +from ray.air.utils.torch_utils import convert_pandas_to_torch_tensor, load_torch_model data_batch = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]}) diff --git a/python/ray/ml/tests/test_trainer.py b/python/ray/air/tests/test_trainer.py similarity index 98% rename from python/ray/ml/tests/test_trainer.py rename to python/ray/air/tests/test_trainer.py index 21eb7af5d..ea0b8b455 100644 --- a/python/ray/ml/tests/test_trainer.py +++ b/python/ray/air/tests/test_trainer.py @@ -3,8 +3,8 @@ import pytest import ray from ray import tune -from ray.ml.preprocessor import Preprocessor -from ray.ml.trainer import Trainer +from ray.air.preprocessor import Preprocessor +from ray.air.trainer import Trainer from ray.util.placement_group import get_current_placement_group diff --git a/python/ray/ml/tests/test_xgboost_predictor.py b/python/ray/air/tests/test_xgboost_predictor.py similarity index 93% rename from python/ray/ml/tests/test_xgboost_predictor.py rename to python/ray/air/tests/test_xgboost_predictor.py index 6752bb443..121aac608 100644 --- a/python/ray/ml/tests/test_xgboost_predictor.py +++ b/python/ray/air/tests/test_xgboost_predictor.py @@ -1,13 +1,13 @@ import os -from ray.ml.predictors.integrations.xgboost import XGBoostPredictor -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint -from ray.ml.constants import MODEL_KEY +from ray.air.predictors.integrations.xgboost import XGBoostPredictor +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint +from ray.air.constants import MODEL_KEY import json import numpy as np import pandas as pd -from ray.ml.utils.checkpointing import save_preprocessor_to_dir +from ray.air.utils.checkpointing import save_preprocessor_to_dir import xgboost as xgb import tempfile diff --git a/python/ray/ml/tests/test_xgboost_trainer.py b/python/ray/air/tests/test_xgboost_trainer.py similarity index 95% rename from python/ray/ml/tests/test_xgboost_trainer.py rename to python/ray/air/tests/test_xgboost_trainer.py index 10977dda2..b9304e1a9 100644 --- a/python/ray/ml/tests/test_xgboost_trainer.py +++ b/python/ray/air/tests/test_xgboost_trainer.py @@ -6,11 +6,11 @@ import xgboost as xgb import ray from ray import tune -from ray.ml.checkpoint import Checkpoint -from ray.ml.constants import TRAIN_DATASET_KEY +from ray.air.checkpoint import Checkpoint +from ray.air.constants import TRAIN_DATASET_KEY -from ray.ml.train.integrations.xgboost import XGBoostTrainer, load_checkpoint -from ray.ml.preprocessor import Preprocessor +from ray.air.train.integrations.xgboost import XGBoostTrainer, load_checkpoint +from ray.air.preprocessor import Preprocessor from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split diff --git a/python/ray/air/train/__init__.py b/python/ray/air/train/__init__.py new file mode 100644 index 000000000..157dd8274 --- /dev/null +++ b/python/ray/air/train/__init__.py @@ -0,0 +1,4 @@ +from ray.air.constants import TRAIN_DATASET_KEY +from ray.air.trainer import Trainer + +__all__ = ["TRAIN_DATASET_KEY", "Trainer"] diff --git a/python/ray/ml/train/data_parallel_trainer.py b/python/ray/air/train/data_parallel_trainer.py similarity index 97% rename from python/ray/ml/train/data_parallel_trainer.py rename to python/ray/air/train/data_parallel_trainer.py index dee30f720..7c96e2a8b 100644 --- a/python/ray/ml/train/data_parallel_trainer.py +++ b/python/ray/air/train/data_parallel_trainer.py @@ -16,12 +16,12 @@ from typing import ( import ray from ray import tune from ray.actor import ActorHandle -from ray.ml.constants import MODEL_KEY, TRAIN_DATASET_KEY, PREPROCESSOR_KEY -from ray.ml.trainer import Trainer -from ray.ml.config import ScalingConfig, RunConfig -from ray.ml.trainer import GenDataset -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint +from ray.air.constants import MODEL_KEY, TRAIN_DATASET_KEY, PREPROCESSOR_KEY +from ray.air.trainer import Trainer +from ray.air.config import ScalingConfig, RunConfig +from ray.air.trainer import GenDataset +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint from ray.train import BackendConfig, TrainingIterator from ray.train.backend import BackendExecutor from ray.train.checkpoint import TuneCheckpointManager @@ -161,7 +161,7 @@ class DataParallelTrainer(Trainer): .. code-block:: python - from ray.ml.train.data_parallel_trainer import DataParallelTrainer + from ray.air.train.data_parallel_trainer import DataParallelTrainer class MyDataParallelTrainer(DataParallelTrainer): def __init__(self, *args, **kwargs): @@ -215,7 +215,7 @@ class DataParallelTrainer(Trainer): dataset. If a ``preprocessor`` is provided and has not already been fit, it will be fit on the training dataset. All datasets will be transformed by the ``preprocessor`` if one is provided. - preprocessor: A ray.ml.preprocessor.Preprocessor to preprocess the + preprocessor: A ray.air.preprocessor.Preprocessor to preprocess the provided datasets. resume_from_checkpoint: A checkpoint to resume training from. """ diff --git a/python/ray/ml/train/gbdt_trainer.py b/python/ray/air/train/gbdt_trainer.py similarity index 94% rename from python/ray/ml/train/gbdt_trainer.py rename to python/ray/air/train/gbdt_trainer.py index eb3f30281..ec37f3797 100644 --- a/python/ray/ml/train/gbdt_trainer.py +++ b/python/ray/air/train/gbdt_trainer.py @@ -1,16 +1,16 @@ from typing import TYPE_CHECKING, Dict, Tuple, Type, Any, Optional import warnings -from ray.ml.trainer import GenDataset -from ray.ml.config import ScalingConfig, RunConfig, ScalingConfigDataClass -from ray.ml.preprocessor import Preprocessor -from ray.ml.utils.checkpointing import save_preprocessor_to_dir +from ray.air.trainer import GenDataset +from ray.air.config import ScalingConfig, RunConfig, ScalingConfigDataClass +from ray.air.preprocessor import Preprocessor +from ray.air.utils.checkpointing import save_preprocessor_to_dir from ray.tune.utils.trainable import TrainableUtil from ray.util.annotations import DeveloperAPI -from ray.ml.trainer import Trainer -from ray.ml.checkpoint import Checkpoint +from ray.air.trainer import Trainer +from ray.air.checkpoint import Checkpoint from ray.tune import Trainable -from ray.ml.constants import MODEL_KEY, TRAIN_DATASET_KEY +from ray.air.constants import MODEL_KEY, TRAIN_DATASET_KEY if TYPE_CHECKING: import xgboost_ray @@ -59,7 +59,7 @@ class GBDTTrainer(Trainer): :class:`xgboost_ray.RayDMatrix` initializations. scaling_config: Configuration for how to scale data parallel training. run_config: Configuration for the execution of the training run. - preprocessor: A ray.ml.preprocessor.Preprocessor to preprocess the + preprocessor: A ray.air.preprocessor.Preprocessor to preprocess the provided datasets. resume_from_checkpoint: A checkpoint to resume training from. **train_kwargs: Additional kwargs passed to framework ``train()`` function. diff --git a/python/ray/ml/train/integrations/__init__.py b/python/ray/air/train/integrations/__init__.py similarity index 100% rename from python/ray/ml/train/integrations/__init__.py rename to python/ray/air/train/integrations/__init__.py diff --git a/python/ray/air/train/integrations/horovod/__init__.py b/python/ray/air/train/integrations/horovod/__init__.py new file mode 100644 index 000000000..2f8d969d9 --- /dev/null +++ b/python/ray/air/train/integrations/horovod/__init__.py @@ -0,0 +1,3 @@ +from ray.air.train.integrations.horovod.horovod_trainer import HorovodTrainer + +__all__ = ["HorovodTrainer"] diff --git a/python/ray/ml/train/integrations/horovod/horovod_trainer.py b/python/ray/air/train/integrations/horovod/horovod_trainer.py similarity index 94% rename from python/ray/ml/train/integrations/horovod/horovod_trainer.py rename to python/ray/air/train/integrations/horovod/horovod_trainer.py index f4b239f44..0053e2d4b 100644 --- a/python/ray/ml/train/integrations/horovod/horovod_trainer.py +++ b/python/ray/air/train/integrations/horovod/horovod_trainer.py @@ -1,12 +1,12 @@ from typing import Dict, Callable, Optional, Union -from ray.ml.config import ScalingConfig, RunConfig -from ray.ml.trainer import GenDataset -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint +from ray.air.config import ScalingConfig, RunConfig +from ray.air.trainer import GenDataset +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint -from ray.ml.train.data_parallel_trainer import DataParallelTrainer +from ray.air.train.data_parallel_trainer import DataParallelTrainer from ray.train.horovod import HorovodConfig @@ -81,7 +81,7 @@ class HorovodTrainer(DataParallelTrainer): import horovod.torch as hvd import torch import torch.nn as nn - from ray.ml.train.integrations.horovod import HorovodTrainer + from ray.air.train.integrations.horovod import HorovodTrainer input_size = 1 layer_size = 15 @@ -157,7 +157,7 @@ class HorovodTrainer(DataParallelTrainer): dataset. If a ``preprocessor`` is provided and has not already been fit, it will be fit on the training dataset. All datasets will be transformed by the ``preprocessor`` if one is provided. - preprocessor: A ray.ml.preprocessor.Preprocessor to preprocess the + preprocessor: A ray.air.preprocessor.Preprocessor to preprocess the provided datasets. resume_from_checkpoint: A checkpoint to resume training from. """ diff --git a/python/ray/ml/train/integrations/huggingface/__init__.py b/python/ray/air/train/integrations/huggingface/__init__.py similarity index 57% rename from python/ray/ml/train/integrations/huggingface/__init__.py rename to python/ray/air/train/integrations/huggingface/__init__.py index 9fdc24c2d..af008ac11 100644 --- a/python/ray/ml/train/integrations/huggingface/__init__.py +++ b/python/ray/air/train/integrations/huggingface/__init__.py @@ -1,4 +1,4 @@ -from ray.ml.train.integrations.huggingface.huggingface_trainer import ( +from ray.air.train.integrations.huggingface.huggingface_trainer import ( HuggingFaceTrainer, load_checkpoint, ) diff --git a/python/ray/ml/train/integrations/huggingface/huggingface_trainer.py b/python/ray/air/train/integrations/huggingface/huggingface_trainer.py similarity index 96% rename from python/ray/ml/train/integrations/huggingface/huggingface_trainer.py rename to python/ray/air/train/integrations/huggingface/huggingface_trainer.py index 596900254..0b658b84a 100644 --- a/python/ray/ml/train/integrations/huggingface/huggingface_trainer.py +++ b/python/ray/air/train/integrations/huggingface/huggingface_trainer.py @@ -18,25 +18,25 @@ from torch.utils.data import Dataset as TorchDataset from ray import train from ray import tune from ray.util import PublicAPI, get_node_ip_address -from ray.ml.checkpoint import Checkpoint -from ray.ml.config import RunConfig, ScalingConfig -from ray.ml.constants import EVALUATION_DATASET_KEY, TRAIN_DATASET_KEY -from ray.ml.preprocessor import Preprocessor -from ray.ml.train.integrations.torch import TorchTrainer -from ray.ml.trainer import GenDataset -from ray.ml.train.data_parallel_trainer import _DataParallelCheckpointManager -from ray.ml.train.integrations.huggingface.huggingface_utils import ( +from ray.air.checkpoint import Checkpoint +from ray.air.config import RunConfig, ScalingConfig +from ray.air.constants import EVALUATION_DATASET_KEY, TRAIN_DATASET_KEY +from ray.air.preprocessor import Preprocessor +from ray.air.train.integrations.torch import TorchTrainer +from ray.air.trainer import GenDataset +from ray.air.train.data_parallel_trainer import _DataParallelCheckpointManager +from ray.air.train.integrations.huggingface.huggingface_utils import ( CHECKPOINT_PATH_ON_NODE_KEY, NODE_IP_KEY, process_datasets, TrainReportCallback, wrap_transformers_trainer, ) -from ray.ml.utils.checkpointing import ( +from ray.air.utils.checkpointing import ( load_preprocessor_from_dir, save_preprocessor_to_dir, ) -from ray.ml.utils.torch_utils import load_torch_model +from ray.air.utils.torch_utils import load_torch_model from ray.train.constants import TUNE_CHECKPOINT_ID from ray.train.torch import TorchConfig from ray.tune.trainable import Trainable @@ -133,7 +133,7 @@ class HuggingFaceTrainer(TorchTrainer): from transformers import AutoConfig, AutoModelForCausalLM, AutoTokenizer import ray - from ray.ml.train.integrations.huggingface import HuggingFaceTrainer + from ray.air.train.integrations.huggingface import HuggingFaceTrainer model_checkpoint = "gpt2" tokenizer_checkpoint = "sgugger/gpt2-like-tokenizer" @@ -229,7 +229,7 @@ class HuggingFaceTrainer(TorchTrainer): arg of ``DataParallelTrainer``. Same as in ``TorchTrainer``. scaling_config: Configuration for how to scale data parallel training. run_config: Configuration for the execution of the training run. - preprocessor: A ray.ml.preprocessor.Preprocessor to preprocess the + preprocessor: A ray.air.preprocessor.Preprocessor to preprocess the provided datasets. resume_from_checkpoint: A checkpoint to resume training from. """ diff --git a/python/ray/ml/train/integrations/huggingface/huggingface_utils.py b/python/ray/air/train/integrations/huggingface/huggingface_utils.py similarity index 100% rename from python/ray/ml/train/integrations/huggingface/huggingface_utils.py rename to python/ray/air/train/integrations/huggingface/huggingface_utils.py diff --git a/python/ray/ml/train/integrations/lightgbm/__init__.py b/python/ray/air/train/integrations/lightgbm/__init__.py similarity index 58% rename from python/ray/ml/train/integrations/lightgbm/__init__.py rename to python/ray/air/train/integrations/lightgbm/__init__.py index d1542a4e1..e4441a5ac 100644 --- a/python/ray/ml/train/integrations/lightgbm/__init__.py +++ b/python/ray/air/train/integrations/lightgbm/__init__.py @@ -1,4 +1,4 @@ -from ray.ml.train.integrations.lightgbm.lightgbm_trainer import ( +from ray.air.train.integrations.lightgbm.lightgbm_trainer import ( LightGBMTrainer, load_checkpoint, ) diff --git a/python/ray/ml/train/integrations/lightgbm/lightgbm_trainer.py b/python/ray/air/train/integrations/lightgbm/lightgbm_trainer.py similarity index 90% rename from python/ray/ml/train/integrations/lightgbm/lightgbm_trainer.py rename to python/ray/air/train/integrations/lightgbm/lightgbm_trainer.py index df05a62b0..7811285c6 100644 --- a/python/ray/ml/train/integrations/lightgbm/lightgbm_trainer.py +++ b/python/ray/air/train/integrations/lightgbm/lightgbm_trainer.py @@ -1,12 +1,12 @@ from typing import Dict, Any, Optional, Tuple import os -from ray.ml.checkpoint import Checkpoint -from ray.ml.preprocessor import Preprocessor -from ray.ml.train.gbdt_trainer import GBDTTrainer -from ray.ml.utils.checkpointing import load_preprocessor_from_dir +from ray.air.checkpoint import Checkpoint +from ray.air.preprocessor import Preprocessor +from ray.air.train.gbdt_trainer import GBDTTrainer +from ray.air.utils.checkpointing import load_preprocessor_from_dir from ray.util.annotations import PublicAPI -from ray.ml.constants import MODEL_KEY +from ray.air.constants import MODEL_KEY import lightgbm import lightgbm_ray @@ -29,7 +29,7 @@ class LightGBMTrainer(GBDTTrainer): import ray - from ray.ml.train.integrations.lightgbm import LightGBMTrainer + from ray.air.train.integrations.lightgbm import LightGBMTrainer train_dataset = ray.data.from_items( [{"x": x, "y": x + 1} for x in range(32)]) @@ -59,7 +59,7 @@ class LightGBMTrainer(GBDTTrainer): can be used to add sample weights with the ``weights`` parameter. scaling_config: Configuration for how to scale data parallel training. run_config: Configuration for the execution of the training run. - preprocessor: A ray.ml.preprocessor.Preprocessor to preprocess the + preprocessor: A ray.air.preprocessor.Preprocessor to preprocess the provided datasets. resume_from_checkpoint: A checkpoint to resume training from. **train_kwargs: Additional kwargs passed to ``lightgbm.train()`` function. diff --git a/python/ray/air/train/integrations/rl/__init__.py b/python/ray/air/train/integrations/rl/__init__.py new file mode 100644 index 000000000..391b59c60 --- /dev/null +++ b/python/ray/air/train/integrations/rl/__init__.py @@ -0,0 +1,3 @@ +from ray.air.train.integrations.rl.rl_trainer import RLTrainer, load_checkpoint + +__all__ = ["RLTrainer", "load_checkpoint"] diff --git a/python/ray/ml/train/integrations/rl/rl_trainer.py b/python/ray/air/train/integrations/rl/rl_trainer.py similarity index 96% rename from python/ray/ml/train/integrations/rl/rl_trainer.py rename to python/ray/air/train/integrations/rl/rl_trainer.py index b86d0ff50..a68521d82 100644 --- a/python/ray/ml/train/integrations/rl/rl_trainer.py +++ b/python/ray/air/train/integrations/rl/rl_trainer.py @@ -3,11 +3,11 @@ import os from typing import Optional, Dict, Tuple, Type, Union, Callable, Any import ray.cloudpickle as cpickle -from ray.ml.checkpoint import Checkpoint -from ray.ml.config import ScalingConfig, RunConfig -from ray.ml.preprocessor import Preprocessor -from ray.ml.trainer import Trainer, GenDataset -from ray.ml.utils.checkpointing import ( +from ray.air.checkpoint import Checkpoint +from ray.air.config import ScalingConfig, RunConfig +from ray.air.preprocessor import Preprocessor +from ray.air.trainer import Trainer, GenDataset +from ray.air.utils.checkpointing import ( load_preprocessor_from_dir, save_preprocessor_to_dir, ) @@ -56,8 +56,8 @@ class RLTrainer(Trainer): .. code-block:: python - from ray.ml.config import RunConfig - from ray.ml.train.integrations.rl import RLTrainer + from ray.air.config import RunConfig + from ray.air.train.integrations.rl import RLTrainer trainer = RLTrainer( run_config=RunConfig(stop={"training_iteration": 5}), @@ -83,8 +83,8 @@ class RLTrainer(Trainer): .. code-block:: python import ray - from ray.ml.config import RunConfig - from ray.ml.train.integrations.rl import RLTrainer + from ray.air.config import RunConfig + from ray.air.train.integrations.rl import RLTrainer from ray.rllib.agents.marwil.bc import BCTrainer dataset = ray.data.read_json( diff --git a/python/ray/ml/train/integrations/sklearn/__init__.py b/python/ray/air/train/integrations/sklearn/__init__.py similarity index 58% rename from python/ray/ml/train/integrations/sklearn/__init__.py rename to python/ray/air/train/integrations/sklearn/__init__.py index 905a5016a..59c1e71fd 100644 --- a/python/ray/ml/train/integrations/sklearn/__init__.py +++ b/python/ray/air/train/integrations/sklearn/__init__.py @@ -1,4 +1,4 @@ -from ray.ml.train.integrations.sklearn.sklearn_trainer import ( +from ray.air.train.integrations.sklearn.sklearn_trainer import ( SklearnTrainer, load_checkpoint, ) diff --git a/python/ray/ml/train/integrations/sklearn/sklearn_trainer.py b/python/ray/air/train/integrations/sklearn/sklearn_trainer.py similarity index 97% rename from python/ray/ml/train/integrations/sklearn/sklearn_trainer.py rename to python/ray/air/train/integrations/sklearn/sklearn_trainer.py index f9da0e449..213bbe103 100644 --- a/python/ray/ml/train/integrations/sklearn/sklearn_trainer.py +++ b/python/ray/air/train/integrations/sklearn/sklearn_trainer.py @@ -12,16 +12,16 @@ from joblib import parallel_backend from ray import tune import ray.cloudpickle as cpickle -from ray.ml.checkpoint import Checkpoint -from ray.ml.config import RunConfig, ScalingConfig -from ray.ml.constants import MODEL_KEY, TRAIN_DATASET_KEY -from ray.ml.preprocessor import Preprocessor -from ray.ml.trainer import GenDataset, Trainer -from ray.ml.utils.checkpointing import ( +from ray.air.checkpoint import Checkpoint +from ray.air.config import RunConfig, ScalingConfig +from ray.air.constants import MODEL_KEY, TRAIN_DATASET_KEY +from ray.air.preprocessor import Preprocessor +from ray.air.trainer import GenDataset, Trainer +from ray.air.utils.checkpointing import ( load_preprocessor_from_dir, save_preprocessor_to_dir, ) -from ray.ml.utils.sklearn_utils import has_cpu_params, set_cpu_params +from ray.air.utils.sklearn_utils import has_cpu_params, set_cpu_params from ray.util import PublicAPI from ray.util.joblib import register_ray @@ -68,7 +68,7 @@ class SklearnTrainer(Trainer): import ray - from ray.ml.train.integrations.sklearn import SklearnTrainer + from ray.air.train.integrations.sklearn import SklearnTrainer from sklearn.ensemble import RandomForestRegressor train_dataset = ray.data.from_items( @@ -150,7 +150,7 @@ class SklearnTrainer(Trainer): Only the ``trainer_resources`` key can be provided, as the training is not distributed. run_config: Configuration for the execution of the training run. - preprocessor: A ray.ml.preprocessor.Preprocessor to preprocess the + preprocessor: A ray.air.preprocessor.Preprocessor to preprocess the provided datasets. **fit_params: Additional kwargs passed to ``estimator.fit()`` method. diff --git a/python/ray/ml/train/integrations/tensorflow/__init__.py b/python/ray/air/train/integrations/tensorflow/__init__.py similarity index 57% rename from python/ray/ml/train/integrations/tensorflow/__init__.py rename to python/ray/air/train/integrations/tensorflow/__init__.py index c2fc590f1..cdb0bc041 100644 --- a/python/ray/ml/train/integrations/tensorflow/__init__.py +++ b/python/ray/air/train/integrations/tensorflow/__init__.py @@ -1,4 +1,4 @@ -from ray.ml.train.integrations.tensorflow.tensorflow_trainer import ( +from ray.air.train.integrations.tensorflow.tensorflow_trainer import ( TensorflowTrainer, load_checkpoint, ) diff --git a/python/ray/ml/train/integrations/tensorflow/tensorflow_trainer.py b/python/ray/air/train/integrations/tensorflow/tensorflow_trainer.py similarity index 94% rename from python/ray/ml/train/integrations/tensorflow/tensorflow_trainer.py rename to python/ray/air/train/integrations/tensorflow/tensorflow_trainer.py index 2f25781f2..32d331925 100644 --- a/python/ray/ml/train/integrations/tensorflow/tensorflow_trainer.py +++ b/python/ray/air/train/integrations/tensorflow/tensorflow_trainer.py @@ -2,11 +2,11 @@ from typing import Callable, Optional, Dict, Tuple, Type, Union import tensorflow as tf from ray.train.tensorflow import TensorflowConfig -from ray.ml.trainer import GenDataset -from ray.ml.train.data_parallel_trainer import DataParallelTrainer, _load_checkpoint -from ray.ml.config import ScalingConfig, RunConfig -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint +from ray.air.trainer import GenDataset +from ray.air.train.data_parallel_trainer import DataParallelTrainer, _load_checkpoint +from ray.air.config import ScalingConfig, RunConfig +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint from ray.util import PublicAPI @@ -93,7 +93,7 @@ class TensorflowTrainer(DataParallelTrainer): from ray import train from ray.train.tensorflow import prepare_dataset_shard - from ray.ml.train.integrations.tensorflow import TensorflowTrainer + from ray.air.train.integrations.tensorflow import TensorflowTrainer input_size = 1 @@ -150,7 +150,7 @@ class TensorflowTrainer(DataParallelTrainer): dataset. If a ``preprocessor`` is provided and has not already been fit, it will be fit on the training dataset. All datasets will be transformed by the ``preprocessor`` if one is provided. - preprocessor: A ray.ml.preprocessor.Preprocessor to preprocess the + preprocessor: A ray.air.preprocessor.Preprocessor to preprocess the provided datasets. resume_from_checkpoint: A checkpoint to resume training from. """ diff --git a/python/ray/air/train/integrations/torch/__init__.py b/python/ray/air/train/integrations/torch/__init__.py new file mode 100644 index 000000000..903ef30db --- /dev/null +++ b/python/ray/air/train/integrations/torch/__init__.py @@ -0,0 +1,3 @@ +from ray.air.train.integrations.torch.torch_trainer import TorchTrainer, load_checkpoint + +__all__ = ["TorchTrainer", "load_checkpoint"] diff --git a/python/ray/ml/train/integrations/torch/torch_trainer.py b/python/ray/air/train/integrations/torch/torch_trainer.py similarity index 94% rename from python/ray/ml/train/integrations/torch/torch_trainer.py rename to python/ray/air/train/integrations/torch/torch_trainer.py index 3c77a74e7..9a5f6c4ea 100644 --- a/python/ray/ml/train/integrations/torch/torch_trainer.py +++ b/python/ray/air/train/integrations/torch/torch_trainer.py @@ -2,13 +2,13 @@ from typing import Callable, Optional, Dict, Tuple, Union import torch from ray.train.torch import TorchConfig -from ray.ml.trainer import GenDataset -from ray.ml.train.data_parallel_trainer import DataParallelTrainer, _load_checkpoint -from ray.ml.config import ScalingConfig, RunConfig -from ray.ml.preprocessor import Preprocessor -from ray.ml.checkpoint import Checkpoint +from ray.air.trainer import GenDataset +from ray.air.train.data_parallel_trainer import DataParallelTrainer, _load_checkpoint +from ray.air.config import ScalingConfig, RunConfig +from ray.air.preprocessor import Preprocessor +from ray.air.checkpoint import Checkpoint from ray.util import PublicAPI -from ray.ml.utils.torch_utils import load_torch_model +from ray.air.utils.torch_utils import load_torch_model @PublicAPI(stability="alpha") @@ -99,7 +99,7 @@ class TorchTrainer(DataParallelTrainer): import ray from ray import train - from ray.ml.train.integrations.torch import TorchTrainer + from ray.air.train.integrations.torch import TorchTrainer input_size = 1 layer_size = 15 @@ -160,7 +160,7 @@ class TorchTrainer(DataParallelTrainer): dataset. If a ``preprocessor`` is provided and has not already been fit, it will be fit on the training dataset. All datasets will be transformed by the ``preprocessor`` if one is provided. - preprocessor: A ``ray.ml.preprocessor.Preprocessor`` to preprocess the + preprocessor: A ``ray.air.preprocessor.Preprocessor`` to preprocess the provided datasets. resume_from_checkpoint: A checkpoint to resume training from. """ diff --git a/python/ray/ml/train/integrations/xgboost/__init__.py b/python/ray/air/train/integrations/xgboost/__init__.py similarity index 58% rename from python/ray/ml/train/integrations/xgboost/__init__.py rename to python/ray/air/train/integrations/xgboost/__init__.py index 669e225c4..a7cf36156 100644 --- a/python/ray/ml/train/integrations/xgboost/__init__.py +++ b/python/ray/air/train/integrations/xgboost/__init__.py @@ -1,4 +1,4 @@ -from ray.ml.train.integrations.xgboost.xgboost_trainer import ( +from ray.air.train.integrations.xgboost.xgboost_trainer import ( XGBoostTrainer, load_checkpoint, ) diff --git a/python/ray/ml/train/integrations/xgboost/xgboost_trainer.py b/python/ray/air/train/integrations/xgboost/xgboost_trainer.py similarity index 89% rename from python/ray/ml/train/integrations/xgboost/xgboost_trainer.py rename to python/ray/air/train/integrations/xgboost/xgboost_trainer.py index 9d68e8e30..14fbb1938 100644 --- a/python/ray/ml/train/integrations/xgboost/xgboost_trainer.py +++ b/python/ray/air/train/integrations/xgboost/xgboost_trainer.py @@ -1,12 +1,12 @@ import os from typing import Optional, Tuple -from ray.ml.checkpoint import Checkpoint -from ray.ml.preprocessor import Preprocessor -from ray.ml.train.gbdt_trainer import GBDTTrainer -from ray.ml.utils.checkpointing import load_preprocessor_from_dir +from ray.air.checkpoint import Checkpoint +from ray.air.preprocessor import Preprocessor +from ray.air.train.gbdt_trainer import GBDTTrainer +from ray.air.utils.checkpointing import load_preprocessor_from_dir from ray.util.annotations import PublicAPI -from ray.ml.constants import MODEL_KEY +from ray.air.constants import MODEL_KEY import xgboost import xgboost_ray @@ -25,7 +25,7 @@ class XGBoostTrainer(GBDTTrainer): import ray - from ray.ml.train.integrations.xgboost import XGBoostTrainer + from ray.air.train.integrations.xgboost import XGBoostTrainer train_dataset = ray.data.from_items( [{"x": x, "y": x + 1} for x in range(32)]) @@ -55,7 +55,7 @@ class XGBoostTrainer(GBDTTrainer): be used to add sample weights with the ``weights`` parameter. scaling_config: Configuration for how to scale data parallel training. run_config: Configuration for the execution of the training run. - preprocessor: A ray.ml.preprocessor.Preprocessor to preprocess the + preprocessor: A ray.air.preprocessor.Preprocessor to preprocess the provided datasets. resume_from_checkpoint: A checkpoint to resume training from. **train_kwargs: Additional kwargs passed to ``xgboost.train()`` function. diff --git a/python/ray/ml/trainer.py b/python/ray/air/trainer.py similarity index 94% rename from python/ray/ml/trainer.py rename to python/ray/air/trainer.py index ba4b4da15..1772e27fc 100644 --- a/python/ray/ml/trainer.py +++ b/python/ray/air/trainer.py @@ -5,12 +5,12 @@ from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Type, Uni import ray from ray.util import PublicAPI -from ray.ml.checkpoint import Checkpoint -from ray.ml.config import RunConfig, ScalingConfig, ScalingConfigDataClass -from ray.ml.constants import TRAIN_DATASET_KEY -from ray.ml.preprocessor import Preprocessor -from ray.ml.result import Result -from ray.ml.utils.config import ( +from ray.air.checkpoint import Checkpoint +from ray.air.config import RunConfig, ScalingConfig, ScalingConfigDataClass +from ray.air.constants import TRAIN_DATASET_KEY +from ray.air.preprocessor import Preprocessor +from ray.air.result import Result +from ray.air.utils.config import ( ensure_only_allowed_dataclass_keys_updated, ensure_only_allowed_dict_keys_set, ) @@ -56,7 +56,7 @@ class Trainer(abc.ABC): specified here. - ``trainer.preprocess_datasets()``: The provided ray.data.Dataset are preprocessed with the provided - ray.ml.preprocessor. + ray.air.preprocessor. - ``trainer.train_loop()``: Executes the main training logic. - Calling ``trainer.fit()`` will return a ``ray.result.Result`` object where you can access metrics from your training run, as well @@ -71,7 +71,7 @@ class Trainer(abc.ABC): import torch - from ray.ml.train import Trainer + from ray.air.train import Trainer from ray import tune @@ -172,11 +172,11 @@ class Trainer(abc.ABC): # Run config if not isinstance(self.run_config, RunConfig): raise ValueError( - f"`run_config` should be an instance of `ray.ml.RunConfig`, " + f"`run_config` should be an instance of `ray.air.RunConfig`, " f"found {type(self.run_config)} with value `{self.run_config}`." ) # Scaling config - # Todo: move to ray.ml.ScalingConfig + # Todo: move to ray.air.ScalingConfig if not isinstance(self.scaling_config, dict): raise ValueError( f"`scaling_config` should be an instance of `dict`, " @@ -199,19 +199,19 @@ class Trainer(abc.ABC): ) # Preprocessor if self.preprocessor is not None and not isinstance( - self.preprocessor, ray.ml.preprocessor.Preprocessor + self.preprocessor, ray.air.preprocessor.Preprocessor ): raise ValueError( - f"`preprocessor` should be an instance of `ray.ml.Preprocessor`, " + f"`preprocessor` should be an instance of `ray.air.Preprocessor`, " f"found {type(self.preprocessor)} with value `{self.preprocessor}`." ) if self.resume_from_checkpoint is not None and not isinstance( - self.resume_from_checkpoint, ray.ml.Checkpoint + self.resume_from_checkpoint, ray.air.Checkpoint ): raise ValueError( f"`resume_from_checkpoint` should be an instance of " - f"`ray.ml.Checkpoint`, found {type(self.resume_from_checkpoint)} " + f"`ray.air.Checkpoint`, found {type(self.resume_from_checkpoint)} " f"with value `{self.resume_from_checkpoint}`." ) @@ -297,7 +297,7 @@ class Trainer(abc.ABC): Example: .. code-block: python - from ray.ml.trainer import Trainer + from ray.air.trainer import Trainer class MyTrainer(Trainer): def training_loop(self): diff --git a/python/ray/ml/utils/__init__.py b/python/ray/air/utils/__init__.py similarity index 100% rename from python/ray/ml/utils/__init__.py rename to python/ray/air/utils/__init__.py diff --git a/python/ray/ml/utils/check_ingest.py b/python/ray/air/utils/check_ingest.py similarity index 97% rename from python/ray/ml/utils/check_ingest.py rename to python/ray/air/utils/check_ingest.py index e9adfafe6..760c1c3d2 100755 --- a/python/ray/ml/utils/check_ingest.py +++ b/python/ray/air/utils/check_ingest.py @@ -6,8 +6,8 @@ from typing import Optional import ray from ray import train -from ray.ml.preprocessors import Chain, BatchMapper -from ray.ml.train.data_parallel_trainer import DataParallelTrainer +from ray.air.preprocessors import Chain, BatchMapper +from ray.air.train.data_parallel_trainer import DataParallelTrainer class DummyTrainer(DataParallelTrainer): diff --git a/python/ray/ml/utils/checkpointing.py b/python/ray/air/utils/checkpointing.py similarity index 90% rename from python/ray/ml/utils/checkpointing.py rename to python/ray/air/utils/checkpointing.py index ad61d849e..9b6aef375 100644 --- a/python/ray/ml/utils/checkpointing.py +++ b/python/ray/air/utils/checkpointing.py @@ -3,8 +3,8 @@ from pathlib import Path from typing import Optional import ray.cloudpickle as cpickle -from ray.ml.preprocessor import Preprocessor -from ray.ml.constants import PREPROCESSOR_KEY +from ray.air.preprocessor import Preprocessor +from ray.air.constants import PREPROCESSOR_KEY def save_preprocessor_to_dir( diff --git a/python/ray/ml/utils/config.py b/python/ray/air/utils/config.py similarity index 100% rename from python/ray/ml/utils/config.py rename to python/ray/air/utils/config.py diff --git a/python/ray/ml/utils/datasets.py b/python/ray/air/utils/datasets.py similarity index 97% rename from python/ray/ml/utils/datasets.py rename to python/ray/air/utils/datasets.py index 39d62d7cd..19be07b7f 100644 --- a/python/ray/ml/utils/datasets.py +++ b/python/ray/air/utils/datasets.py @@ -15,7 +15,7 @@ def train_test_split( .. code-block:: python import ray - from ray.ml import train_test_split + from ray.air import train_test_split ds = ray.data.range(8) train, test = train_test_split(ds, test_size=0.25) diff --git a/python/ray/ml/utils/remote_storage.py b/python/ray/air/utils/remote_storage.py similarity index 100% rename from python/ray/ml/utils/remote_storage.py rename to python/ray/air/utils/remote_storage.py diff --git a/python/ray/ml/utils/sklearn_utils.py b/python/ray/air/utils/sklearn_utils.py similarity index 100% rename from python/ray/ml/utils/sklearn_utils.py rename to python/ray/air/utils/sklearn_utils.py diff --git a/python/ray/ml/utils/torch_utils.py b/python/ray/air/utils/torch_utils.py similarity index 100% rename from python/ray/ml/utils/torch_utils.py rename to python/ray/air/utils/torch_utils.py diff --git a/python/ray/data/dataset.py b/python/ray/data/dataset.py index 32907474a..2185efc40 100644 --- a/python/ray/data/dataset.py +++ b/python/ray/data/dataset.py @@ -1090,7 +1090,7 @@ class Dataset(Generic[T]): A common use case for this would be splitting the dataset into train and test sets (equivalent to eg. scikit-learn's ``train_test_split``). - See also :func:`ray.ml.train_test_split` for a higher level abstraction. + See also :func:`ray.air.train_test_split` for a higher level abstraction. The indices to split at will be calculated in such a way so that all splits always contains at least one element. If that is not possible, @@ -1113,7 +1113,7 @@ class Dataset(Generic[T]): Time complexity: O(num splits) See also: ``Dataset.split``, ``Dataset.split_at_indices``, - :func:`ray.ml.train_test_split` + :func:`ray.air.train_test_split` Args: proportions: List of proportions to split the dataset according to. @@ -2369,7 +2369,7 @@ class Dataset(Generic[T]): import torch from ray.data.impl.torch_iterable_dataset import TorchIterableDataset - from ray.ml.utils.torch_utils import convert_pandas_to_torch_tensor + from ray.air.utils.torch_utils import convert_pandas_to_torch_tensor # If an empty collection is passed in, treat it the same as None if not feature_columns: diff --git a/python/ray/ml/__init__.py b/python/ray/ml/__init__.py deleted file mode 100644 index 131668a61..000000000 --- a/python/ray/ml/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -from ray.ml.checkpoint import Checkpoint -from ray.ml.config import RunConfig, ScalingConfig -from ray.ml.preprocessor import Preprocessor -from ray.ml.utils.datasets import train_test_split - -__all__ = [ - "Checkpoint", - "Preprocessor", - "RunConfig", - "ScalingConfig", - "train_test_split", -] diff --git a/python/ray/ml/predictors/integrations/huggingface/__init__.py b/python/ray/ml/predictors/integrations/huggingface/__init__.py deleted file mode 100644 index 617063387..000000000 --- a/python/ray/ml/predictors/integrations/huggingface/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from ray.ml.predictors.integrations.huggingface.huggingface_predictor import ( - HuggingFacePredictor, -) - -__all__ = ["HuggingFacePredictor"] diff --git a/python/ray/ml/predictors/integrations/lightgbm/__init__.py b/python/ray/ml/predictors/integrations/lightgbm/__init__.py deleted file mode 100644 index aa5af2c5f..000000000 --- a/python/ray/ml/predictors/integrations/lightgbm/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from ray.ml.predictors.integrations.lightgbm.lightgbm_predictor import LightGBMPredictor - -__all__ = ["LightGBMPredictor"] diff --git a/python/ray/ml/predictors/integrations/rl/__init__.py b/python/ray/ml/predictors/integrations/rl/__init__.py deleted file mode 100644 index 4fec53851..000000000 --- a/python/ray/ml/predictors/integrations/rl/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from ray.ml.predictors.integrations.rl.rl_predictor import RLPredictor - -__all__ = ["RLPredictor"] diff --git a/python/ray/ml/predictors/integrations/sklearn/__init__.py b/python/ray/ml/predictors/integrations/sklearn/__init__.py deleted file mode 100644 index 965181712..000000000 --- a/python/ray/ml/predictors/integrations/sklearn/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from ray.ml.predictors.integrations.sklearn.sklearn_predictor import ( - SklearnPredictor, -) - -__all__ = ["SklearnPredictor"] diff --git a/python/ray/ml/predictors/integrations/tensorflow/__init__.py b/python/ray/ml/predictors/integrations/tensorflow/__init__.py deleted file mode 100644 index 667af4db2..000000000 --- a/python/ray/ml/predictors/integrations/tensorflow/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from ray.ml.predictors.integrations.tensorflow.tensorflow_predictor import ( - TensorflowPredictor, -) - -__all__ = ["TensorflowPredictor"] diff --git a/python/ray/ml/predictors/integrations/torch/__init__.py b/python/ray/ml/predictors/integrations/torch/__init__.py deleted file mode 100644 index dfee41701..000000000 --- a/python/ray/ml/predictors/integrations/torch/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from ray.ml.predictors.integrations.torch.torch_predictor import TorchPredictor - -__all__ = ["TorchPredictor"] diff --git a/python/ray/ml/predictors/integrations/xgboost/__init__.py b/python/ray/ml/predictors/integrations/xgboost/__init__.py deleted file mode 100644 index fd05ba784..000000000 --- a/python/ray/ml/predictors/integrations/xgboost/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from ray.ml.predictors.integrations.xgboost.xgboost_predictor import XGBoostPredictor - -__all__ = ["XGBoostPredictor"] diff --git a/python/ray/ml/train/__init__.py b/python/ray/ml/train/__init__.py deleted file mode 100644 index bf4bdd60c..000000000 --- a/python/ray/ml/train/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from ray.ml.constants import TRAIN_DATASET_KEY -from ray.ml.trainer import Trainer - -__all__ = ["TRAIN_DATASET_KEY", "Trainer"] diff --git a/python/ray/ml/train/integrations/horovod/__init__.py b/python/ray/ml/train/integrations/horovod/__init__.py deleted file mode 100644 index 3df5710e7..000000000 --- a/python/ray/ml/train/integrations/horovod/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from ray.ml.train.integrations.horovod.horovod_trainer import HorovodTrainer - -__all__ = ["HorovodTrainer"] diff --git a/python/ray/ml/train/integrations/rl/__init__.py b/python/ray/ml/train/integrations/rl/__init__.py deleted file mode 100644 index 9feb38ce5..000000000 --- a/python/ray/ml/train/integrations/rl/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from ray.ml.train.integrations.rl.rl_trainer import RLTrainer, load_checkpoint - -__all__ = ["RLTrainer", "load_checkpoint"] diff --git a/python/ray/ml/train/integrations/torch/__init__.py b/python/ray/ml/train/integrations/torch/__init__.py deleted file mode 100644 index adcd130a8..000000000 --- a/python/ray/ml/train/integrations/torch/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from ray.ml.train.integrations.torch.torch_trainer import TorchTrainer, load_checkpoint - -__all__ = ["TorchTrainer", "load_checkpoint"] diff --git a/python/ray/serve/model_wrappers.py b/python/ray/serve/model_wrappers.py index 66b232017..4f17ca0b8 100644 --- a/python/ray/serve/model_wrappers.py +++ b/python/ray/serve/model_wrappers.py @@ -1,8 +1,8 @@ from typing import Dict, Optional, Type, Union from ray._private.utils import import_attr -from ray.ml.checkpoint import Checkpoint -from ray.ml.predictor import Predictor +from ray.air.checkpoint import Checkpoint +from ray.air.predictor import Predictor from ray.serve.drivers import HTTPAdapterFn, SimpleSchemaIngress import ray from ray import serve @@ -33,7 +33,7 @@ def _load_predictor_cls( predictor_cls = import_attr(predictor_cls) if not issubclass(predictor_cls, Predictor): raise ValueError( - f"{predictor_cls} class must be a subclass of ray.ml `Predictor`" + f"{predictor_cls} class must be a subclass of ray.air `Predictor`" ) return predictor_cls @@ -43,12 +43,12 @@ class ModelWrapper(SimpleSchemaIngress): Args: predictor_cls(str, Type[Predictor]): The class or path for predictor class. - The type must be a subclass of :class:`ray.ml.predicotr.Predictor`. + The type must be a subclass of :class:`ray.air.predictor.Predictor`. checkpoint(Checkpoint, dict): The checkpoint object or a dictionary describe the object. - The checkpoint object must be a subclass of - :class:`ray.ml.checkpoint.Checkpoint`. + :class:`ray.air.checkpoint.Checkpoint`. - The dictionary should be in the form of ``{"checkpoint_cls": "import.path.MyCheckpoint", "uri": "uri_to_load_from"}``. diff --git a/python/ray/serve/tests/test_model_wrappers.py b/python/ray/serve/tests/test_model_wrappers.py index 0ca42cfdc..53a6fa0d4 100644 --- a/python/ray/serve/tests/test_model_wrappers.py +++ b/python/ray/serve/tests/test_model_wrappers.py @@ -7,8 +7,8 @@ import requests from requests.adapters import HTTPAdapter, Retry from ray._private.test_utils import wait_for_condition -from ray.ml.checkpoint import Checkpoint -from ray.ml.predictor import DataBatchType, Predictor +from ray.air.checkpoint import Checkpoint +from ray.air.predictor import DataBatchType, Predictor from ray.serve.model_wrappers import ModelWrapperDeployment from ray.serve.pipeline.api import build from ray.serve.dag import InputNode diff --git a/python/ray/setup-dev.py b/python/ray/setup-dev.py index 43e6e7a9a..38269383a 100755 --- a/python/ray/setup-dev.py +++ b/python/ray/setup-dev.py @@ -75,7 +75,7 @@ if __name__ == "__main__": print("NOTE: Use '-y' to override all python files without confirmation.") do_link("rllib", force=args.yes, local_path="../../../rllib") - do_link("ml", force=args.yes) + do_link("air", force=args.yes) do_link("tune", force=args.yes) do_link("train", force=args.yes) do_link("autoscaler", force=args.yes) diff --git a/python/ray/tune/analysis/experiment_analysis.py b/python/ray/tune/analysis/experiment_analysis.py index 65500366a..0059994c4 100644 --- a/python/ray/tune/analysis/experiment_analysis.py +++ b/python/ray/tune/analysis/experiment_analysis.py @@ -5,7 +5,7 @@ import traceback from numbers import Number from typing import Any, Dict, List, Optional, Tuple -from ray.ml.checkpoint import Checkpoint +from ray.air.checkpoint import Checkpoint from ray.tune.cloud import TrialCheckpoint from ray.tune.syncer import SyncConfig from ray.tune.utils import flatten_dict @@ -217,7 +217,7 @@ class ExperimentAnalysis: `get_best_checkpoint(trial, metric, mode)` instead. Returns: - :class:`Checkpoint ` object. + :class:`Checkpoint ` object. """ if not self.default_metric or not self.default_mode: raise ValueError( @@ -432,7 +432,7 @@ class ExperimentAnalysis: mode: One of [min, max]. Defaults to ``self.default_mode``. Returns: - :class:`Checkpoint ` object. + :class:`Checkpoint ` object. """ metric = metric or self.default_metric or TRAINING_ITERATION mode = self._validate_mode(mode) diff --git a/python/ray/tune/cloud.py b/python/ray/tune/cloud.py index 65b90f676..706bad2b7 100644 --- a/python/ray/tune/cloud.py +++ b/python/ray/tune/cloud.py @@ -1,7 +1,7 @@ import os from typing import Optional -from ray.ml.checkpoint import ( +from ray.air.checkpoint import ( Checkpoint, _get_local_path, _get_external_path, diff --git a/python/ray/tune/impl/tuner_internal.py b/python/ray/tune/impl/tuner_internal.py index 6dfe5c092..9b76c3596 100644 --- a/python/ray/tune/impl/tuner_internal.py +++ b/python/ray/tune/impl/tuner_internal.py @@ -3,8 +3,8 @@ import os from typing import Any, Callable, Dict, Optional, Type, Union import ray.cloudpickle as pickle -from ray.ml.config import RunConfig -from ray.ml.trainer import Trainer +from ray.air.config import RunConfig +from ray.air.trainer import Trainer from ray.tune import Experiment, TuneError, ExperimentAnalysis from ray.tune.impl.utils import execute_dataset from ray.tune.result_grid import ResultGrid @@ -44,7 +44,7 @@ class TunerInternal: Refer to ray.tune.tune_config.TuneConfig for more info. run_config: Runtime configuration that is specific to individual trials. If passed, this will overwrite the run config passed to the Trainer, - if applicable. Refer to ray.ml.config.RunConfig for more info. + if applicable. Refer to ray.air.config.RunConfig for more info. """ def __init__( diff --git a/python/ray/tune/result_grid.py b/python/ray/tune/result_grid.py index 2f3a3e014..15da24347 100644 --- a/python/ray/tune/result_grid.py +++ b/python/ray/tune/result_grid.py @@ -4,8 +4,8 @@ from typing import Optional, Union import pandas as pd from ray.cloudpickle import cloudpickle from ray.exceptions import RayTaskError -from ray.ml.checkpoint import Checkpoint -from ray.ml.result import Result +from ray.air.checkpoint import Checkpoint +from ray.air.result import Result from ray.tune import ExperimentAnalysis from ray.tune.error import TuneError from ray.tune.trial import Trial diff --git a/python/ray/tune/sync_client.py b/python/ray/tune/sync_client.py index 58368e633..fd821753d 100644 --- a/python/ray/tune/sync_client.py +++ b/python/ray/tune/sync_client.py @@ -17,7 +17,7 @@ import ray from ray.tune.error import TuneError from ray.tune.utils.file_transfer import sync_dir_between_nodes, delete_on_node from ray.util.annotations import PublicAPI, DeveloperAPI -from ray.ml.utils.remote_storage import ( +from ray.air.utils.remote_storage import ( S3_PREFIX, GS_PREFIX, HDFS_PREFIX, diff --git a/python/ray/tune/syncer.py b/python/ray/tune/syncer.py index 90d33d190..ae7aba563 100644 --- a/python/ray/tune/syncer.py +++ b/python/ray/tune/syncer.py @@ -20,7 +20,7 @@ from shlex import quote import ray import yaml -from ray.ml.utils.remote_storage import get_fs_and_path, fs_hint +from ray.air.utils.remote_storage import get_fs_and_path, fs_hint from ray.tune import TuneError from ray.tune.callback import Callback from ray.tune.checkpoint_manager import _TuneCheckpoint diff --git a/python/ray/tune/tests/test_api.py b/python/ray/tune/tests/test_api.py index dbe40f3a4..204d79578 100644 --- a/python/ray/tune/tests/test_api.py +++ b/python/ray/tune/tests/test_api.py @@ -14,7 +14,7 @@ import gym import numpy as np import ray from ray import tune -from ray.ml.utils.remote_storage import _ensure_directory +from ray.air.utils.remote_storage import _ensure_directory from ray.rllib import _register_all from ray.tune import ( register_env, diff --git a/python/ray/tune/tests/test_result_grid.py b/python/ray/tune/tests/test_result_grid.py index 8d3cf1cb6..4186600f3 100644 --- a/python/ray/tune/tests/test_result_grid.py +++ b/python/ray/tune/tests/test_result_grid.py @@ -3,7 +3,7 @@ import os import pytest from ray import tune -from ray.ml.checkpoint import Checkpoint +from ray.air.checkpoint import Checkpoint from ray.tune.result_grid import ResultGrid diff --git a/python/ray/tune/tests/test_tuner.py b/python/ray/tune/tests/test_tuner.py index 9ec122198..d24550f09 100644 --- a/python/ray/tune/tests/test_tuner.py +++ b/python/ray/tune/tests/test_tuner.py @@ -9,11 +9,13 @@ from sklearn.utils import shuffle from ray import tune from ray.data import from_pandas, read_datasource, Dataset, Datasource, ReadTask from ray.data.block import BlockMetadata -from ray.ml.config import RunConfig -from ray.ml.examples.pytorch.torch_linear_example import train_func as linear_train_func -from ray.ml.train.integrations.torch import TorchTrainer -from ray.ml.train.integrations.xgboost import XGBoostTrainer -from ray.ml.train import Trainer +from ray.air.config import RunConfig +from ray.air.examples.pytorch.torch_linear_example import ( + train_func as linear_train_func, +) +from ray.air.train.integrations.torch import TorchTrainer +from ray.air.train.integrations.xgboost import XGBoostTrainer +from ray.air.train import Trainer from ray.tune import Callback, TuneError from ray.tune.cloud import TrialCheckpoint from ray.tune.result import DEFAULT_RESULTS_DIR diff --git a/python/ray/tune/trainable.py b/python/ray/tune/trainable.py index 8e809db49..4aadcc5f8 100644 --- a/python/ray/tune/trainable.py +++ b/python/ray/tune/trainable.py @@ -14,7 +14,7 @@ import uuid import ray import ray.cloudpickle as pickle -from ray.ml.checkpoint import Checkpoint +from ray.air.checkpoint import Checkpoint from ray.tune.cloud import TrialCheckpoint from ray.tune.logger import Logger from ray.tune.resources import Resources diff --git a/python/ray/tune/tuner.py b/python/ray/tune/tuner.py index f28a6a77d..12b6dcec6 100644 --- a/python/ray/tune/tuner.py +++ b/python/ray/tune/tuner.py @@ -2,8 +2,8 @@ from typing import Any, Callable, Dict, Optional, Type, Union import ray -from ray.ml.config import RunConfig -from ray.ml.trainer import Trainer +from ray.air.config import RunConfig +from ray.air.trainer import Trainer from ray.tune import TuneError from ray.tune.result_grid import ResultGrid from ray.tune.trainable import Trainable @@ -36,7 +36,7 @@ class Tuner: Refer to ray.tune.tune_config.TuneConfig for more info. run_config: Runtime configuration that is specific to individual trials. If passed, this will overwrite the run config passed to the Trainer, - if applicable. Refer to ray.ml.config.RunConfig for more info. + if applicable. Refer to ray.air.config.RunConfig for more info. Usage pattern: @@ -46,8 +46,8 @@ class Tuner: from ray import tune from ray.data import from_pandas - from ray.ml.config import RunConfig - from ray.ml.train.integrations.xgboost import XGBoostTrainer + from ray.air.config import RunConfig + from ray.air.train.integrations.xgboost import XGBoostTrainer from ray.tune.tuner import Tuner def get_dataset(): diff --git a/python/ray/tune/utils/util.py b/python/ray/tune/utils/util.py index 372e0b5bb..c99ce3b56 100644 --- a/python/ray/tune/utils/util.py +++ b/python/ray/tune/utils/util.py @@ -15,8 +15,8 @@ from typing import Optional import numpy as np import psutil import ray -from ray.ml.checkpoint import Checkpoint -from ray.ml.utils.remote_storage import delete_at_uri +from ray.air.checkpoint import Checkpoint +from ray.air.utils.remote_storage import delete_at_uri from ray.util.ml_utils.dict import ( # noqa: F401 merge_dicts, deep_update, diff --git a/python/ray/util/ml_utils/checkpoint_manager.py b/python/ray/util/ml_utils/checkpoint_manager.py index 5926a1e3f..9e7d8d6cd 100644 --- a/python/ray/util/ml_utils/checkpoint_manager.py +++ b/python/ray/util/ml_utils/checkpoint_manager.py @@ -12,7 +12,7 @@ from pathlib import Path from typing import Optional, Dict, Union, Callable, Tuple, List, Any import ray -from ray.ml import Checkpoint +from ray.air import Checkpoint from ray.tune.result import NODE_IP from ray.util import PublicAPI from ray.util.annotations import DeveloperAPI diff --git a/python/requirements/ml/requirements_train.txt b/python/requirements/ml/requirements_train.txt index 3500eabd5..286c4ab5a 100644 --- a/python/requirements/ml/requirements_train.txt +++ b/python/requirements/ml/requirements_train.txt @@ -7,8 +7,8 @@ tensorboardX==2.4.1 # Dependencies for Hugging Face examples & tests: # `python/ray/train/examples/transformers/transformers_example.py` -# `python/ray/ml/examples/huggingface/huggingface_basic_language_modeling_example.py` -# `python/ray/ml/tests/test_huggingface_trainer.py` +# `python/ray/air/examples/huggingface/huggingface_basic_language_modeling_example.py` +# `python/ray/air/tests/test_huggingface_trainer.py` transformers==4.18.0; python_version <= '3.6' transformers==4.19.1; python_version > '3.6' accelerate==0.5.1 diff --git a/release/air_tests/horovod/workloads/horovod_tune_test.py b/release/air_tests/horovod/workloads/horovod_tune_test.py index b06c60fb9..a3cb92dcf 100755 --- a/release/air_tests/horovod/workloads/horovod_tune_test.py +++ b/release/air_tests/horovod/workloads/horovod_tune_test.py @@ -2,8 +2,8 @@ import torch import torch.nn as nn import numpy as np import torchvision -from ray.ml import RunConfig -from ray.ml.train.integrations.horovod import HorovodTrainer +from ray.air import RunConfig +from ray.air.train.integrations.horovod import HorovodTrainer from ray.tune.tune_config import TuneConfig from ray.tune.tuner import Tuner from torch.utils.data import DataLoader