Skip to content

Gated multi objective#27

Merged
Joseph-Q-Zales merged 6 commits into
mainfrom
gated-multi-objective
May 29, 2026
Merged

Gated multi objective#27
Joseph-Q-Zales merged 6 commits into
mainfrom
gated-multi-objective

Conversation

@Joseph-Q-Zales

Copy link
Copy Markdown
Collaborator
  • add gated multi-objective NAS feasibility constraints
  • persist optuna constraints and validate resumes
  • count feasible trials in NAS retry loops
  • compute static memory-traffic proxy metrics
  • add memory proxy analysis script and config
  • split STM32 defaults from the generic config
  • log feasibility and memory fields per trial
  • expand tests for gating, pruning, and finalization

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 28ca65540e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/nas_model_client.py
Comment on lines +2214 to +2218
pareto_trials = [
trial
for trial in study.best_trials
if (not self._feasibility_enabled()) or bool(trial.user_attrs.get("feasible"))
]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Compute the Pareto front after filtering infeasible trials

When nas.feasibility.train_if_infeasible: true, infeasible trials still train and can have real objective values. Filtering study.best_trials here drops infeasible Pareto points but does not recompute dominance on the remaining feasible trials, so any feasible trial dominated only by an infeasible trial is omitted from the saved Pareto CSV (and the front can even be empty despite feasible completed trials). Build the Pareto set from the feasible completed subset instead of filtering Optuna's already-computed front.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is a small edge case that wouldn't ever occur in normal use of the system

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@Joseph-Q-Zales Joseph-Q-Zales merged commit fd0119c into main May 29, 2026
0 of 2 checks passed
@Joseph-Q-Zales Joseph-Q-Zales deleted the gated-multi-objective branch May 29, 2026 20:11
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.

2 participants