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

Implement ChainRunner #1869

Closed

Conversation

bernardbeckerman
Copy link
Contributor

Summary:
Implements ChainRunner, which takes List[ChainRunnerStage] and runs the stages in sequence for each trial.

High-level logic is as follows:

  • ChainRunner.run kicks off the first ChainRunnerStage in the list and records that stage's name in the trial's run_metadata.
  • ChainRunner.poll_trial_status polls the current stage's runner's status. If this is TrialStatus.COMPLETED and there are more stages left in the chain, ChainRunner kicks off the next stage in the chain, updating the run_metadata in the process.

In the future this should be implemented such that this state management happens in the calling context (e.g., Scheduler, AxClient).

Differential Revision: D47484883

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Sep 24, 2023
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D47484883

bernardbeckerman added a commit to bernardbeckerman/Ax that referenced this pull request Sep 24, 2023
Summary:

Implements ChainRunner, which takes List[ChainRunnerStage] and runs the stages in sequence for each trial.

High-level logic is as follows:
* `ChainRunner.run` kicks off the first ChainRunnerStage in the list and records that stage's name in the trial's run_metadata.
* `ChainRunner.poll_trial_status` polls the current stage's runner's status. If this is `TrialStatus.COMPLETED` and there are more stages left in the chain, ChainRunner kicks off the next stage in the chain, updating the run_metadata in the process.

In the future this should be implemented such that this state management happens in the calling context (e.g., Scheduler, AxClient).

Differential Revision: D47484883
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D47484883

@codecov-commenter
Copy link

codecov-commenter commented Sep 24, 2023

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (dc40a80) 94.61% compared to head (3e71089) 94.61%.

❗ Current head 3e71089 differs from pull request most recent head 48fb7ea. Consider uploading reports for the commit 48fb7ea to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1869      +/-   ##
==========================================
- Coverage   94.61%   94.61%   -0.01%     
==========================================
  Files         459      459              
  Lines       43637    43639       +2     
==========================================
+ Hits        41287    41288       +1     
- Misses       2350     2351       +1     
Files Coverage Δ
ax/runners/synthetic.py 93.75% <66.66%> (-6.25%) ⬇️

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

bernardbeckerman added a commit to bernardbeckerman/Ax that referenced this pull request Sep 25, 2023
Summary:

Implements ChainRunner, which takes List[ChainRunnerStage] and runs the stages in sequence for each trial.

High-level logic is as follows:
* `ChainRunner.run` kicks off the first ChainRunnerStage in the list and records that stage's name in the trial's run_metadata.
* `ChainRunner.poll_trial_status` polls the current stage's runner's status. If this is `TrialStatus.COMPLETED` and there are more stages left in the chain, ChainRunner kicks off the next stage in the chain, updating the run_metadata in the process.

In the future this should be implemented such that this state management happens in the calling context (e.g., Scheduler, AxClient).

Differential Revision: D47484883
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D47484883

bernardbeckerman added a commit to bernardbeckerman/Ax that referenced this pull request Sep 25, 2023
Summary:

Implements ChainRunner, which takes List[ChainRunnerStage] and runs the stages in sequence for each trial.

High-level logic is as follows:
* `ChainRunner.run` kicks off the first ChainRunnerStage in the list and records that stage's name in the trial's run_metadata.
* `ChainRunner.poll_trial_status` polls the current stage's runner's status. If this is `TrialStatus.COMPLETED` and there are more stages left in the chain, ChainRunner kicks off the next stage in the chain, updating the run_metadata in the process.

In the future this should be implemented such that this state management happens in the calling context (e.g., Scheduler, AxClient).

Differential Revision: D47484883
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D47484883

bernardbeckerman added a commit to bernardbeckerman/Ax that referenced this pull request Oct 2, 2023
Summary:

Implements ChainRunner, which takes List[ChainRunnerStage] and runs the stages in sequence for each trial.

High-level logic is as follows:
* `ChainRunner.run` kicks off the first ChainRunnerStage in the list and records that stage's name in the trial's run_metadata.
* `ChainRunner.poll_trial_status` polls the current stage's runner's status. If this is `TrialStatus.COMPLETED` and there are more stages left in the chain, ChainRunner kicks off the next stage in the chain, updating the run_metadata in the process.

