Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[train] update Train API references & annotations #39294

Merged
merged 13 commits into from
Sep 8, 2023

Conversation

matthewdeng
Copy link
Contributor

@matthewdeng matthewdeng commented Sep 6, 2023

Why are these changes needed?

Changes

  1. Remove deprecated API references.
  2. Reorganize API References to improve navigation of the headers.
  3. Update modules to point to ray.train.
  4. Update API stability annotations.
  5. Alias ray.air.integrations.keras.ReportCheckpointCallback to ray.train.tensorflow.keras.ReportCheckpointCallback.

Stability

API Stability
ray.train.torch.TorchTrainer beta → stable
ray.train.torch.TorchConfig beta → stable
ray.train.torch.get_device beta → stable
ray.train.torch.prepare_model beta → stable
ray.train.torch.prepare_data_loader beta → stable
ray.train.torch.enable_reproducibility beta → stable
ray.train.lightning.LightningTrainer alpha → deprecated
ray.train.lightning.LightningConfigBuilder alpha → deprecated
ray.train.lightning.prepare_trainer n/a → beta
ray.train.lightning.RayTrainReportCallback n/a → beta
ray.train.lightning.RayLightningEnvironment n/a → beta
ray.train.lightning.RayDDPStrategy n/a → beta
ray.train.lightning.RayFSDPStrategy n/a → beta
ray.train.lightning.RayDeepSpeedStrategy n/a → beta
ray.train.huggingface.AccelerateTrainer none → deprecated
ray.train.huggingface.TransformersTrainer alpha → deprecated
ray.train.huggingface.transformers.prepare_trainer n/a → beta
ray.train.huggingface.transformers.RayTrainReportCallback n/a → beta
ray.train.CheckpointConfig beta → stable
ray.train.DataConfig public → stable
ray.train.FailureConfig beta → stable
ray.train.RunConfig beta → stable
ray.train.ScalingConfig beta → stable
ray.train.SyncConfig public → stable
ray.train.Checkpoint beta
ray.train.TrainContext n/a → stable
ray.train.get_context n/a → stable
ray.train.get_checkpoint beta → stable
ray.train.get_dataset_shard beta → stable
ray.train.report beta → stable
ray.train.Result beta → stable

Related issue number

Checks

  • I've signed off every commit(by using the -s flag, i.e., git commit -s) in this PR.
  • I've run scripts/format.sh to lint the changes in this PR.
  • I've included any doc changes needed for https://docs.ray.io/en/master/.
    • I've added any new APIs to the API Reference. For example, if I added a
      method in Tune, I've added it in doc/source/tune/api/ under the
      corresponding .rst file.
  • I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
  • Testing Strategy
    • Unit tests
    • Release tests
    • This PR is not tested :(

Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Matthew Deng <matt@anyscale.com>
@matthewdeng matthewdeng marked this pull request as ready for review September 7, 2023 05:18
Comment on lines 124 to 132
# DEPRECATED
_max_cpu_fraction_per_node: Optional[Union[float, SampleRange]] = None

def __post_init__(self):
if self._max_cpu_fraction_per_node:
warnings.warn(
"_max_cpu_fraction_per_node is deprecated and will be removed in Ray 2.8.", # noqa: E501
DeprecationWarning,
)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ericl I wasn't sure if there was a better way to do this, LMK if you think I should raise the warning or completely remove it from the API (and let it fail without a message) instead .

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's just remove it, since it was underscore/experimental.

Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Matthew Deng <matt@anyscale.com>
Copy link
Member

@woshiyyya woshiyyya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good to me. Left a few comments.

python/ray/train/lightning/lightning_trainer.py Outdated Show resolved Hide resolved
python/ray/train/lightning/lightning_trainer.py Outdated Show resolved Hide resolved
python/ray/train/__init__.py Show resolved Hide resolved
doc/source/train/api/api.rst Show resolved Hide resolved
Signed-off-by: Matthew Deng <matt@anyscale.com>

ray.train.SyncConfig
:noindex:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the reason why we are no indexing here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's indexed in the Train API now

@matthewdeng matthewdeng merged commit fb4dd92 into ray-project:master Sep 8, 2023
46 of 66 checks passed
matthewdeng added a commit to matthewdeng/ray that referenced this pull request Sep 8, 2023
Signed-off-by: Matthew Deng <matt@anyscale.com>
GeneDer pushed a commit that referenced this pull request Sep 8, 2023
…39468)

