feat: add OneIG benchmark with subset support#508
Open
davidberenstein1957 wants to merge 10 commits intomainfrom
Open
feat: add OneIG benchmark with subset support#508davidberenstein1957 wants to merge 10 commits intomainfrom
davidberenstein1957 wants to merge 10 commits intomainfrom
Conversation
…mpts benchmark - Introduced `from_benchmark` method in `PrunaDataModule` to create instances from benchmark classes. - Added `Benchmark`, `BenchmarkEntry`, and `BenchmarkRegistry` classes for managing benchmarks. - Implemented `PartiPrompts` benchmark for text-to-image generation with various categories and challenges. - Created utility function `benchmark_to_datasets` to convert benchmarks into datasets compatible with `PrunaDataModule`. - Added integration tests for benchmark functionality and data module interactions.
…filtering - Remove heavy benchmark abstraction (Benchmark class, registry, adapter, 24 subclasses) - Extend setup_parti_prompts_dataset with category and num_samples params - Add BenchmarkInfo dataclass for metadata (metrics, description, subsets) - Switch PartiPrompts to prompt_with_auxiliaries_collate to preserve Category/Challenge - Merge tests into test_datamodule.py Reduces 964 lines to 128 lines (87% reduction) Co-authored-by: Cursor <cursoragent@cursor.com>
Document all dataclass fields per Numpydoc PR01 with summary on new line per GL01. Co-authored-by: Cursor <cursoragent@cursor.com>
- Add list_benchmarks() to filter benchmarks by task type - Add get_benchmark_info() to retrieve benchmark metadata - Add COCO, ImageNet, WikiText to benchmark_info registry Co-authored-by: Cursor <cursoragent@cursor.com>
Update benchmark metrics to match registered names: - clip -> clip_score - clip_iqa -> clipiqa - Remove unimplemented top5_accuracy Co-authored-by: Cursor <cursoragent@cursor.com>
- Add setup_oneig_text_rendering_dataset in datasets/prompt.py - Register OneIGTextRendering in base_datasets - Add BenchmarkInfo entry with clip_score, clipiqa metrics - Auxiliaries include text_content for OCR evaluation - Add test for loading and auxiliaries Co-authored-by: Cursor <cursoragent@cursor.com>
- Add setup_oneig_alignment_dataset in datasets/prompt.py - Support category filter (Anime_Stylization, Portrait, General_Object) - Register OneIGAlignment in base_datasets - Add BenchmarkInfo entry with accuracy metric, task_type text_generation - Auxiliaries include questions, dependencies, category - Add test for loading with category filter Co-authored-by: Cursor <cursoragent@cursor.com>
Combine text rendering and alignment into single OneIG benchmark: - Add setup_oneig_dataset with subset parameter - Subsets: text_rendering, anime_alignment, portrait_alignment, object_alignment - Loading without subset returns all data combined - Each record includes subset field for filtering - Update tests to use subset parameter Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 7 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
Comment @cursor review or bugbot run to trigger another review on this PR
- Add subset parameter support to PrunaDataModule.from_string() - Fix task_type from text_generation to text_to_image - Unify schema between text_rendering and alignment datasets - Remove unused imports in test file Co-authored-by: Cursor <cursoragent@cursor.com>
Prevents IndexError when subset filtering returns no samples Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #515
Summary
Usage
Test plan
PrunaDataModule.from_string("OneIG")loads all subsets