In the future this should be implemented such that this state management happens in the calling context (e.g., Scheduler, AxClient).

Differential Revision: D47484883
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D47484883

bernardbeckerman added a commit to bernardbeckerman/Ax that referenced this pull request Oct 4, 2023
Summary:

Implements ChainRunner, which takes List[ChainRunnerStage] and runs the stages in sequence for each trial.

High-level logic is as follows:
* `ChainRunner.run` kicks off the first ChainRunnerStage in the list and records that stage's name in the trial's run_metadata.
* `ChainRunner.poll_trial_status` polls the current stage's runner's status. If this is `TrialStatus.COMPLETED` and there are more stages left in the chain, ChainRunner kicks off the next stage in the chain, updating the run_metadata in the process.

In the future this should be implemented such that this state management happens in the calling context (e.g., Scheduler, AxClient).

Differential Revision: D47484883
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D47484883

bernardbeckerman added a commit to bernardbeckerman/Ax that referenced this pull request Oct 30, 2023
Summary:

Implements ChainRunner, which takes List[ChainRunnerStage] and runs the stages in sequence for each trial.

High-level logic is as follows:
* `ChainRunner.run` kicks off the first ChainRunnerStage in the list and records that stage's name in the trial's run_metadata.
* `ChainRunner.poll_trial_status` polls the current stage's runner's status. If this is `TrialStatus.COMPLETED` and there are more stages left in the chain, ChainRunner kicks off the next stage in the chain, updating the run_metadata in the process.

In the future this should be implemented such that this state management happens in the calling context (e.g., Scheduler, AxClient).

Differential Revision: D47484883
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D47484883

bernardbeckerman added a commit to bernardbeckerman/Ax that referenced this pull request Oct 30, 2023
Summary:

Implements ChainRunner, which takes List[ChainRunnerStage] and runs the stages in sequence for each trial.

High-level logic is as follows:
* `ChainRunner.run` kicks off the first ChainRunnerStage in the list and records that stage's name in the trial's run_metadata.
* `ChainRunner.poll_trial_status` polls the current stage's runner's status. If this is `TrialStatus.COMPLETED` and there are more stages left in the chain, ChainRunner kicks off the next stage in the chain, updating the run_metadata in the process.

In the future this should be implemented such that this state management happens in the calling context (e.g., Scheduler, AxClient).

Reviewed By: lena-kashtelyan

Differential Revision: D47484883
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D47484883

bernardbeckerman added a commit to bernardbeckerman/Ax that referenced this pull request Oct 30, 2023
Summary:

Implements ChainRunner, which takes List[ChainRunnerStage] and runs the stages in sequence for each trial.

High-level logic is as follows:
* `ChainRunner.run` kicks off the first ChainRunnerStage in the list and records that stage's name in the trial's run_metadata.
* `ChainRunner.poll_trial_status` polls the current stage's runner's status. If this is `TrialStatus.COMPLETED` and there are more stages left in the chain, ChainRunner kicks off the next stage in the chain, updating the run_metadata in the process.

In the future this should be implemented such that this state management happens in the calling context (e.g., Scheduler, AxClient).

Reviewed By: lena-kashtelyan

Differential Revision: D47484883
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D47484883

Summary:

Implements ChainRunner, which takes List[ChainRunnerStage] and runs the stages in sequence for each trial.

High-level logic is as follows:
* `ChainRunner.run` kicks off the first ChainRunnerStage in the list and records that stage's name in the trial's run_metadata.
* `ChainRunner.poll_trial_status` polls the current stage's runner's status. If this is `TrialStatus.COMPLETED` and there are more stages left in the chain, ChainRunner kicks off the next stage in the chain, updating the run_metadata in the process.

In the future this should be implemented such that this state management happens in the calling context (e.g., Scheduler, AxClient).

Reviewed By: lena-kashtelyan

Differential Revision: D47484883
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D47484883

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 2e71d92.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants