Ultralytics YOLO27: Join the waitlist.
Get Started

Ultralytics Explorer#

Community Note ⚠️

As of ultralytics>=8.3.12, Ultralytics Explorer has been removed. To use Explorer, install pip install ultralytics==8.3.11. Similar (and expanded) dataset exploration features are available in Ultralytics Platform.

Ultralytics Explorer dataset visualization GUI

Ultralytics Explorer is a tool for exploring CV datasets using semantic search, SQL queries, vector similarity search, and natural language prompts. It also provides a Python API for accessing the same functionality.



Watch: Ultralytics Explorer API | Semantic Search, SQL Queries & Ask AI Features

Installation of Optional Dependencies#

Explorer depends on external libraries for some of its functionality. These are automatically installed when you use Explorer. To manually install these dependencies, use the following command:

pip install "ultralytics[explorer]==8.3.11"
Tip

Explorer works on embedding/semantic search & SQL querying and is powered by the LanceDB serverless vector database. Unlike traditional in-memory DBs, it is persisted on disk without sacrificing performance, so you can scale locally to large datasets like COCO without running out of memory.

Explorer API#

This is a Python API for exploring your datasets. It also powers the GUI Explorer. You can use this to create your own exploratory notebooks or scripts to get insights into your datasets.

Explore the full capabilities and usage examples in the Explorer API documentation.

GUI Explorer Usage#

The GUI demo runs in your browser allowing you to create embeddings for your dataset and search for similar images, run SQL queries and perform semantic search. It can be run using the following command:

yolo explorer
Note

The Ask AI feature uses OpenAI, so you'll be prompted to set the API key for OpenAI when you first run the GUI. You can set it like this - yolo settings openai_api_key="..."

Ultralytics Explorer OpenAI Integration

FAQ#

  • Ultralytics Explorer is a tool for exploring computer vision (CV) datasets through semantic search, SQL queries, vector similarity search, and natural language. It provides both a GUI and a Python API. Because it stores embeddings on disk with LanceDB, it scales to large datasets without excessive memory use.

    Learn more about the Explorer API.

  • To manually install the optional dependencies needed for Ultralytics Explorer, you can use the following pip command:

    pip install "ultralytics[explorer]==8.3.11"

    These dependencies are required for semantic search and SQL querying. They include LanceDB, which keeps database operations efficient and scalable, even for large datasets like COCO.

  • Using the GUI version of Ultralytics Explorer is straightforward. After installing the necessary dependencies, you can launch the GUI with the following command:

    yolo explorer

    The GUI provides a user-friendly interface for creating dataset embeddings, searching for similar images, running SQL queries, and conducting semantic searches. The Ask AI feature, powered by OpenAI, also lets you query datasets using natural language.

    For storage and scalability information, check out our installation instructions.

  • The Ask AI feature in Ultralytics Explorer allows users to interact with their datasets using natural language queries. Powered by OpenAI, this feature lets you ask questions about your dataset without writing SQL queries or similar commands. To use this feature, you'll need to set your OpenAI API key the first time you run the GUI:

    yolo settings openai_api_key="YOUR_API_KEY"

    For more on this feature and how to integrate it, see our GUI Explorer Usage section.

  • Yes. Install the pinned release with pip install ultralytics==8.3.11 in a Colab notebook and follow the VOC Exploration Example to build embeddings and run searches on Google's cloud resources. Learn more in our Google Colab Guide.

Comments13

