## Install

Install YOLOv8 via the `ultralytics` pip package for the latest stable release or by cloning
the [https://github.com/ultralytics/ultralytics](https://github.com/ultralytics/ultralytics) repository for the most
up-to-date version.

!!! example "Pip install method (recommended)"

    ```bash
    pip install ultralytics
    ```

!!! example "Git clone method (for development)"

    ```bash
    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics
    pip install -e '.[dev]'
    ```
    See contributing section to know more about contributing to the project

## Use with CLI

The YOLO command line interface (CLI) lets you simply train, validate or infer models on various tasks and versions.
CLI requires no customization or code. You can simply run all tasks from the terminal with the `yolo` command.

!!! example

    === "Syntax"
        ```bash
        yolo task=detect    mode=train    model=yolov8n.yaml      args...
                  classify       predict        yolov8n-cls.yaml  args...
                  segment        val            yolov8n-seg.yaml  args...
                                 export         yolov8n.pt        format=onnx  args...
        ```

    === "Example training"
        ```bash
        yolo detect train model=yolov8n.pt data=coco128.yaml device=0
        ```
    === "Example Multi-GPU training"
        ```bash
        yolo detect train model=yolov8n.pt data=coco128.yaml device=\'0,1,2,3\'
        ```

[CLI Guide](usage/cli.md){ .md-button .md-button--primary}

## Use with Python

Python usage allows users to easily use YOLOv8 inside their Python projects. It provides functions for loading and
running the model, as well as for processing the model's output. The interface is designed to be easy to use, so that
users can quickly implement object detection in their projects.

Overall, the Python interface is a useful tool for anyone looking to incorporate object detection, segmentation or
classification into their Python projects using YOLOv8.

!!! example

    ```python
    from ultralytics import YOLO

    # Load a model
    model = YOLO("yolov8n.yaml")  # build a new model from scratch
    model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)
    
    # Use the model
    results = model.train(data="coco128.yaml", epochs=3)  # train the model
    results = model.val()  # evaluate model performance on the validation set
    results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
    success = model.export(format="onnx")  # export the model to ONNX format
    ```

[Python Guide](usage/python.md){.md-button .md-button--primary}