-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
[tune] Cleanup path-related properties in experiment classes #33370
[tune] Cleanup path-related properties in experiment classes #33370
Conversation
Signed-off-by: Kai Fricke <[email protected]>
Signed-off-by: Kai Fricke <[email protected]>
Signed-off-by: Kai Fricke <[email protected]>
Signed-off-by: Kai Fricke <[email protected]>
Signed-off-by: Kai Fricke <[email protected]>
@@ -1595,13 +1595,22 @@ def simulate_storage( | |||
elif storage_type == "s3": | |||
from moto.server import ThreadedMotoServer | |||
|
|||
old_env = os.environ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we need theses?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tests don't pass locally when no aws credentials are setup. They are setup in the buildkite runners automatically (as env vars). This is just piggybacking a small fix in the current CI
Signed-off-by: Kai Fricke <[email protected]>
Signed-off-by: Kai Fricke <[email protected]>
Signed-off-by: Kai Fricke <[email protected]>
Signed-off-by: Kai Fricke <[email protected]>
Signed-off-by: Kai Fricke <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unblock for the following pieces. pending test passing.
…ject#33370) The naming of different path-related components in Ray Tune is currently messy. For instance, `Experiment.local_dir` refers to main results directory, e.g. `~/ray_results`, while `Trial.local_dir` refers to the experiment directory, e.g. `~/ray_results/experiment`. The same is true for properties, where it's unclear if it refers to the object's sub directory or to its parent directory. To disentangle this information, this PR introduces a new naming convention. - All entities receiving a "parent path" receive it in a unambiguous naming scheme. - For instance, `Experiment(storage_path)`, `TrialRunner(experiment_path)`, `Trial(experiment_path)` - Outputs are also normalized. E.g. `Trial.remote_experiment_path` and `Trial.local_experiment_path` - We keep existing arguments and properties for backwards compatibility Signed-off-by: Kai Fricke <[email protected]> Signed-off-by: Jack He <[email protected]>
…ject#33370) The naming of different path-related components in Ray Tune is currently messy. For instance, `Experiment.local_dir` refers to main results directory, e.g. `~/ray_results`, while `Trial.local_dir` refers to the experiment directory, e.g. `~/ray_results/experiment`. The same is true for properties, where it's unclear if it refers to the object's sub directory or to its parent directory. To disentangle this information, this PR introduces a new naming convention. - All entities receiving a "parent path" receive it in a unambiguous naming scheme. - For instance, `Experiment(storage_path)`, `TrialRunner(experiment_path)`, `Trial(experiment_path)` - Outputs are also normalized. E.g. `Trial.remote_experiment_path` and `Trial.local_experiment_path` - We keep existing arguments and properties for backwards compatibility Signed-off-by: Kai Fricke <[email protected]> Signed-off-by: Edward Oakes <[email protected]>
…ject#33370) The naming of different path-related components in Ray Tune is currently messy. For instance, `Experiment.local_dir` refers to main results directory, e.g. `~/ray_results`, while `Trial.local_dir` refers to the experiment directory, e.g. `~/ray_results/experiment`. The same is true for properties, where it's unclear if it refers to the object's sub directory or to its parent directory. To disentangle this information, this PR introduces a new naming convention. - All entities receiving a "parent path" receive it in a unambiguous naming scheme. - For instance, `Experiment(storage_path)`, `TrialRunner(experiment_path)`, `Trial(experiment_path)` - Outputs are also normalized. E.g. `Trial.remote_experiment_path` and `Trial.local_experiment_path` - We keep existing arguments and properties for backwards compatibility Signed-off-by: Kai Fricke <[email protected]>
Following #33370, this PR adds `Result.path` and `ResultGrid.experiment_path` to the respective classes. Further, we remove the public facing `ExperimentAnalysis.local_path` and `ExperimentAnalysis.remote_path` in favor of a unified `ExperimentAnalysis.experiment_path`. Signed-off-by: Kai Fricke <[email protected]>
…ject#33370) The naming of different path-related components in Ray Tune is currently messy. For instance, `Experiment.local_dir` refers to main results directory, e.g. `~/ray_results`, while `Trial.local_dir` refers to the experiment directory, e.g. `~/ray_results/experiment`. The same is true for properties, where it's unclear if it refers to the object's sub directory or to its parent directory. To disentangle this information, this PR introduces a new naming convention. - All entities receiving a "parent path" receive it in a unambiguous naming scheme. - For instance, `Experiment(storage_path)`, `TrialRunner(experiment_path)`, `Trial(experiment_path)` - Outputs are also normalized. E.g. `Trial.remote_experiment_path` and `Trial.local_experiment_path` - We keep existing arguments and properties for backwards compatibility Signed-off-by: Kai Fricke <[email protected]> Signed-off-by: chaowang <[email protected]>
…ject#33370) The naming of different path-related components in Ray Tune is currently messy. For instance, `Experiment.local_dir` refers to main results directory, e.g. `~/ray_results`, while `Trial.local_dir` refers to the experiment directory, e.g. `~/ray_results/experiment`. The same is true for properties, where it's unclear if it refers to the object's sub directory or to its parent directory. To disentangle this information, this PR introduces a new naming convention. - All entities receiving a "parent path" receive it in a unambiguous naming scheme. - For instance, `Experiment(storage_path)`, `TrialRunner(experiment_path)`, `Trial(experiment_path)` - Outputs are also normalized. E.g. `Trial.remote_experiment_path` and `Trial.local_experiment_path` - We keep existing arguments and properties for backwards compatibility Signed-off-by: Kai Fricke <[email protected]> Signed-off-by: elliottower <[email protected]>
…t#33410) Following ray-project#33370, this PR adds `Result.path` and `ResultGrid.experiment_path` to the respective classes. Further, we remove the public facing `ExperimentAnalysis.local_path` and `ExperimentAnalysis.remote_path` in favor of a unified `ExperimentAnalysis.experiment_path`. Signed-off-by: Kai Fricke <[email protected]> Signed-off-by: elliottower <[email protected]>
…ject#33370) The naming of different path-related components in Ray Tune is currently messy. For instance, `Experiment.local_dir` refers to main results directory, e.g. `~/ray_results`, while `Trial.local_dir` refers to the experiment directory, e.g. `~/ray_results/experiment`. The same is true for properties, where it's unclear if it refers to the object's sub directory or to its parent directory. To disentangle this information, this PR introduces a new naming convention. - All entities receiving a "parent path" receive it in a unambiguous naming scheme. - For instance, `Experiment(storage_path)`, `TrialRunner(experiment_path)`, `Trial(experiment_path)` - Outputs are also normalized. E.g. `Trial.remote_experiment_path` and `Trial.local_experiment_path` - We keep existing arguments and properties for backwards compatibility Signed-off-by: Kai Fricke <[email protected]> Signed-off-by: Jack He <[email protected]>
…t#33410) Following ray-project#33370, this PR adds `Result.path` and `ResultGrid.experiment_path` to the respective classes. Further, we remove the public facing `ExperimentAnalysis.local_path` and `ExperimentAnalysis.remote_path` in favor of a unified `ExperimentAnalysis.experiment_path`. Signed-off-by: Kai Fricke <[email protected]> Signed-off-by: Jack He <[email protected]>
Why are these changes needed?
The naming of different path-related components in Ray Tune is currently messy. For instance,
Experiment.local_dir
refers to main results directory, e.g.~/ray_results
, whileTrial.local_dir
refers to the experiment directory, e.g.~/ray_results/experiment
. The same is true for properties, where it's unclear if it refers to the object's sub directory or to its parent directory.To disentangle this information, this PR introduces a new naming convention.
Experiment(storage_path)
,TrialRunner(experiment_path)
,Trial(experiment_path)
Trial.remote_experiment_path
andTrial.local_experiment_path
One thing to discuss is the
logdir
property, which exists for different classes, namely Trials, Trainables, and Loggers (and some internal metadata objects).In my opinion,
logdir
is unambiguous and okay. However, in the case ofTrial
it is the same information aslocal_path
. The options here are a) Keep both, b) Keep logdir, c) Switch to local_path. The current version goes for c, deprecatingTrial.logdir
, to avoid having two names for the same thing. I'm also happy to go with option a instead. For the sake of a uniform naming convention, I would like to avoid sticking only withlogdir
. Any thoughts here would be appreciated.Related issue number
Checks
git commit -s
) in this PR.scripts/format.sh
to lint the changes in this PR.