rpx_benchmark.tasks.visual_grounding
Visual grounding: referring expression -> box.
1"""Visual grounding: referring expression -> box.""" 2 3from __future__ import annotations 4 5from dataclasses import dataclass 6 7from ..api import TaskType 8from ._pipeline import PipelineResult, TaskRunConfig, run_pipeline 9from .registry import TaskSpec, register_task 10 11PRIMARY_METRIC = "grounding_acc" 12 13 14@dataclass 15class VisualGroundingRunConfig(TaskRunConfig): 16 pass 17 18 19def run_visual_grounding(cfg: VisualGroundingRunConfig) -> PipelineResult: 20 return run_pipeline( 21 task=TaskType.VISUAL_GROUNDING, 22 primary_metric=PRIMARY_METRIC, 23 cfg=cfg, 24 ) 25 26 27TASK_SPEC = TaskSpec( 28 task=TaskType.VISUAL_GROUNDING, 29 display_name="Visual Grounding", 30 description="Predict the box for a referring expression on an RGB frame.", 31 primary_metric=PRIMARY_METRIC, 32 required_modalities=["rgb", "questionnaires"], 33 higher_is_better=True, 34 run=run_visual_grounding, 35) 36 37register_task(TASK_SPEC)
PRIMARY_METRIC =
'grounding_acc'
VisualGroundingRunConfig(model: 'Optional[BenchmarkableModel]' = None, split: 'Difficulty | str' =
VisualGroundingRunConfig( model: Optional[rpx_benchmark.adapters.BenchmarkableModel] = None, split: rpx_benchmark.api.Difficulty | str = <Difficulty.HARD: 'hard'>, repo_id: Optional[str] = None, cache_dir: Optional[str] = None, revision: Optional[str] = '51432e5d48895bbafb490ae7c5e34e0f6b7da7d6', batch_size: int = 1, require_cuda: bool = False, skip_flops: bool = False, max_samples: Optional[int] = None, manifest_path: Optional[str] = None, device: str = 'cuda', output_dir: Optional[str] = None, progress: Optional[Callable[[int, Optional[int], str], NoneType]] = None, metric_suite: Optional[rpx_benchmark.metrics.MetricSuite] = None, upload_to_box: bool = False, box_folder_id: Optional[str] = None)
def
run_visual_grounding( cfg: VisualGroundingRunConfig) -> Tuple[rpx_benchmark.metrics.registry.BenchmarkResult, rpx_benchmark.deployment.DeploymentReadinessReport, Dict[str, pathlib.Path]]:
TASK_SPEC =
TaskSpec(task=<TaskType.VISUAL_GROUNDING: 'visual_grounding'>, display_name='Visual Grounding', primary_metric='grounding_acc', required_modalities=['rgb', 'questionnaires'], run=<function run_visual_grounding>, higher_is_better=True, description='Predict the box for a referring expression on an RGB frame.', temporal_stability_fn=None, geometric_coherence_fn=None)