Skip to content

[Question] What is the recommended way to understand and debug the BOAT data_hyper_cleaning example? #87

Description

@Jonas-Goodman

Required prerequisites

Question

[Question] What is the recommended way to understand and debug the BOAT data_hyper_cleaning example?

Environment

OS: Windows
Python: 3.11
torch: 2.1.2
boat-torch: local course material version

What I'm trying to do
I am reading and running the examples/data_hyper_cleaning/test_data_hyper_cleaning.py example to understand the BOAT workflow for bilevel optimization. As a beginner, I can follow the high-level pipeline, but I still find it difficult to connect the configuration items and the actual optimization behavior during execution.

Questions

  1. What is the best order for beginners to understand this example: config first, optimization operators first, or the data flow in run_iter first?
  2. Is there a recommended way to inspect the effect of each BOAT operator on the upper-level and lower-level updates?
  3. Are there any lightweight debugging tips for checking whether the current configuration is valid before running the full optimization process?

What I observed

The example is useful, but the amount of configuration and operator-related logic is still a bit hard to map to the actual execution path.
For new users, a short debugging guide or execution walkthrough would make the example easier to learn from.

Suggestion
It would be very helpful to add a beginner-oriented note for this example, such as:

the recommended reading order,
the meaning of each important config field,
and a minimal checklist for debugging the optimization flow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions