{"library":"mmdet","title":"MMDetection: OpenMMLab Detection Toolbox and Benchmark","description":"MMDetection is an open-source object detection toolbox based on PyTorch, part of the OpenMMLab project. It provides a comprehensive collection of detection, instance segmentation, and object grounding algorithms, along with a benchmark for various computer vision tasks. Currently at version 3.3.0, it features frequent updates, including state-of-the-art models like Grounding DINO and various Transformer-based detectors, and integrates closely with other OpenMMLab libraries like MMEngine and MMCV.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install openmim\nmim install 'mmcv>=2.0.0' # or 'mmcv-lite>=2.0.0'\nmim install mmdet","pip install 'torch>=1.8.0,<2.3.0' 'torchvision>=0.9.0,<0.16.0' # Adjust for your CUDA version\npip install -U openmim\nmim install 'mmengine>=0.7.1'\nmim install 'mmcv>=2.0.0' # or 'mmcv-lite>=2.0.0'\n# Clone and install mmdet from source for editable mode or latest features\ngit clone https://github.com/open-mmlab/mmdetection.git\ncd mmdetection\npip install -v -e ."],"cli":null},"imports":["from mmdet.apis import DetInferencer","from mmdet.models import BaseDetector"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport torch\nfrom mmdet.apis import DetInferencer\nimport mmcv # For image loading if not using DetInferencer's internal loading\n\n# Ensure an image file exists for the demo\n# For simplicity, create a dummy image or download one\nimg_path = 'demo_image.jpg'\nif not os.path.exists(img_path):\n    # Using a common utility to create a simple dummy image\n    from PIL import Image\n    img = Image.new('RGB', (640, 480), color = 'red')\n    img.save(img_path)\n    print(f\"Created dummy image: {img_path}\")\n\n# Initialize the DetInferencer with a pre-trained model.\n# The model weights will be automatically downloaded.\n# Using device='cpu' for broader compatibility.\n# rtmdet_tiny is a lightweight model for quick demo.\ninferencer = DetInferencer(model='rtmdet_tiny_8xb32-300e_coco', device='cpu')\n\n# Perform inference on the image\n# The result contains detections, bounding boxes, labels, and scores.\nresult = inferencer(img_path, show=False) # show=False to prevent immediate display\n\n# Print detected objects (example for the first image if batched)\nif isinstance(result['predictions'], list) and len(result['predictions']) > 0:\n    first_image_predictions = result['predictions'][0]\n    print(f\"Detected objects in {img_path}:\")\n    for box, label, score in zip(first_image_predictions['bboxes'], first_image_predictions['labels'], first_image_predictions['scores']):\n        print(f\"  Label: {label}, Score: {score:.2f}, BBox: {list(map(int, box))}\")\n\n# To save the visualization, specify an output directory\noutput_dir = 'mmdet_output'\nos.makedirs(output_dir, exist_ok=True)\ninferencer(img_path, out_dir=output_dir)\nprint(f\"Inference results saved to {output_dir}\")\n\n# Clean up the dummy image and output directory (optional)\nos.remove(img_path)\n# For a full cleanup, you might also remove output_dir recursively\n# import shutil; shutil.rmtree(output_dir)\n","lang":"python","description":"This quickstart demonstrates how to perform inference using MMDetection 3.x's `DetInferencer` class. It downloads a pre-trained `rtmdet_tiny` model, runs inference on a dummy image, prints the detected objects, and saves the visualization to a specified output directory.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":null,"pypi_latest":"3.3.0","is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"'torch>=1.8.0,<2.3.0'","exit_code":1,"wheel_type":null,"failure_reason":"no_wheel","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"openmim","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"'torch>=1.8.0,<2.3.0'","exit_code":1,"wheel_type":null,"failure_reason":"timeout","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"openmim","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":16.2,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"'torch>=1.8.0,<2.3.0'","exit_code":1,"wheel_type":null,"failure_reason":"no_wheel","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"openmim","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"'torch>=1.8.0,<2.3.0'","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":96.2,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"openmim","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":15.8,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"'torch>=1.8.0,<2.3.0'","exit_code":1,"wheel_type":null,"failure_reason":"no_wheel","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"openmim","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"'torch>=1.8.0,<2.3.0'","exit_code":1,"wheel_type":null,"failure_reason":"no_wheel","import_side_effects":null,"install_time_s":20.6,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"openmim","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":17.2,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"'torch>=1.8.0,<2.3.0'","exit_code":1,"wheel_type":null,"failure_reason":"no_wheel","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"openmim","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"'torch>=1.8.0,<2.3.0'","exit_code":1,"wheel_type":null,"failure_reason":"no_wheel","import_side_effects":null,"install_time_s":18.4,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"openmim","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":16.4,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"'torch>=1.8.0,<2.3.0'","exit_code":1,"wheel_type":null,"failure_reason":"no_wheel","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"openmim","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"'torch>=1.8.0,<2.3.0'","exit_code":1,"wheel_type":null,"failure_reason":"timeout","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"openmim","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":18.9,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}