Ask a question, share your results, or help someone else.

  1. pooya-githubpooya-githubGitHub

    Hi,

    In colab code after running !pip install ultralytics[explorer] and running: from ultralytics import explorer i got the following error:

    ImportError Traceback (most recent call last) in <cell line: 1>() ----> 1 from ultralytics import explorer

    ImportError: cannot import name 'explorer' from 'ultralytics' (/usr/local/lib/python3.10/dist-packages/ultralytics/init.py)

    how can i fix it?

    1. Glenn JocherGlenn JocherUltralytics(edited)

      @pooya-github the Ultralytics Explorer feature has been removed as of ultralytics>=8.3.12. To access similar or enhanced functionality, we recommend using Ultralytics Platform, our platform for dataset exploration and management. Let me know if you have further questions!

      -2
  2. mkutumkutuGitHub

    how can I set this up with a custom dataset? Could you direct me to any resources. Thanks!

    1. Glenn JocherGlenn JocherUltralytics(edited)

      @mkutu hello!

      Setting up YOLO26 with a custom dataset can be straightforward! You'd primarily need a data YAML file to describe your dataset structure and then use it in your training command. Here’s a basic guide to get you started:

      1. Prepare your data: Organize your dataset into two folders (images and labels), with corresponding files named identically.

      2. Create a YAML file: This file should specify the paths to your training and validation data, the number of classes, and class names. Here's an example:

        # custom_data.yaml
        train: path/to/train/images
        val: path/to/val/images
        nc: number_of_classes
        names: ['class1', 'class2', 'class3']
      3. Start Training: Use the following command to train your model:

        yolo train data=custom_data.yaml model=yolo26n.yaml

      For exploring and managing your datasets efficiently, you might consider using the Ultralytics Explorer (removed in ultralytics>=8.3.12; use ultralytics==8.3.11 or Ultralytics Platform). This tool offers features like semantic search, SQL queries, and even AI-based querying to derive insights from your data.

      Hope this helps! If you have any more questions, feel free to ask.

      -2
    1. Glenn JocherGlenn JocherUltralytics(edited)

      Hey there! 🌟

      It sounds like you've got a pretty wide range of experience with various YOLO versions and even RT-DETR! For running AI using YOLO26 specifically, the process is smoothly integrated into the Ultralytics framework, much like the versions you've mentioned.

      To get started, make sure you have Ultralytics YOLO26 installed. If not, you can do so via pip:

      pip install ultralytics

      And then, to run your AI model with YOLO26, you can simply use:

      from ultralytics import YOLO
      
      # Load the model
      model = YOLO('yolo26n.pt')  # Here 'yolo26n.pt' is an example model. Replace it with your model path.
      
      # Run inference
      results = model('path_to_your_image_or_video')

      Or, if you prefer using the command line:

      yolo detect predict model=yolo26n.pt source=path_to_your_image_or_video

      Remember to replace 'yolo26n.pt' and 'path_to_your_image_or_video' with the actual paths to your YOLO26 model and the image or video you want to run inference on. 🚀

      Since you've used various versions before, the process should feel quite familiar. If there's more specific functionality from the Ultralytics Explorer that you're interested in integrating with YOLO26, such as semantic search or SQL queries, the installation command provided in the documentation will be your first step:

      pip install ultralytics[explorer]

      After that, you can launch the Ultralytics Explorer with:

      yolo explorer

      And dive into explore mode (Explorer requires ultralytics==8.3.11, as it was removed in ultralytics>=8.3.12)! For any further details or if you've got a unique use case in mind, feel free to share more specifics. Happy to help further. Happy coding! 🎉

      1
    2. Glenn JocherGlenn JocherUltralytics(edited)

      Note: Ultralytics Explorer was removed in ultralytics>=8.3.12; to use it, install ultralytics==8.3.11. Similar dataset exploration features are available in Ultralytics Platform.

      @BABAFAREEDDUDEKULA hey there! 😄

      Thanks for reaching out. If you're interested in diving into the Ultralytics Explorer to explore CV datasets with semantic search, SQL queries, vector similarity search, and more, it sounds like you're on the right track!

      To get started, ensure you've got the Explorer installed via:

      pip install ultralytics[explorer]

      Once installed, you can jump straight into using the GUI by typing:

      yolo explorer

      This launches the GUI in your browser, where you can experiment with creating embeddings, conducting image searches, and even using SQL or natural language queries!

      If you encounter any issues or have specific questions as you use the Ultralytics Explorer, feel free to drop them here. Happy exploring! 🌟

  3. AloshkaDAloshkaDGitHub

    The yolo explorer command will open the explorer on the local machine. How would I set it up to work on AWS while I'm connected with my local machine using ssh?

    1. Paula DerrengerPaula DerrengerUltralytics(edited)

      Note: Ultralytics Explorer was removed in ultralytics>=8.3.12; to use it, install ultralytics==8.3.11. Similar dataset exploration features are available in Ultralytics Platform.

      To set up the Ultralytics Explorer to work on an AWS instance while you're connected via SSH from your local machine, you can use port forwarding to access the Explorer's web interface. Here's a concise step-by-step guide:

      1. SSH into AWS with Port Forwarding: Use the -L option to forward a local port to a port on the AWS instance. Replace local_port with a port on your local machine (e.g., 8080), and aws_port with the port the Explorer runs on (usually 5000).

        ssh -i /path/to/your/key.pem -L local_port:localhost:aws_port user @AloshkaD
      2. Run Explorer on AWS: Once connected, start the Explorer on the AWS instance:

        yolo explorer
      3. Access Explorer Locally: Open a web browser on your local machine and navigate to localhost:local_port to access the Explorer interface.

      Remember to replace /path/to/your/key.pem with the path to your AWS key, user with your AWS username, and aws_instance_ip with your AWS instance's IP address. Also, ensure that the AWS security group allows inbound traffic on the aws_port.

      1
    2. Paula DerrengerPaula DerrengerUltralytics

      @AloshkaD you're welcome! I'm glad to hear that you were able to get it working with your config file. If you have any more questions or need further assistance in the future, don't hesitate to reach out. Happy exploring with Ultralytics Explorer! 🚀😊

      1