diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 02e4fce..0af9318 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -12,6 +12,64 @@ on:
     - cron: '0 0 * * *'  # runs at 00:00 UTC every day
 
 jobs:
+  Benchmarks:
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ubuntu-latest]
+        python-version: ['3.10']  # requires python<=3.9
+        model: [yolov8n]
+    steps:
+      - uses: actions/checkout@v3
+      - uses: actions/setup-python@v4
+        with:
+          python-version: ${{ matrix.python-version }}
+      #- name: Cache pip
+      #  uses: actions/cache@v3
+      #  with:
+      #    path: ~/.cache/pip
+      #    key: ${{ runner.os }}-Benchmarks-${{ hashFiles('requirements.txt') }}
+      #    restore-keys: ${{ runner.os }}-Benchmarks-
+      - name: Install requirements
+        run: |
+          python -m pip install --upgrade pip wheel
+          pip install -e '.[export]' --extra-index-url https://download.pytorch.org/whl/cpu
+      - name: Check environment
+        run: |
+          echo "RUNNER_OS is ${{ runner.os }}"
+          echo "GITHUB_EVENT_NAME is ${{ github.event_name }}"
+          echo "GITHUB_WORKFLOW is ${{ github.workflow }}"
+          echo "GITHUB_ACTOR is ${{ github.actor }}"
+          echo "GITHUB_REPOSITORY is ${{ github.repository }}"
+          echo "GITHUB_REPOSITORY_OWNER is ${{ github.repository_owner }}"
+          python --version
+          pip --version
+          pip list
+      - name: TF Lite export
+        run: |
+          yolo export model=${{ matrix.model }}.pt format=tflite
+          yolo task=detect mode=predict model=yolov8n_saved_model/yolov8n_float16.tflite imgsz=640
+      - name: TF *.pb export
+        run: |
+          yolo export model=${{ matrix.model }}.pt format=pb
+          yolo task=detect mode=predict model=yolov8n.pb imgsz=640
+      - name: TF Lite Edge TPU export
+        run: |
+          yolo export model=${{ matrix.model }}.pt format=edgetpu
+      - name: TF.js export
+        run: |
+          yolo export model=${{ matrix.model }}.pt format=tfjs
+      - name: Benchmark DetectionModel
+        run: |
+          # yolo benchmark model=${{ matrix.model }}.pt imgsz=320 min_metric=0.29
+      - name: Benchmark SegmentationModel
+        run: |
+          # yolo benchmark model=${{ matrix.model }}-seg.pt imgsz=320 min_metric=0.29
+      - name: Benchmark ClassificationModel
+        run: |
+          # yolo benchmark model=${{ matrix.model }}-cls.pt imgsz=224 min_metric=0.29
+
   Tests:
     timeout-minutes: 60
     runs-on: ${{ matrix.os }}
@@ -49,15 +107,13 @@ jobs:
         run: |
           python -m pip install --upgrade pip wheel
           if [ "${{ matrix.torch }}" == "1.8.0" ]; then
-              pip install -e . torch==1.8.0 torchvision==0.9.0 onnx openvino-dev>=2022.3 pytest --extra-index-url https://download.pytorch.org/whl/cpu
+              pip install -e '.[export]' torch==1.8.0 torchvision==0.9.0 pytest --extra-index-url https://download.pytorch.org/whl/cpu
           else
-              pip install -e . onnx openvino-dev>=2022.3 pytest --extra-index-url https://download.pytorch.org/whl/cpu
+              pip install -e '.[export]' pytest --extra-index-url https://download.pytorch.org/whl/cpu
           fi
-          # pip install ultralytics (production)
         shell: bash  # for Windows compatibility
       - name: Check environment
         run: |
-          # python -c "import utils; utils.notebook_init()"
           echo "RUNNER_OS is ${{ runner.os }}"
           echo "GITHUB_EVENT_NAME is ${{ github.event_name }}"
           echo "GITHUB_WORKFLOW is ${{ github.workflow }}"
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 01f13c4..2ab431d 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -31,11 +31,11 @@ repos:
         name: Upgrade code
         args: [--py37-plus]
 
-  # - repo: https://github.com/PyCQA/isort
-  #   rev: 5.11.4
-  #   hooks:
-  #     - id: isort
-  #       name: Sort imports
+  - repo: https://github.com/PyCQA/isort
+    rev: 5.12.0
+    hooks:
+      - id: isort
+        name: Sort imports
 
   - repo: https://github.com/google/yapf
     rev: v0.32.0