* [train] Fix issues in migration of tune_cifar_torch_pbt_example (#39158)

Resolves three issues that come up when migrating the `tune_cifar_torch_pbt_example` from Ray 2.6 to Ray 2.7:

1. There is a warning message because PBT uses the `_schedule_trial_save` interface. This is added to the white list attributes so it doesn't come up anymore.
2. PBT malfunctions in Python 2.7, so instead of silently failing, we raise an error and ask users to migrate
3. When users use old `ray.air.Checkpoint` APIs on `ray.train.Checkpoint`, we should raise an actionable error message.

Signed-off-by: Kai Fricke <kai@anyscale.com>

* [tune] Make Trainable.save/restore developer APIs (#39391)

Signed-off-by: Kai Fricke <kai@anyscale.com>

* [Telemetry] Add Telemetry for Ray Train Utilities (#39363)

Signed-off-by: woshiyyya <xiaoyunxuan1998@gmail.com>

* [train] update Train API references & annotations (#39294)

Signed-off-by: Matthew Deng <matt@anyscale.com>

* [2.7] Cleanup all LightningTrainer Mentions in Ray Doc (#39406)

Signed-off-by: woshiyyya <xiaoyunxuan1998@gmail.com>

* [train] remove _max_cpu_fraction_per_node (#39412)

Signed-off-by: Matthew Deng <matt@anyscale.com>

* [train] Legacy interface cleanup (`air.Checkpoint`, `LegacyExperimentAnalysis`) (#39289)

Signed-off-by: Justin Yu <justinvyu@anyscale.com>
Co-authored-by: matthewdeng <matt@anyscale.com>

* [Train][Telemetry] Limit the usage of `ray.train.torch.get_device`. (#39432)

Signed-off-by: woshiyyya <xiaoyunxuan1998@gmail.com>

* [train-ci] Fix Train examples with authentication buildkite commands. (#39387)

* [train-ci] fix Train examples with authentication buildkite commands.

Signed-off-by: xwjiang2010 <xwjiang2010@gmail.com>

* [train][doc] Remove preprocessor reference in tune+train user guide (#39442)

Signed-off-by: Justin Yu <justinvyu@anyscale.com>

* [train/docs] Extend resource guide (training backend + choosing resources) (#39202)

Signed-off-by: Kai Fricke <kai@anyscale.com>
Co-authored-by: matthewdeng <matthew.j.deng@gmail.com>

* fix docs

Signed-off-by: Matthew Deng <matt@anyscale.com>

* [Minor] Remove remaining LightningTrainer Mentions (#39441)

Signed-off-by: woshiyyya <xiaoyunxuan1998@gmail.com>

---------

Signed-off-by: Kai Fricke <kai@anyscale.com>
Signed-off-by: woshiyyya <xiaoyunxuan1998@gmail.com>
Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Justin Yu <justinvyu@anyscale.com>
Signed-off-by: xwjiang2010 <xwjiang2010@gmail.com>
Co-authored-by: Kai Fricke <krfricke@users.noreply.github.com>
Co-authored-by: Yunxuan Xiao <yunxuanx@anyscale.com>
Co-authored-by: Justin Yu <justinvyu@anyscale.com>
Co-authored-by: xwjiang2010 <87673679+xwjiang2010@users.noreply.github.com>
jimthompson5802 pushed a commit to jimthompson5802/ray that referenced this pull request Sep 12, 2023
Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Jim Thompson <jimthompson5802@gmail.com>
vymao pushed a commit to vymao/ray that referenced this pull request Oct 11, 2023
Signed-off-by: Matthew Deng <matt@anyscale.com>
Signed-off-by: Victor <vctr.y.m@example.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants