Fix ROSE As a Service merge conflicts#88
Conversation
1-Migrate the runtime system used by ROSE from asyncflow to RHAPSODY 2-Update tests to comply with the changes above 3-Update examples/tutorials and use cases to comply with the changes above
1-Reorder the exmples 2-Sort and isoalte the tutorials 3-Update README with changes
Migrate to RHAPSODY
1-Make the ParallelLearner API emits real time results per iteration like other learners 2-Update tests 3-Update examples
…learners
- Pass learner_configs[learner_id] directly to start(), removing the sequential_config intermediate variable
- Add factory comment explaining the closure-in-loop pitfall
- Fix print typo: ActiveLearner-{id}] → [ActiveLearner-{id}]
- Apply the same changes to reinforcement_learner
- Remove sequential_config and add factory comment in uq_active_learner
- Update unit test assertion to match corrected print format
…learner Parallel Learner API emits async results
1-Base Tracking capabilites 2-PNP approach for trackers 3-Native File based exp. tracker 4-MLFLOW exp. tracker 5-ClearML exp. tracker 6-Extend examples 7-Extend docs
1-Test suite for tracking 2-Examples for tracking 3-Update docs
1-Modify the approach so it aligns with ROSE working on OUTER loop of the learning and not the INNER Loop 2-Update Docs 3-Update Examples 4-Update Tests
1-Isolate the track parameters from the decor kwargs and uses log_params 2-Fix examples to be more realistic 3-Update tests 4-Test with MLFlow and ClearML UI
1-Fix 1 — ClearML series names: ClearMLTracker adds an optional learner_names parameter, improves series naming, and fixes a bug where learner_id=0 was incorrectly mapped to value. 2-Fix 2 — Non-numeric config logging: Add string config logging for MLflow (via tags) and ClearML (via connected hyperparameters) and move _TASK_NAMES to module level to avoid recreating it each iteration.
…cking Adding base, MLFlow, ClearML experiment tracking
1-Fix pre-commits 2-Sets the RAAS branch up to data with main new changes
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly refactors the core learner APIs, particularly for parallel execution, to provide a more consistent and real-time observability experience. It introduces a robust, pluggable tracking system with out-of-the-box integrations for MLflow and ClearML, enhancing experiment management and reproducibility. Concurrently, it updates key dependencies, modernizes Python version support, and integrates comprehensive code quality checks into the development workflow. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a major and beneficial refactoring of the core learner API, transitioning from a blocking teach/learn model to an asynchronous async for state in learner.start() iterator. This change enables real-time monitoring and dynamic control of learning workflows. The parallel learners have been refactored to use this new streaming pattern, improving consistency and code reuse. A new pluggable tracking system has been introduced, cleanly separating observability logic from the core learning loop, with new integrations for MLflow and ClearML. The PR also includes dropping Python 3.9 support, updating dependencies to use rhapsody-py, and adding pre-commit hooks to improve code quality, which has resulted in widespread reformatting. The documentation and examples have been thoroughly updated to reflect these significant improvements. Overall, these are excellent changes that greatly enhance the usability and architecture of the ROSE library.
RASS iteration
Update the raas branch with the core changes on the API level