diff --git a/README.md b/README.md
index 23a4d4e..3cddc03 100644
--- a/README.md
+++ b/README.md
@@ -108,6 +108,12 @@ success = model.export(format="onnx")  # export the model to ONNX format
 Ultralytics [release](https://github.com/ultralytics/assets/releases). See
 YOLOv8 [Python Docs](https://docs.ultralytics.com/python) for more examples.
 
+#### Model Architectures
+
+⭐ **NEW** YOLOv5u anchor free models are now available.
+
+All supported model architectures can be found in the [Models](./ultralytics/models/) section.
+
 #### Known Issues / TODOs
 
 We are still working on several parts of YOLOv8! We aim to have these completed soon to bring the YOLOv8 feature set up
@@ -152,13 +158,13 @@ See [Detection Docs](https://docs.ultralytics.com/tasks/detection/) for usage ex
 
 See [Segmentation Docs](https://docs.ultralytics.com/tasks/segmentation/) for usage examples with these models.
 
-| Model                                                                                    | size
(pixels) | mAPbox
50-95 | mAPmask
50-95 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) |
-| ---------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
-| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640                   | 36.7                 | 30.5                  | 96.1                           | 1.21                                | 3.4                | 12.6              |
-| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640                   | 44.6                 | 36.8                  | 155.7                          | 1.47                                | 11.8               | 42.6              |
-| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640                   | 49.9                 | 40.8                  | 317.0                          | 2.18                                | 27.3               | 110.2             |
-| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640                   | 52.3                 | 42.6                  | 572.4                          | 2.79                                | 46.0               | 220.5             |
-| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640                   | 53.4                 | 43.4                  | 712.1                          | 4.02                                | 71.8               | 344.1             |
+| Model                                                                                        | size
(pixels) | mAPbox
50-95 | mAPmask
50-95 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) |
+| -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
+| [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640                   | 36.7                 | 30.5                  | 96.1                           | 1.21                                | 3.4                | 12.6              |
+| [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640                   | 44.6                 | 36.8                  | 155.7                          | 1.47                                | 11.8               | 42.6              |
+| [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640                   | 49.9                 | 40.8                  | 317.0                          | 2.18                                | 27.3               | 110.2             |
+| [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640                   | 52.3                 | 42.6                  | 572.4                          | 2.79                                | 46.0               | 220.5             |
+| [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640                   | 53.4                 | 43.4                  | 712.1                          | 4.02                                | 71.8               | 344.1             |
 
 - **mAPval** values are for single-model single-scale on [COCO val2017](http://cocodataset.org) dataset.
   
Reproduce by `yolo val segment data=coco.yaml device=0`
@@ -172,13 +178,13 @@ See [Segmentation Docs](https://docs.ultralytics.com/tasks/segmentation/) for us
 
 See [Classification Docs](https://docs.ultralytics.com/tasks/classification/) for usage examples with these models.
 
-| Model                                                                                    | size
(pixels) | acc
top1 | acc
top5 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) at 640 |
-| ---------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | ------------------------------ | ----------------------------------- | ------------------ | ------------------------ |
-| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224                   | 66.6             | 87.0             | 12.9                           | 0.31                                | 2.7                | 4.3                      |
-| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224                   | 72.3             | 91.1             | 23.4                           | 0.35                                | 6.4                | 13.5                     |
-| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224                   | 76.4             | 93.2             | 85.4                           | 0.62                                | 17.0               | 42.7                     |
-| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224                   | 78.0             | 94.1             | 163.0                          | 0.87                                | 37.5               | 99.7                     |
-| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224                   | 78.4             | 94.3             | 232.0                          | 1.01                                | 57.4               | 154.8                    |
+| Model                                                                                        | size
(pixels) | acc
top1 | acc
top5 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) at 640 |
+| -------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | ------------------------------ | ----------------------------------- | ------------------ | ------------------------ |
+| [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224                   | 66.6             | 87.0             | 12.9                           | 0.31                                | 2.7                | 4.3                      |
+| [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224                   | 72.3             | 91.1             | 23.4                           | 0.35                                | 6.4                | 13.5                     |
+| [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224                   | 76.4             | 93.2             | 85.4                           | 0.62                                | 17.0               | 42.7                     |
+| [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224                   | 78.0             | 94.1             | 163.0                          | 0.87                                | 37.5               | 99.7                     |
+| [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224                   | 78.4             | 94.3             | 232.0                          | 1.01                                | 57.4               | 154.8                    |
 
 - **acc** values are model accuracies on the [ImageNet](https://www.image-net.org/) dataset validation set.
   
Reproduce by `yolo val classify data=path/to/ImageNet device=0`
diff --git a/README.zh-CN.md b/README.zh-CN.md
index 805fb39..e9ec585 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -132,13 +132,13 @@ success = model.export(format="onnx")  # 将模型导出为 ONNX 格式
 
 实例分割
 
-| 模型                                                                                       | 尺寸
(像素) | mAPbox
50-95 | mAPmask
50-95 | 推理速度
CPU ONNX
(ms) | 推理速度
A100 TensorRT
(ms) | 参数量
(M) | FLOPs
(B) |
-| ---------------------------------------------------------------------------------------- | --------------- | -------------------- | --------------------- | ----------------------------- | ---------------------------------- | --------------- | ----------------- |
-| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640             | 36.7                 | 30.5                  | 96.1                          | 1.21                               | 3.4             | 12.6              |
-| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640             | 44.6                 | 36.8                  | 155.7                         | 1.47                               | 11.8            | 42.6              |
-| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640             | 49.9                 | 40.8                  | 317.0                         | 2.18                               | 27.3            | 110.2             |
-| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640             | 52.3                 | 42.6                  | 572.4                         | 2.79                               | 46.0            | 220.5             |
-| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640             | 53.4                 | 43.4                  | 712.1                         | 4.02                               | 71.8            | 344.1             |
+| 模型                                                                                           | 尺寸
(像素) | mAPbox
50-95 | mAPmask
50-95 | 推理速度
CPU ONNX
(ms) | 推理速度
A100 TensorRT
(ms) | 参数量
(M) | FLOPs
(B) |
+| -------------------------------------------------------------------------------------------- | --------------- | -------------------- | --------------------- | ----------------------------- | ---------------------------------- | --------------- | ----------------- |
+| [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640             | 36.7                 | 30.5                  | 96.1                          | 1.21                               | 3.4             | 12.6              |
+| [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640             | 44.6                 | 36.8                  | 155.7                         | 1.47                               | 11.8            | 42.6              |
+| [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640             | 49.9                 | 40.8                  | 317.0                         | 2.18                               | 27.3            | 110.2             |
+| [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640             | 52.3                 | 42.6                  | 572.4                         | 2.79                               | 46.0            | 220.5             |
+| [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640             | 53.4                 | 43.4                  | 712.1                         | 4.02                               | 71.8            | 344.1             |
 
 - **mAPval**  结果都在 [COCO val2017](http://cocodataset.org) 数据集上,使用单模型单尺度测试得到。
   
复现命令 `yolo val segment data=coco.yaml device=0`
@@ -149,13 +149,13 @@ success = model.export(format="onnx")  # 将模型导出为 ONNX 格式
 
 分类
 
-| 模型                                                                                       | 尺寸
(像素) | acc
top1 | acc
top5 | 推理速度
CPU ONNX
(ms) | 推理速度
A100 TensorRT
(ms) | 参数量
(M) | FLOPs
(B) at 640 |
-| ---------------------------------------------------------------------------------------- | --------------- | ---------------- | ---------------- | ----------------------------- | ---------------------------------- | --------------- | ------------------------ |
-| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224             | 66.6             | 87.0             | 12.9                          | 0.31                               | 2.7             | 4.3                      |
-| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224             | 72.3             | 91.1             | 23.4                          | 0.35                               | 6.4             | 13.5                     |
-| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224             | 76.4             | 93.2             | 85.4                          | 0.62                               | 17.0            | 42.7                     |
-| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224             | 78.0             | 94.1             | 163.0                         | 0.87                               | 37.5            | 99.7                     |
-| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224             | 78.4             | 94.3             | 232.0                         | 1.01                               | 57.4            | 154.8                    |
+| 模型                                                                                           | 尺寸
(像素) | acc
top1 | acc
top5 | 推理速度
CPU ONNX
(ms) | 推理速度
A100 TensorRT
(ms) | 参数量
(M) | FLOPs
(B) at 640 |
+| -------------------------------------------------------------------------------------------- | --------------- | ---------------- | ---------------- | ----------------------------- | ---------------------------------- | --------------- | ------------------------ |
+| [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224             | 66.6             | 87.0             | 12.9                          | 0.31                               | 2.7             | 4.3                      |
+| [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224             | 72.3             | 91.1             | 23.4                          | 0.35                               | 6.4             | 13.5                     |
+| [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224             | 76.4             | 93.2             | 85.4                          | 0.62                               | 17.0            | 42.7                     |
+| [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224             | 78.0             | 94.1             | 163.0                         | 0.87                               | 37.5            | 99.7                     |
+| [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224             | 78.4             | 94.3             | 232.0                         | 1.01                               | 57.4            | 154.8                    |
 
 - **acc** 都在 [ImageNet](https://www.image-net.org/) 数据集上,使用单模型单尺度测试得到。
   
复现命令 `yolo val classify data=path/to/ImageNet device=0`
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 61f43ab..fceb9c7 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -31,8 +31,7 @@ RUN git clone https://github.com/ultralytics/ultralytics /usr/src/ultralytics
 # Install pip packages
 COPY requirements.txt .
 RUN python3 -m pip install --upgrade pip wheel
-RUN pip install --no-cache ultralytics albumentations comet gsutil notebook \
-    coremltools onnx onnx-simplifier onnxruntime openvino-dev>=2022.3
+RUN pip install --no-cache ultralytics[export] albumentations comet gsutil notebook \
     # tensorflow tensorflowjs \
 
 # Set environment variables
diff --git a/docker/Dockerfile-arm64 b/docker/Dockerfile-arm64
index 3108c5f..ce33da1 100644
--- a/docker/Dockerfile-arm64
+++ b/docker/Dockerfile-arm64
@@ -26,8 +26,8 @@ RUN git clone https://github.com/ultralytics/ultralytics /usr/src/ultralytics
 # Install pip packages
 COPY requirements.txt .
 RUN python3 -m pip install --upgrade pip wheel
-RUN pip install --no-cache ultralytics albumentations gsutil notebook \
-    coremltools onnx onnxruntime
+RUN pip install --no-cache ultralytics albumentations gsutil notebook
+    # coremltools onnx onnxruntime \
     # tensorflow-aarch64 tensorflowjs \
 
 # Cleanup
diff --git a/docker/Dockerfile-cpu b/docker/Dockerfile-cpu
index bf515e5..90e5007 100644
--- a/docker/Dockerfile-cpu
+++ b/docker/Dockerfile-cpu
@@ -26,8 +26,7 @@ RUN git clone https://github.com/ultralytics/ultralytics /usr/src/ultralytics
 # Install pip packages
 COPY requirements.txt .
 RUN python3 -m pip install --upgrade pip wheel
-RUN pip install --no-cache ultralytics albumentations gsutil notebook \
-    coremltools onnx onnx-simplifier onnxruntime openvino-dev>=2022.3 \
+RUN pip install --no-cache ultralytics[export] albumentations gsutil notebook \
     # tensorflow-cpu tensorflowjs \
     --extra-index-url https://download.pytorch.org/whl/cpu
 
diff --git a/docs/callbacks.md b/docs/callbacks.md
new file mode 100644
index 0000000..5dce9b0
--- /dev/null
+++ b/docs/callbacks.md
@@ -0,0 +1,75 @@
+## Callbacks
+Ultralytics framework supports callbacks as entry points in strategic stages of train, val, export, and predict modes. Each callback accepts a `Trainer`, `Validator`, or `Predictor` object depending on the operation type. All properties of these objects can be found in Reference section of the docs.
+
+## Examples
+
+### Returning additional information with Prediction
+In this example, we want to return the original frame with each result object. Here's how we can do that
+```python
+def on_predict_batch_end(predictor):
+    # results -> List[batch_size]
+    _, _, im0s, _, _ = predictor.batch
+    im0s = im0s if isinstance(im0s, list) else [im0s]
+    predictor.results = zip(predictor.results, im0s)
+
+model = YOLO(f"yolov8n.pt")
+model.add_callback("on_predict_batch_end", on_predict_batch_end)
+for (result, frame) in model.track/predict():
+    pass
+```
+
+## All callbacks
+Here are all supported callbacks.
+### Trainer
+`on_pretrain_routine_start`
+
+`on_pretrain_routine_end`
+
+`on_train_start`
+
+`on_train_epoch_start`
+
+`on_train_batch_start`
+
+`optimizer_step`
+
+`on_before_zero_grad`
+
+`on_train_batch_end`
+
+`on_train_epoch_end`
+
+`on_fit_epoch_end`
+
+`on_model_save`
+
+`on_train_end`
+
+`on_params_update`
+
+`teardown`
+
+### Validator
+`on_val_start`
+
+`on_val_batch_start`
+
+`on_val_batch_end`
+
+`on_val_end`
+
+### Predictor
+`on_predict_start`
+
+`on_predict_batch_start`
+
+`on_predict_postprocess_end`
+
+`on_predict_batch_end`
+
+`on_predict_end`
+
+### Exporter
+`on_export_start`
+
+`on_export_end`
diff --git a/docs/predict.md b/docs/predict.md
index 67606d7..57c41f0 100644
--- a/docs/predict.md
+++ b/docs/predict.md
@@ -34,7 +34,8 @@ Results object consists of these component objects:
 
 - `Results.boxes` : `Boxes` object with properties and methods for manipulating bboxes
 - `Results.masks` : `Masks` object used to index masks or to get segment coordinates.
-- `Results.prob`  : `torch.Tensor` containing the class probabilities/logits.
+- `Results.probs` : `torch.Tensor` containing the class probabilities/logits.
+- `Results.orig_shape` : `tuple` containing the original image size as (height, width).
 
 Each result is composed of torch.Tensor by default, in which you can easily use following functionality:
 
@@ -92,3 +93,19 @@ results[0].probs  # cls prob, (num_class, )
 ```
 
 Class reference documentation for `Results` module and its components can be found [here](reference/results.md)
+
+## Visualizing results
+
+You can use `visualize()` function of `Result` object to get a visualization. It plots all componenets(boxes, masks, classification logits, etc) found in the results object
+```python
+    res = model(img)
+    res_plotted = res[0].visualize()
+    cv2.imshow("result", res_plotted)
+```
+!!! example "`visualize()` arguments"
+
+    `show_conf (bool)`: Show confidence
+
+    `line_width (Float)`: The line width of boxes. Automatically scaled to img size if not provided
+
+    `font_size (Float)`: The font size of . Automatically scaled to img size if not provided
diff --git a/docs/tasks/classification.md b/docs/tasks/classification.md
index 0f1ac3d..6b60df1 100644
--- a/docs/tasks/classification.md
+++ b/docs/tasks/classification.md
@@ -90,6 +90,7 @@ Use a trained YOLOv8n-cls model to run predictions on images.
         yolo classify predict model=yolov8n-cls.pt source="https://ultralytics.com/images/bus.jpg"  # predict with official model
         yolo classify predict model=path/to/best.pt source="https://ultralytics.com/images/bus.jpg"  # predict with custom model
         ```
+
 Read more details of `predict` in our [Predict](https://docs.ultralytics.com/predict/) page.
 
 ## Export
@@ -117,20 +118,20 @@ Export a YOLOv8n-cls model to a different format like ONNX, CoreML, etc.
         yolo export model=path/to/best.pt format=onnx  # export custom trained model
         ```
 
-    Available YOLOv8-cls export formats include:
+Available YOLOv8-cls export formats include:
+
+| Format                                                             | `format=`     | Model                         | Metadata |
+|--------------------------------------------------------------------|---------------|-------------------------------|----------|
+| [PyTorch](https://pytorch.org/)                                    | -             | `yolov8n-cls.pt`              | ✅        |
+| [TorchScript](https://pytorch.org/docs/stable/jit.html)            | `torchscript` | `yolov8n-cls.torchscript`     | ✅        |
+| [ONNX](https://onnx.ai/)                                           | `onnx`        | `yolov8n-cls.onnx`            | ✅        |
+| [OpenVINO](https://docs.openvino.ai/latest/index.html)             | `openvino`    | `yolov8n-cls_openvino_model/` | ✅        |
+| [TensorRT](https://developer.nvidia.com/tensorrt)                  | `engine`      | `yolov8n-cls.engine`          | ✅        |
+| [CoreML](https://github.com/apple/coremltools)                     | `coreml`      | `yolov8n-cls.mlmodel`         | ✅        |
+| [TF SavedModel](https://www.tensorflow.org/guide/saved_model)      | `saved_model` | `yolov8n-cls_saved_model/`    | ✅        |
+| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb`          | `yolov8n-cls.pb`              | ❌        |
+| [TF Lite](https://www.tensorflow.org/lite)                         | `tflite`      | `yolov8n-cls.tflite`          | ✅        |
+| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/)         | `edgetpu`     | `yolov8n-cls_edgetpu.tflite`  | ✅        |
+| [TF.js](https://www.tensorflow.org/js)                             | `tfjs`        | `yolov8n-cls_web_model/`      | ✅        |
+| [PaddlePaddle](https://github.com/PaddlePaddle)                    | `paddle`      | `yolov8n-cls_paddle_model/`   | ✅        |
 
-    | Format                                                                     | `format=`     | Model                         |
-    |----------------------------------------------------------------------------|---------------|-------------------------------|
-    | [PyTorch](https://pytorch.org/)                                            | -             | `yolov8n-cls.pt`              |
-    | [TorchScript](https://pytorch.org/docs/stable/jit.html)                    | `torchscript` | `yolov8n-cls.torchscript`     |
-    | [ONNX](https://onnx.ai/)                                                   | `onnx`        | `yolov8n-cls.onnx`            |
-    | [OpenVINO](https://docs.openvino.ai/latest/index.html)                     | `openvino`    | `yolov8n-cls_openvino_model/` |
-    | [TensorRT](https://developer.nvidia.com/tensorrt)                          | `engine`      | `yolov8n-cls.engine`          |
-    | [CoreML](https://github.com/apple/coremltools)                             | `coreml`      | `yolov8n-cls.mlmodel`         |
-    | [TensorFlow SavedModel](https://www.tensorflow.org/guide/saved_model)      | `saved_model` | `yolov8n-cls_saved_model/`    |
-    | [TensorFlow GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb`          | `yolov8n-cls.pb`              |
-    | [TensorFlow Lite](https://www.tensorflow.org/lite)                         | `tflite`      | `yolov8n-cls.tflite`          |
-    | [TensorFlow Edge TPU](https://coral.ai/docs/edgetpu/models-intro/)         | `edgetpu`     | `yolov8n-cls_edgetpu.tflite`  |
-    | [TensorFlow.js](https://www.tensorflow.org/js)                             | `tfjs`        | `yolov8n-cls_web_model/`      |
-    | [PaddlePaddle](https://github.com/PaddlePaddle)                            | `paddle`      | `yolov8n-cls_paddle_model/`   |
-    
diff --git a/docs/tasks/detection.md b/docs/tasks/detection.md
index 4374de2..d2f7c4f 100644
--- a/docs/tasks/detection.md
+++ b/docs/tasks/detection.md
@@ -92,6 +92,7 @@ Use a trained YOLOv8n model to run predictions on images.
         yolo detect predict model=yolov8n.pt source="https://ultralytics.com/images/bus.jpg"  # predict with official model
         yolo detect predict model=path/to/best.pt source="https://ultralytics.com/images/bus.jpg"  # predict with custom model
         ```
+
 Read more details of `predict` in our [Predict](https://docs.ultralytics.com/predict/) page.
 
 ## Export
@@ -119,19 +120,19 @@ Export a YOLOv8n model to a different format like ONNX, CoreML, etc.
         yolo export model=path/to/best.pt format=onnx  # export custom trained model
         ```
 
-    Available YOLOv8 export formats include:
-    
-    | Format                                                                     | `format=`          | Model                     |
-    |----------------------------------------------------------------------------|--------------------|---------------------------|
-    | [PyTorch](https://pytorch.org/)                                            | -                  | `yolov8n.pt`              |
-    | [TorchScript](https://pytorch.org/docs/stable/jit.html)                    | `torchscript`      | `yolov8n.torchscript`     |
-    | [ONNX](https://onnx.ai/)                                                   | `onnx`             | `yolov8n.onnx`            |
-    | [OpenVINO](https://docs.openvino.ai/latest/index.html)                     | `openvino`         | `yolov8n_openvino_model/` |
-    | [TensorRT](https://developer.nvidia.com/tensorrt)                          | `engine`           | `yolov8n.engine`          |
-    | [CoreML](https://github.com/apple/coremltools)                             | `coreml`           | `yolov8n.mlmodel`         |
-    | [TensorFlow SavedModel](https://www.tensorflow.org/guide/saved_model)      | `saved_model`      | `yolov8n_saved_model/`    |
-    | [TensorFlow GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb`               | `yolov8n.pb`              |
-    | [TensorFlow Lite](https://www.tensorflow.org/lite)                         | `tflite`           | `yolov8n.tflite`          |
-    | [TensorFlow Edge TPU](https://coral.ai/docs/edgetpu/models-intro/)         | `edgetpu`          | `yolov8n_edgetpu.tflite`  |
-    | [TensorFlow.js](https://www.tensorflow.org/js)                             | `tfjs`             | `yolov8n_web_model/`      |
-    | [PaddlePaddle](https://github.com/PaddlePaddle)                            | `paddle`           | `yolov8n_paddle_model/`   |
+Available YOLOv8 export formats include:
+
+| Format                                                             | `format=`     | Model                     | Metadata |
+|--------------------------------------------------------------------|---------------|---------------------------|----------|
+| [PyTorch](https://pytorch.org/)                                    | -             | `yolov8n.pt`              | ✅        |
+| [TorchScript](https://pytorch.org/docs/stable/jit.html)            | `torchscript` | `yolov8n.torchscript`     | ✅        |
+| [ONNX](https://onnx.ai/)                                           | `onnx`        | `yolov8n.onnx`            | ✅        |
+| [OpenVINO](https://docs.openvino.ai/latest/index.html)             | `openvino`    | `yolov8n_openvino_model/` | ✅        |
+| [TensorRT](https://developer.nvidia.com/tensorrt)                  | `engine`      | `yolov8n.engine`          | ✅        |
+| [CoreML](https://github.com/apple/coremltools)                     | `coreml`      | `yolov8n.mlmodel`         | ✅        |
+| [TF SavedModel](https://www.tensorflow.org/guide/saved_model)      | `saved_model` | `yolov8n_saved_model/`    | ✅        |
+| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb`          | `yolov8n.pb`              | ❌        |
+| [TF Lite](https://www.tensorflow.org/lite)                         | `tflite`      | `yolov8n.tflite`          | ✅        |
+| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/)         | `edgetpu`     | `yolov8n_edgetpu.tflite`  | ✅        |
+| [TF.js](https://www.tensorflow.org/js)                             | `tfjs`        | `yolov8n_web_model/`      | ✅        |
+| [PaddlePaddle](https://github.com/PaddlePaddle)                    | `paddle`      | `yolov8n_paddle_model/`   | ✅        |
diff --git a/docs/tasks/segmentation.md b/docs/tasks/segmentation.md
index 0dcdc54..5155115 100644
--- a/docs/tasks/segmentation.md
+++ b/docs/tasks/segmentation.md
@@ -96,6 +96,7 @@ Use a trained YOLOv8n-seg model to run predictions on images.
         yolo segment predict model=yolov8n-seg.pt source="https://ultralytics.com/images/bus.jpg"  # predict with official model
         yolo segment predict model=path/to/best.pt source="https://ultralytics.com/images/bus.jpg"  # predict with custom model
         ```
+
 Read more details of `predict` in our [Predict](https://docs.ultralytics.com/predict/) page.
 
 ## Export
@@ -123,22 +124,21 @@ Export a YOLOv8n-seg model to a different format like ONNX, CoreML, etc.
         yolo export model=path/to/best.pt format=onnx  # export custom trained model
         ```
 
-    Available YOLOv8-seg export formats include:
-
-    | Format                                                                     | `format=`     | Model                         |
-    |----------------------------------------------------------------------------|---------------|-------------------------------|
-    | [PyTorch](https://pytorch.org/)                                            | -             | `yolov8n-seg.pt`              |
-    | [TorchScript](https://pytorch.org/docs/stable/jit.html)                    | `torchscript` | `yolov8n-seg.torchscript`     |
-    | [ONNX](https://onnx.ai/)                                                   | `onnx`        | `yolov8n-seg.onnx`            |
-    | [OpenVINO](https://docs.openvino.ai/latest/index.html)                     | `openvino`    | `yolov8n-seg_openvino_model/` |
-    | [TensorRT](https://developer.nvidia.com/tensorrt)                          | `engine`      | `yolov8n-seg.engine`          |
-    | [CoreML](https://github.com/apple/coremltools)                             | `coreml`      | `yolov8n-seg.mlmodel`         |
-    | [TensorFlow SavedModel](https://www.tensorflow.org/guide/saved_model)      | `saved_model` | `yolov8n-seg_saved_model/`    |
-    | [TensorFlow GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb`          | `yolov8n-seg.pb`              |
-    | [TensorFlow Lite](https://www.tensorflow.org/lite)                         | `tflite`      | `yolov8n-seg.tflite`          |
-    | [TensorFlow Edge TPU](https://coral.ai/docs/edgetpu/models-intro/)         | `edgetpu`     | `yolov8n-seg_edgetpu.tflite`  |
-    | [TensorFlow.js](https://www.tensorflow.org/js)                             | `tfjs`        | `yolov8n-seg_web_model/`      |
-    | [PaddlePaddle](https://github.com/PaddlePaddle)                            | `paddle`      | `yolov8n-seg_paddle_model/`   |
+Available YOLOv8-seg export formats include:
 
+| Format                                                             | `format=`     | Model                         | Metadata |
+|--------------------------------------------------------------------|---------------|-------------------------------|----------|
+| [PyTorch](https://pytorch.org/)                                    | -             | `yolov8n-seg.pt`              | ✅        |
+| [TorchScript](https://pytorch.org/docs/stable/jit.html)            | `torchscript` | `yolov8n-seg.torchscript`     | ✅        |
+| [ONNX](https://onnx.ai/)                                           | `onnx`        | `yolov8n-seg.onnx`            | ✅        |
+| [OpenVINO](https://docs.openvino.ai/latest/index.html)             | `openvino`    | `yolov8n-seg_openvino_model/` | ✅        |
+| [TensorRT](https://developer.nvidia.com/tensorrt)                  | `engine`      | `yolov8n-seg.engine`          | ✅        |
+| [CoreML](https://github.com/apple/coremltools)                     | `coreml`      | `yolov8n-seg.mlmodel`         | ✅        |
+| [TF SavedModel](https://www.tensorflow.org/guide/saved_model)      | `saved_model` | `yolov8n-seg_saved_model/`    | ✅        |
+| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb`          | `yolov8n-seg.pb`              | ❌        |
+| [TF Lite](https://www.tensorflow.org/lite)                         | `tflite`      | `yolov8n-seg.tflite`          | ✅        |
+| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/)         | `edgetpu`     | `yolov8n-seg_edgetpu.tflite`  | ✅        |
+| [TF.js](https://www.tensorflow.org/js)                             | `tfjs`        | `yolov8n-seg_web_model/`      | ✅        |
+| [PaddlePaddle](https://github.com/PaddlePaddle)                    | `paddle`      | `yolov8n-seg_paddle_model/`   | ✅        |
 
 
diff --git a/mkdocs.yml b/mkdocs.yml
index 95957f2..eef6271 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -1,3 +1,5 @@
+# Ultralytics YOLO 🚀, GPL-3.0 license
+
 site_name: YOLOv8 Docs
 repo_url: https://github.com/ultralytics/ultralytics
 edit_uri: https://github.com/ultralytics/ultralytics/tree/main/docs
@@ -109,7 +111,8 @@ nav:
       - Python: python.md
       - Predict: predict.md
       - Configuration: cfg.md
-      - Customization Guide: engine.md
+      - Customization using callbacks: callbacks.md
+      - Advanced customization: engine.md
   - Ultralytics HUB: hub.md
   - iOS and Android App: app.md
   - Reference:
diff --git a/requirements.txt b/requirements.txt
index 3e869ba..8fdd8bd 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -25,7 +25,7 @@ seaborn>=0.11.0
 # Export --------------------------------------
 # coremltools>=6.0  # CoreML export
 # onnx>=1.12.0  # ONNX export
-# onnx-simplifier>=0.4.1  # ONNX simplifier
+# onnxsim>=0.4.1  # ONNX simplifier
 # nvidia-pyindex  # TensorRT export
 # nvidia-tensorrt  # TensorRT export
 # scikit-learn==0.19.2  # CoreML quantization
diff --git a/setup.py b/setup.py
index 35d85d9..dde8f54 100644
--- a/setup.py
+++ b/setup.py
@@ -9,7 +9,7 @@ from setuptools import find_packages, setup
 # Settings
 FILE = Path(__file__).resolve()
 PARENT = FILE.parent  # root directory
-README = (PARENT / "README.md").read_text(encoding="utf-8")
+README = (PARENT / 'README.md').read_text(encoding='utf-8')
 REQUIREMENTS = [f'{x.name}{x.specifier}' for x in pkg.parse_requirements((PARENT / 'requirements.txt').read_text())]
 PKG_REQUIREMENTS = ['sentry_sdk']  # pip-only requirements
 
@@ -20,45 +20,46 @@ def get_version():
 
 
 setup(
-    name="ultralytics",  # name of pypi package
+    name='ultralytics',  # name of pypi package
     version=get_version(),  # version of pypi package
-    python_requires=">=3.7",
+    python_requires='>=3.7',
     license='GPL-3.0',
     description='Ultralytics YOLOv8',
     long_description=README,
-    long_description_content_type="text/markdown",
-    url="https://github.com/ultralytics/ultralytics",
+    long_description_content_type='text/markdown',
+    url='https://github.com/ultralytics/ultralytics',
     project_urls={
         'Bug Reports': 'https://github.com/ultralytics/ultralytics/issues',
         'Funding': 'https://ultralytics.com',
         'Source': 'https://github.com/ultralytics/ultralytics'},
-    author="Ultralytics",
+    author='Ultralytics',
     author_email='hello@ultralytics.com',
     packages=find_packages(),  # required
     include_package_data=True,
     install_requires=REQUIREMENTS + PKG_REQUIREMENTS,
     extras_require={
-        'dev':
-        ['check-manifest', 'pytest', 'pytest-cov', 'coverage', 'mkdocs', 'mkdocstrings[python]', 'mkdocs-material']},
+        'dev': ['check-manifest', 'pytest', 'pytest-cov', 'coverage', 'mkdocs-material', 'mkdocstrings[python]'],
+        'export': ['coremltools>=6.0', 'onnx', 'onnxsim', 'onnxruntime', 'openvino-dev>=2022.3'],
+        'tf': ['onnx2tf', 'sng4onnx', 'tflite_support', 'tensorflow']},
     classifiers=[
-        "Development Status :: 4 - Beta",
-        "Intended Audience :: Developers",
-        "Intended Audience :: Education",
-        "Intended Audience :: Science/Research",
-        "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
-        "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.7",
-        "Programming Language :: Python :: 3.8",
-        "Programming Language :: Python :: 3.9",
-        "Programming Language :: Python :: 3.10",
-        "Programming Language :: Python :: 3.11",
-        "Topic :: Software Development",
-        "Topic :: Scientific/Engineering",
-        "Topic :: Scientific/Engineering :: Artificial Intelligence",
-        "Topic :: Scientific/Engineering :: Image Recognition",
-        "Operating System :: POSIX :: Linux",
-        "Operating System :: MacOS",
-        "Operating System :: Microsoft :: Windows",],
-    keywords="machine-learning, deep-learning, vision, ML, DL, AI, YOLO, YOLOv3, YOLOv5, YOLOv8, HUB, Ultralytics",
+        'Development Status :: 4 - Beta',
+        'Intended Audience :: Developers',
+        'Intended Audience :: Education',
+        'Intended Audience :: Science/Research',
+        'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
+        'Programming Language :: Python :: 3',
+        'Programming Language :: Python :: 3.7',
+        'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
+        'Programming Language :: Python :: 3.10',
+        'Programming Language :: Python :: 3.11',
+        'Topic :: Software Development',
+        'Topic :: Scientific/Engineering',
+        'Topic :: Scientific/Engineering :: Artificial Intelligence',
+        'Topic :: Scientific/Engineering :: Image Recognition',
+        'Operating System :: POSIX :: Linux',
+        'Operating System :: MacOS',
+        'Operating System :: Microsoft :: Windows',],
+    keywords='machine-learning, deep-learning, vision, ML, DL, AI, YOLO, YOLOv3, YOLOv5, YOLOv8, HUB, Ultralytics',
     entry_points={
         'console_scripts': ['yolo = ultralytics.yolo.cfg:entrypoint', 'ultralytics = ultralytics.yolo.cfg:entrypoint']})
diff --git a/tests/test_cli.py b/tests/test_cli.py
index f594181..21d57e8 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -3,7 +3,7 @@
 import subprocess
 from pathlib import Path
 
-from ultralytics.yolo.utils import ROOT, SETTINGS
+from ultralytics.yolo.utils import LINUX, ROOT, SETTINGS
 
 MODEL = Path(SETTINGS['weights_dir']) / 'yolov8n'
 CFG = 'yolov8n'
@@ -73,3 +73,8 @@ def test_export_segment_torchscript():
 
 def test_export_classify_torchscript():
     run(f'yolo export model={MODEL}-cls.pt format=torchscript')
+
+
+def test_export_detect_edgetpu(enabled=False):
+    if enabled and LINUX:
+        run(f'yolo export model={MODEL}.pt format=edgetpu')
diff --git a/tests/test_python.py b/tests/test_python.py
index 351ea1a..0219b8c 100644
--- a/tests/test_python.py
+++ b/tests/test_python.py
@@ -1,6 +1,5 @@
 # Ultralytics YOLO 🚀, GPL-3.0 license
 
-import platform
 from pathlib import Path
 
 import cv2
@@ -10,12 +9,11 @@ from PIL import Image
 
 from ultralytics import YOLO
 from ultralytics.yolo.data.build import load_inference_source
-from ultralytics.yolo.utils import ROOT, SETTINGS
+from ultralytics.yolo.utils import LINUX, ROOT, SETTINGS
 
 MODEL = Path(SETTINGS['weights_dir']) / 'yolov8n.pt'
 CFG = 'yolov8n.yaml'
 SOURCE = ROOT / 'assets/bus.jpg'
-MACOS = platform.system() == 'Darwin'  # macOS environment
 
 
 def test_model_forward():
@@ -87,24 +85,6 @@ def test_train_pretrained():
 
 
 def test_export_torchscript():
-    """
-                       Format     Argument           Suffix    CPU    GPU
-    0                 PyTorch            -              .pt   True   True
-    1             TorchScript  torchscript     .torchscript   True   True
-    2                    ONNX         onnx            .onnx   True   True
-    3                OpenVINO     openvino  _openvino_model   True  False
-    4                TensorRT       engine          .engine  False   True
-    5                  CoreML       coreml         .mlmodel   True  False
-    6   TensorFlow SavedModel  saved_model     _saved_model   True   True
-    7     TensorFlow GraphDef           pb              .pb   True   True
-    8         TensorFlow Lite       tflite          .tflite   True  False
-    9     TensorFlow Edge TPU      edgetpu  _edgetpu.tflite  False  False
-    10          TensorFlow.js         tfjs       _web_model  False  False
-    11           PaddlePaddle       paddle    _paddle_model   True   True
-    """
-    from ultralytics.yolo.engine.exporter import export_formats
-    print(export_formats())
-
     model = YOLO(MODEL)
     f = model.export(format='torchscript')
     YOLO(f)(SOURCE)  # exported model inference
@@ -124,9 +104,25 @@ def test_export_openvino():
 
 def test_export_coreml():  # sourcery skip: move-assign
     model = YOLO(MODEL)
-    f = model.export(format='coreml')
-    if MACOS:
-        YOLO(f)(SOURCE)  # model prediction only supported on macOS
+    model.export(format='coreml')
+    # if MACOS:
+    #    YOLO(f)(SOURCE)  # model prediction only supported on macOS
+
+
+def test_export_tflite(enabled=False):
+    # TF suffers from install conflicts on Windows and macOS
+    if enabled and LINUX:
+        model = YOLO(MODEL)
+        f = model.export(format='tflite')
+        YOLO(f)(SOURCE)
+
+
+def test_export_pb(enabled=False):
+    # TF suffers from install conflicts on Windows and macOS
+    if enabled and LINUX:
+        model = YOLO(MODEL)
+        f = model.export(format='pb')
+        YOLO(f)(SOURCE)
 
 
 def test_export_paddle(enabled=False):
@@ -145,9 +141,8 @@ def test_workflow():
     model = YOLO(MODEL)
     model.train(data="coco8.yaml", epochs=1, imgsz=32)
     model.val()
-    print(model.metrics)
     model.predict(SOURCE)
-    model.export(format="onnx", opset=12)  # export a model to ONNX format
+    model.export(format="onnx")  # export a model to ONNX format
 
 
 def test_predict_callback_and_setup():
@@ -170,3 +165,13 @@ def test_predict_callback_and_setup():
         print('test_callback', bs)
         boxes = result.boxes  # Boxes object for bbox outputs
         print(boxes)
+
+
+def test_result():
+    model = YOLO("yolov8n-seg.pt")
+    img = str(ROOT / "assets/bus.jpg")
+    res = model([img, img])
+    res[0].numpy()
+    res[0].cpu().numpy()
+    resimg = res[0].visualize(show_conf=False)
+    print(resimg)
diff --git a/ultralytics/__init__.py b/ultralytics/__init__.py
index ab8c107..50ac7f5 100644
--- a/ultralytics/__init__.py
+++ b/ultralytics/__init__.py
@@ -1,6 +1,6 @@
 # Ultralytics YOLO 🚀, GPL-3.0 license
 
-__version__ = "8.0.39"
+__version__ = "8.0.40"
 
 from ultralytics.yolo.engine.model import YOLO
 from ultralytics.yolo.utils.checks import check_yolo as checks
diff --git a/ultralytics/models/README.md b/ultralytics/models/README.md
index e56b6e7..074c418 100644
--- a/ultralytics/models/README.md
+++ b/ultralytics/models/README.md
@@ -29,8 +29,81 @@ They may also be used directly in a Python environment, and accepts the same
 ```python
 from ultralytics import YOLO
 
-model = YOLO("yolov8n.yaml")  # build a YOLOv8n model from scratch
-
+model = YOLO("model.yaml")  # build a YOLOv8n model from scratch
+# YOLO("model.pt")  use pre-trained model if available
 model.info()  # display model information
 model.train(data="coco128.yaml", epochs=100)  # train the model
 ```
+
+## Pre-trained Model Architectures
+
+Ultralytics supports many model architectures. Visit [models](#) page to view detailed information and usage.
+Any of these models can be used by loading their configs or pretrained checkpoints if available.
+
+What to add your model architecture? [Here's](#) how you can contribute
+
+### 1. YOLOv8
+
+**About** - Cutting edge Detection, Segmentation and Classification models developed by Ultralytics. 
+**Citation** -
+Available Models:
+
+- Detection - `yolov8n`, `yolov8s`, `yolov8m`, `yolov8l`, `yolov8x`
+- Instance Segmentation - `yolov8n-seg`, `yolov8s-seg`, `yolov8m-seg`, `yolov8l-seg`, `yolov8x-seg`
+- Classification - `yolov8n-cls`, `yolov8s-cls`, `yolov8m-cls`, `yolov8l-cls`, `yolov8x-cls`
+
+Performance
+
+### Detection
+
+| Model                                                                                | size
(pixels) | mAPval
50-95 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) |
+| ------------------------------------------------------------------------------------ | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
+| [YOLOv8n](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt) | 640                   | 37.3                 | 80.4                           | 0.99                                | 3.2                | 8.7               |
+| [YOLOv8s](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt) | 640                   | 44.9                 | 128.4                          | 1.20                                | 11.2               | 28.6              |
+| [YOLOv8m](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt) | 640                   | 50.2                 | 234.7                          | 1.83                                | 25.9               | 78.9              |
+| [YOLOv8l](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l.pt) | 640                   | 52.9                 | 375.2                          | 2.39                                | 43.7               | 165.2             |
+| [YOLOv8x](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt) | 640                   | 53.9                 | 479.1                          | 3.53                                | 68.2               | 257.8             |
+
+### Segmentation
+
+| Model                                                                                        | size
(pixels) | mAPbox
50-95 | mAPmask
50-95 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) |
+| -------------------------------------------------------------------------------------------- | --------------------- | -------------------- | --------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
+| [YOLOv8n-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt) | 640                   | 36.7                 | 30.5                  | 96.1                           | 1.21                                | 3.4                | 12.6              |
+| [YOLOv8s-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-seg.pt) | 640                   | 44.6                 | 36.8                  | 155.7                          | 1.47                                | 11.8               | 42.6              |
+| [YOLOv8m-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-seg.pt) | 640                   | 49.9                 | 40.8                  | 317.0                          | 2.18                                | 27.3               | 110.2             |
+| [YOLOv8l-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-seg.pt) | 640                   | 52.3                 | 42.6                  | 572.4                          | 2.79                                | 46.0               | 220.5             |
+| [YOLOv8x-seg](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt) | 640                   | 53.4                 | 43.4                  | 712.1                          | 4.02                                | 71.8               | 344.1             |
+
+### Classification
+
+| Model                                                                                        | size
(pixels) | acc
top1 | acc
top5 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) at 640 |
+| -------------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------- | ------------------------------ | ----------------------------------- | ------------------ | ------------------------ |
+| [YOLOv8n-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-cls.pt) | 224                   | 66.6             | 87.0             | 12.9                           | 0.31                                | 2.7                | 4.3                      |
+| [YOLOv8s-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt) | 224                   | 72.3             | 91.1             | 23.4                           | 0.35                                | 6.4                | 13.5                     |
+| [YOLOv8m-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt) | 224                   | 76.4             | 93.2             | 85.4                           | 0.62                                | 17.0               | 42.7                     |
+| [YOLOv8l-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt) | 224                   | 78.0             | 94.1             | 163.0                          | 0.87                                | 37.5               | 99.7                     |
+| [YOLOv8x-cls](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt) | 224                   | 78.4             | 94.3             | 232.0                          | 1.01                                | 57.4               | 154.8                    |
+
+Performance
+
+### Detection
+
+| Model                                                                                  | size
(pixels) | mAPval
50-95 | Speed
CPU ONNX
(ms) | Speed
A100 TensorRT
(ms) | params
(M) | FLOPs
(B) |
+| -------------------------------------------------------------------------------------- | --------------------- | -------------------- | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
+| [YOLOv5nu](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5nu.pt) | 640                   | 34.3                 | 73.6                           | 1.06                                | 2.6                | 7.7               |
+| [YOLOv5su](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5su.pt) | 640                   | 43.0                 | 120.7                          | 1.27                                | 9.1                | 24.0              |
+| [YOLOv5mu](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5mu.pt) | 640                   | 49.0                 | 233.9                          | 1.86                                | 25.1               | 64.2              |
+| [YOLOv5lu](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5lu.pt) | 640                   | 52.2                 | 408.4                          | 2.50                                | 53.2               | 135.0             |
+| [YOLOv5xu](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov5xu.pt) | 640                   | 53.2                 | 763.2                          | 3.81                                | 97.2               | 246.4             |
+
+