diff --git a/README.dataset.txt b/README.dataset.txt new file mode 100644 index 000000000..9ee62e0e0 --- /dev/null +++ b/README.dataset.txt @@ -0,0 +1,45 @@ +# Udacity Self Driving Car > fixed-small +https://universe.roboflow.com/roboflow-gw7yv/self-driving-car + +Provided by [Roboflow](https://roboflow.ai) +License: MIT + +# Overview + +The [original Udacity Self Driving Car Dataset](https://github.com/udacity/self-driving-car/tree/master/annotations) is missing labels for thousands of pedestrians, bikers, cars, and traffic lights. This will result in poor model performance. When used in the context of self driving cars, this could even lead to human fatalities. + +We re-labeled the dataset to correct errors and omissions. We have provided convenient downloads in many formats including VOC XML, COCO JSON, Tensorflow Object Detection TFRecords, and more. + +Some examples of labels missing from the original dataset: +![Examples of Missing Labels](https://i.imgur.com/A5J3qSt.jpg) + +# Stats + +The dataset contains 97,942 labels across 11 classes and 15,000 images. There are 1,720 null examples (images with no labels). + +All images are 1920x1200 (download size ~3.1 GB). We have also provided a version downsampled to 512x512 (download size ~580 MB) that is suitable for most common machine learning models (including YOLO v3, Mask R-CNN, SSD, and mobilenet). + +Annotations have been hand-checked for accuracy by Roboflow. + +![Class Balance](https://i.imgur.com/bOFkueI.pnghttps://) + +Annotation Distribution: +![Annotation Heatmap](https://i.imgur.com/NwcrQKK.png) + +# Use Cases + +Udacity is building an open source self driving car! You might also try using this dataset to do person-detection and tracking. + +# Using this Dataset + +Our updates to the dataset are released under the MIT License (the same license as [the original annotations and images](https://github.com/udacity/self-driving-car/tree/master/annotations)). + +**Note:** the dataset contains many duplicated bounding boxes for the same subject which we have not corrected. You will probably want to filter them by taking the IOU for classes that are 100% overlapping or it could affect your model performance (expecially in stoplight detection which seems to suffer from an especially severe case of duplicated bounding boxes). + +# About Roboflow + +[Roboflow](https://roboflow.ai) makes managing, preprocessing, augmenting, and versioning datasets for computer vision seamless. + +Developers reduce 50% of their boilerplate code when using Roboflow's workflow, save training time, and increase model reproducibility. +:fa-spacer: +#### [![Roboflow Wordmark](https://i.imgur.com/WHFqYSJ.png =350x)](https://roboflow.ai) \ No newline at end of file diff --git a/README.md b/README.md index 81463bfd7..ccc741418 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,70 @@ # intel-oneAPI -#### Team Name - -#### Problem Statement - -#### Team Leader Email - +#### Team Name - Chhota Bheem +#### Problem Statement - Object Detection For Autonomous Vehicles +#### Team Leader Email - rshrjacharya@gmail.com +#### Medium Post - [Accelerating Real-Time Object Detection with YOLOv8m and Intel’s Optimization Tools](https://keras.medium.com/accelerating-real-time-object-detection-with-yolov8m-and-intels-optimization-tools-eb2263d94183) +#### Real-time Demo - [YouTube](https://youtu.be/UVJY7L8zyzs) ## A Brief of the Prototype: - This section must include UML Daigrms and prototype description - -## Tech Stack: - List Down all technologies used to Build the prototype **Clearly mentioning Intel® AI Analytics Toolkits, it's libraries and the SYCL/DCP++ Libraries used** - +| Description | Diagram | +| :--- | :---: | +| The prototype presents the fastest possible implementation for custom object detection using the cutting-edge YOLOv8m model. This state-of-the-art model is specifically trained to detect pedestrians, vehicles, traffic signs, and traffic signals in real-world images, encompassing a wide range of weather conditions, lighting conditions, and road environments. To achieve exceptional speed and efficiency, the prototype harnesses the power of Intel Distribution for Python, Intel Optimization for TensorFlow, Intel Optimization for PyTorch, and Intel Neural Compressor from Intel AI Kit. These optimized tools significantly accelerate the pipeline's execution, resulting in unparalleled performance. In addition, the prototype incorporates post-training quantization techniques to convert the model's 32-bit float parameter data into highly efficient 8-bit fixed representations. This transformation enables the generation of a tflite model that is not only compatible with the Edge TPU but also maximizes the utilization of the available resources on Coral hardware. In summary, this prototype stands as the pinnacle of speed and efficiency, utilizing the state-of-the-art YOLOv8m model along with Intel's optimization tools and post-training quantization. The result is an ultra-fast and accurate object detection solution capable of handling real-world scenarios and optimized for deployment on Edge TPU and Coral hardware. | ![](https://raw.githubusercontent.com/rishiraj/intel-oneAPI/main/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.svg) | + +![](https://raw.githubusercontent.com/rishiraj/intel-oneAPI/main/wandb/model.png) +Speed in milliseconds - lower is better. Upto 61.72% faster with Intel optimizations. + +![](https://raw.githubusercontent.com/rishiraj/intel-oneAPI/main/wandb/metrics.png) +Metrics in fraction - higher is better. + + +## Tech Stack: +* Intel® AI Analytics Toolkit: + * Intel® Distribution for Python (intelpython3_full -c intel) + * Intel® Neural Compressor (neural-compressor -c intel) + * Intel® Optimization for PyTorch (intel-aikit-pytorch -c intel) + * Intel® Optimization for TensorFlow (intel-aikit-tensorflow -c intel) +* pytorch torchvision pytorch-cuda=11.7 -c pytorch -c nvidia + ## Step-by-Step Code Execution Instructions: - This Section must contain set of instructions required to clone and run the prototype, so that it can be tested and deeply analysed - +```python +!git clone https://github.com/rishiraj/intel-oneAPI.git +!conda env create -f environment.yml # Installs Intel AIKit packages +``` + +### Inference: +```python +!pip install -q ultralytics +from ultralytics import YOLO +``` +| If you want to run base model without any accelerator: | If you're using a CPU, use the following instead for up to 3x CPU speedup: | If you're using a GPU, use the following instead for up to 5x GPU speedup: | If you're using an Edge TPU, use the following instead for up to 10x TPU speedup: | +| :--- | :--- | :--- | :--- | +| `model = YOLO('rishiraj/intel-oneAPI/runs/detect/train/weights/best.pt')` | `model = YOLO('rishiraj/intel-oneAPI/runs/detect/train/weights/best.onnx')` | `model = YOLO('rishiraj/intel-oneAPI/runs/detect/train/weights/best.engine')` | `model = YOLO('rishiraj/intel-oneAPI/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.tflite')` | + +| If you're running on a local machine / VM: | If you're running on a Google Colab notebook: | +| :--- | :--- | +| `import cv2` | `from google.colab.patches import cv2_imshow` | +| `cv2.imshow("result", model(img)[0].plot())` | `cv2_imshow(model(img)[0].plot())` | + +### India Driving Dataset: +All models have been tested on the India Driving Dataset by IIIT Hyderabad and Intel. The dataset consists of images obtained from a front facing camera attached to a car. The car was driven around Hyderabad, Bangalore cities and their outskirts. Below are some sample predictions. +| prediction1 | prediction2 | +| :---: | :---: | +| ![](https://raw.githubusercontent.com/rishiraj/intel-oneAPI/main/runs/detect/predict/548645_image.jpg) | ![](https://raw.githubusercontent.com/rishiraj/intel-oneAPI/main/runs/detect/predict/326186_image.jpg) | + +### Training: +Run [train.ipynb](./train.ipynb) followed by [export.ipynb](./export.ipynb) to save trained model in format of choice. +| train_batch1 | train_batch2 | +| :---: | :---: | +| ![](https://raw.githubusercontent.com/rishiraj/intel-oneAPI/main/wandb/train_batch1.jpg) | ![](https://raw.githubusercontent.com/rishiraj/intel-oneAPI/main/wandb/train_batch2.jpg) | + ## What I Learned: - Write about the biggest learning you had while developing the prototype +By leveraging Intel's optimized tools, I learned how crucial it is to fine-tune and optimize the deep learning pipeline for the specific hardware platform. These tools provided a substantial boost to the overall speed and efficiency of the object detection solution. They showcased the importance of understanding the underlying hardware architecture and utilizing specialized optimizations to leverage its full potential. + +Another significant learning came from the application of post-training quantization techniques. Converting the model's 32-bit float parameters into 8-bit fixed representations through quantization was an enlightening process. It demonstrated how reducing the precision of the model's parameters can lead to significant improvements in resource utilization, especially when deploying on Edge TPU and Coral hardware. + +### System Info for Carbon Emissions: +![](https://raw.githubusercontent.com/rishiraj/intel-oneAPI/main/wandb/system.png) +Power Usage in Watt - lower is better. Upto 18.5% efficient with Intel optimizations. + +N.B. All graphs and visualizations have muted and pastel hues and neutral tones to be neurodivergent inclusive. Strong contrasts, such as bright red, neon or fluorescent, have been intentionally avoided as it can be visually jarring for some autistic individuals. diff --git a/README.roboflow.txt b/README.roboflow.txt new file mode 100644 index 000000000..77673b307 --- /dev/null +++ b/README.roboflow.txt @@ -0,0 +1,29 @@ + +Self Driving Car - v3 fixed-small +============================== + +This dataset was exported via roboflow.com on January 13, 2023 at 5:09 PM GMT + +Roboflow is an end-to-end computer vision platform that helps you +* collaborate with your team on computer vision projects +* collect & organize images +* understand and search unstructured image data +* annotate, and create datasets +* export, train, and deploy computer vision models +* use active learning to improve your dataset over time + +For state of the art Computer Vision training notebooks you can use with this dataset, +visit https://github.com/roboflow/notebooks + +To find over 100k other datasets and pre-trained models, visit https://universe.roboflow.com + +The dataset includes 15000 images. +Obstacles are annotated in YOLOv8 format. + +The following pre-processing was applied to each image: +* Auto-orientation of pixel data (with EXIF-orientation stripping) +* Resize to 512x512 (Stretch) + +No image augmentation techniques were applied. + + diff --git a/data.yaml b/data.yaml new file mode 100644 index 000000000..068b4597c --- /dev/null +++ b/data.yaml @@ -0,0 +1,12 @@ +train: /home/ubuntu/oneAPI/train/images +val: /home/ubuntu/oneAPI/valid/images + +nc: 11 +names: ['biker', 'car', 'pedestrian', 'trafficLight', 'trafficLight-Green', 'trafficLight-GreenLeft', 'trafficLight-Red', 'trafficLight-RedLeft', 'trafficLight-Yellow', 'trafficLight-YellowLeft', 'truck'] + +roboflow: + workspace: roboflow-gw7yv + project: self-driving-car + version: 3 + license: MIT + url: https://universe.roboflow.com/roboflow-gw7yv/self-driving-car/dataset/3 \ No newline at end of file diff --git a/environment.yml b/environment.yml new file mode 100644 index 000000000..8a74fc18c --- /dev/null +++ b/environment.yml @@ -0,0 +1,177 @@ +name: idp +channels: + - intel + - defaults +dependencies: + - _libgcc_mutex=0.1=main + - _openmp_mutex=5.1=1_gnu + - alembic=1.7.7=pyhd8ed1ab_0 + - asn1crypto=1.5.1=py39h06a4308_0 + - bidict=0.21.2=pyhd3eb1b0_0 + - brotli=1.0.9=hf484d3e_2 + - brotlipy=0.7.0=py39h27cfd23_1003 + - bzip2=1.0.8=hb9a14ef_9 + - c-ares=1.18.1=h7f8727e_0 + - ca-certificates=2023.01.10=h06a4308_0 + - certifi=2022.12.7=py39h06a4308_0 + - cffi=1.15.1=py39h74dc2b5_0 + - chardet=4.0.0=py39h06a4308_1003 + - charset-normalizer=2.0.4=pyhd3eb1b0_0 + - click=8.0.4=py39h06a4308_0 + - cloudpickle=1.6.0=py_0 + - conda-package-streaming=0.7.0=py39h06a4308_0 + - contextlib2=0.5.5=py_2 + - cpuonly=1.0=0 + - cryptography=39.0.1=py39h9ce1e76_0 + - cycler=0.11.0=pyhd3eb1b0_0 + - cython=0.29.33=py39ha718fea_0 + - daal4py=2023.1.1=py39_intel_48679 + - dal=2023.1.1=intel_48679 + - deprecated=1.2.13=py39h06a4308_0 + - dpcpp-cpp-rt=2023.1.0=intel_46305 + - dpcpp-llvm-spirv=2023.0.0=py39h065f59b_25370 + - dpcpp_cpp_rt=2023.1.0=intel_46305 + - dpctl=0.14.2=py39ha23a21d_9 + - dpnp=0.11.1=py39h193dc20_12 + - flask=1.1.2=pyhd3eb1b0_0 + - flask-cors=3.0.10=pyhd3eb1b0_0 + - flask-socketio=5.1.0=pyhd3eb1b0_0 + - flit-core=3.8.0=py39h06a4308_0 + - fonttools=4.25.0=pyhd3eb1b0_0 + - fortran_rt=2023.1.0=intel_46305 + - freetype=2.12.1=hb267b13_2 + - funcsigs=1.0.2=py39h06a4308_0 + - future=0.18.3=py39h06a4308_0 + - gevent=21.8.0=py39h7f8727e_1 + - gevent-websocket=0.10.1=py39h06a4308_1 + - greenlet=1.1.1=py39h295c915_0 + - hyperopt=0.2.5=pyh9f0ad1d_0 + - icc_rt=2023.1.0=intel_46305 + - idna=3.4=py39h06a4308_0 + - impi_rt=2021.9.0=intel_43482 + - importlib-metadata=4.8.1=py39h06a4308_0 + - importlib_resources=5.2.0=pyhd3eb1b0_1 + - intel-aikit-pytorch=2023.1.1=py39_0 + - intel-cmplr-lib-rt=2023.1.0=intel_46305 + - intel-cmplr-lic-rt=2023.1.0=intel_46305 + - intel-extension-for-pytorch=1.13.120=py39_xpu_1 + - intel-fortran-rt=2023.1.0=intel_46305 + - intel-opencl-rt=2023.1.0=intel_46305 + - intel-openmp=2023.1.0=intel_46305 + - intelpython=2023.1.0=1 + - intelpython3_core=2023.1.0=py39_0 + - intelpython3_full=2023.1.0=py39_0 + - ipp=2021.8.0=intel_46345 + - itsdangerous=2.0.1=pyhd3eb1b0_0 + - jinja2=3.0.1=pyhd3eb1b0_0 + - joblib=1.2.0=pyh3f38642_0 + - jpeg=9e=h7f8727e_1 + - kiwisolver=1.4.2=py39h295c915_0 + - lark-parser=0.9.0=pyh9f0ad1d_0 + - lcms2=2.12=h3be6417_1 + - lerc=3.0=h295c915_0 + - libdeflate=1.8=h7f8727e_5 + - libev=4.33=h7f8727e_1 + - libevent=2.1.12=h8f2d780_0 + - libffi=3.3=he6710b0_2 + - libgcc-ng=11.2.0=h1234567_1 + - libgfortran-ng=11.2.0=h00389a5_1 + - libgfortran5=11.2.0=h1234567_1 + - libgomp=11.2.0=h1234567_1 + - libllvm11=11.0.0=h3826bc1_1 + - libpng=1.6.39=h5eee18b_0 + - libprotobuf=3.20.3=he621ea3_0 + - libstdcxx-ng=11.2.0=h1234567_1 + - libtiff=4.4.0=hecacb30_0 + - libuv=1.40.0=h7b6447c_2 + - libwebp=1.2.0=h89dd481nogiflib_1 + - libwebp-base=1.2.0=h7f98852_3 + - libxml2=2.10.3=h6b0140f_0 + - llvm=11.0.0=h06a4308_1 + - llvm-spirv=11.0.0=h4616538_1 + - llvmlite=0.39.1=py39he188f65_0 + - lz4-c=1.9.4=h6a678d5_0 + - mako=1.2.3=py39h06a4308_0 + - markupsafe=2.0.1=py39h27cfd23_0 + - matplotlib-base=3.4.3=py39hbbc1b5f_0 + - mkl=2023.1.0=intel_46342 + - mkl-dpcpp=2023.1.0=intel_46342 + - mkl-service=2.4.0=py39h75d02e3_15 + - mkl_fft=1.3.5=py39h28f0b46_11 + - mkl_random=1.2.2=py39h0b06908_51 + - mkl_umath=0.1.1=py39h450dca2_61 + - mpi4py=3.1.4=py39h618b5fa_0 + - munkres=1.1.4=py_0 + - ncurses=6.4=h6a678d5_0 + - networkx=2.6.2=pyhd3eb1b0_2 + - neural-compressor=1.10.1=py39pyhdless_0 + - neural-compressor-full=2.1=pyhdless_0 + - numba=0.56.4=py39h7826fa9_1 + - numba-dpex=0.20.0=py39h5027c17_16 + - numpy=1.23.5=py39h52df89b_7 + - numpy-base=1.23.5=py39ha03f565_7 + - oneccl_bind_pt=1.13.0=py39_cpu_1 + - opencv-python-headless=4.5.5.64=py39_2 + - openssl=1.1.1t=h7f8727e_0 + - packaging=22.0=py39h06a4308_0 + - pandas=1.5.2=py39h385cf95_0 + - pillow=9.2.0=py39hace64e9_1 + - pip=23.0.1=py39h06a4308_0 + - pluggy=1.0.0=py39h06a4308_1 + - prettytable=0.7.2=py_3 + - psutil=5.8.0=py39h27cfd23_2 + - py-cpuinfo=8.0.0=pyhd3eb1b0_0 + - pycocotools=2.0.2=py39hce5d2b2_2 + - pycparser=2.21=pyhd3eb1b0_0 + - pymongo=3.12.0=py39h295c915_0 + - pyopenssl=23.0.0=py39h06a4308_0 + - pyparsing=3.0.9=py39h06a4308_0 + - pysocks=1.7.1=py39h06a4308_0 + - python=3.9.16=h2722d68_1 + - python-dateutil=2.8.2=pyhd3eb1b0_0 + - python-engineio=4.1.0=pyhd3eb1b0_0 + - python-socketio=5.3.0=pyhd3eb1b0_0 + - python_abi=3.9=2_cp39 + - pytorch=1.13.0=py39_xpu_1 + - pytz=2022.7=py39h06a4308_0 + - pyyaml=6.0=py39h5eee18b_1 + - readline=8.2=h5eee18b_0 + - requests=2.28.1=py39h06a4308_1 + - ruamel.yaml=0.17.21=py39h5eee18b_0 + - ruamel.yaml.clib=0.2.6=py39h5eee18b_1 + - schema=0.7.4=pyh44b312d_0 + - scikit-learn=1.2.1=py39h6a678d5_0 + - scikit-learn-intelex=2023.1.1=py39_intel_48679 + - scipy=1.7.3=py39h4ca98da_8 + - setuptools=65.6.3=py39h06a4308_0 + - sigopt=5.3.1=py_0 + - six=1.16.0=pyhd3eb1b0_1 + - smp=0.1.5=py39h4ba20aa_0 + - snappy=1.1.9=h295c915_0 + - spirv-tools=2021.4=h6bb024c_0 + - sqlalchemy=1.4.27=py39h7f8727e_0 + - sqlite=3.40.1=h5082296_0 + - tbb=2021.9.0=intel_43484 + - tbb4py=2021.9.0=py39_intel_43484 + - tcl=8.6.10=2 + - threadpoolctl=2.2.0=pyh0d69192_0 + - tk=8.6.12=h1ccaba5_0 + - toolz=0.12.0=py39h06a4308_0 + - torchvision=0.14.1=py39_1 + - tornado=6.1=py39h27cfd23_0 + - tqdm=4.64.0=py39h06a4308_0 + - typing_extensions=4.4.0=py39h06a4308_0 + - urllib3=1.26.14=py39h06a4308_0 + - werkzeug=2.0.2=pyhd3eb1b0_2 + - wheel=0.38.4=py39h06a4308_0 + - wrapt=1.13.3=py39h7f8727e_2 + - xgboost=1.7.3=0_gfed039py39_0 + - xz=5.2.8=h5eee18b_0 + - yaml=0.2.5=h7b6447c_0 + - zipp=3.6.0=pyhd3eb1b0_0 + - zlib=1.2.13=h5eee18b_0 + - zope.event=4.5.0=py39h06a4308_0 + - zope.interface=5.4.0=py39h3811e60_0 + - zstandard=0.19.0=py39h5eee18b_0 + - zstd=1.5.2=ha4553b6_2 +prefix: /home/ubuntu/src/miniconda3/envs/idp diff --git a/export.ipynb b/export.ipynb new file mode 100644 index 000000000..266d632b9 --- /dev/null +++ b/export.ipynb @@ -0,0 +1,114 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "gpuType": "T4" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "accelerator": "GPU", + "gpuClass": "standard" + }, + "cells": [ + { + "cell_type": "code", + "source": [ + "!pip install -q ultralytics" + ], + "metadata": { + "id": "PyjBb-9q56qs" + }, + "execution_count": 1, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 544 + }, + "id": "qeFXg2265r3J", + "outputId": "a55efb10-b5f7-4630-cce6-2a49c2ad8fd6" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "Ultralytics YOLOv8.0.105 🚀 Python-3.10.11 torch-2.0.1+cu118 CPU\n", + "Model summary (fused): 218 layers, 25846129 parameters, 0 gradients\n", + "\n", + "\u001b[34m\u001b[1mPyTorch:\u001b[0m starting from best.pt with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 15, 8400) (49.6 MB)\n", + "\n", + "\u001b[34m\u001b[1mTensorFlow SavedModel:\u001b[0m starting export with tensorflow 2.12.0...\n", + "\n", + "\u001b[34m\u001b[1mONNX:\u001b[0m starting export with onnx 1.14.0 opset 17...\n", + "\u001b[34m\u001b[1mONNX:\u001b[0m simplifying with onnxsim 0.4.28...\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "============= Diagnostic Run torch.onnx.export version 2.0.1+cu118 =============\n", + "verbose: False, log level: Level.ERROR\n", + "======================= 0 NONE 0 NOTE 0 WARNING 0 ERROR ========================\n", + "\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "\u001b[34m\u001b[1mONNX:\u001b[0m export success ✅ 22.8s, saved as best.onnx (98.8 MB)\n", + "\n", + "\u001b[34m\u001b[1mTensorFlow SavedModel:\u001b[0m running 'onnx2tf -i best.onnx -o best_saved_model -nuo --non_verbose -oiqt -qt per-tensor'\n", + "\u001b[34m\u001b[1mTensorFlow SavedModel:\u001b[0m export success ✅ 794.3s, saved as best_saved_model (322.7 MB)\n", + "\u001b[34m\u001b[1mEdge TPU:\u001b[0m WARNING ⚠️ Edge TPU known bug https://github.com/ultralytics/ultralytics/issues/1185\n", + "\n", + "\u001b[34m\u001b[1mEdge TPU:\u001b[0m starting export with Edge TPU compiler 16.0.384591198...\n", + "\u001b[34m\u001b[1mEdge TPU:\u001b[0m running 'edgetpu_compiler -s -d -k 10 --out_dir best_saved_model best_saved_model/best_full_integer_quant.tflite'\n", + "\u001b[34m\u001b[1mEdge TPU:\u001b[0m export success ✅ 102.0s, saved as best_saved_model/best_full_integer_quant_edgetpu.tflite (28.4 MB)\n", + "\n", + "Export complete (902.6s)\n", + "Results saved to \u001b[1m/content\u001b[0m\n", + "Predict: yolo predict task=detect model=best_saved_model/best_full_integer_quant_edgetpu.tflite imgsz=640 \n", + "Validate: yolo val task=detect model=best_saved_model/best_full_integer_quant_edgetpu.tflite imgsz=640 data=data.yaml \n", + "Visualize: https://netron.app\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'best_saved_model/best_full_integer_quant_edgetpu.tflite'" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 2 + } + ], + "source": [ + "from ultralytics import YOLO\n", + "\n", + "# Load a model\n", + "model = YOLO('best.pt') # load a custom trained\n", + "\n", + "# Export the model\n", + "model.export(format='edgetpu')" + ] + } + ] +} \ No newline at end of file diff --git a/runs/detect/predict/326186_image.jpg b/runs/detect/predict/326186_image.jpg new file mode 100644 index 000000000..0abfdb633 Binary files /dev/null and b/runs/detect/predict/326186_image.jpg differ diff --git a/runs/detect/predict/548645_image.jpg b/runs/detect/predict/548645_image.jpg new file mode 100644 index 000000000..abf99d361 Binary files /dev/null and b/runs/detect/predict/548645_image.jpg differ diff --git a/runs/detect/predict/README.md b/runs/detect/predict/README.md new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/runs/detect/predict/README.md @@ -0,0 +1 @@ + diff --git a/runs/detect/train/F1_curve.png b/runs/detect/train/F1_curve.png new file mode 100644 index 000000000..03de38765 Binary files /dev/null and b/runs/detect/train/F1_curve.png differ diff --git a/runs/detect/train/PR_curve.png b/runs/detect/train/PR_curve.png new file mode 100644 index 000000000..439c83b52 Binary files /dev/null and b/runs/detect/train/PR_curve.png differ diff --git a/runs/detect/train/P_curve.png b/runs/detect/train/P_curve.png new file mode 100644 index 000000000..4269ed9ae Binary files /dev/null and b/runs/detect/train/P_curve.png differ diff --git a/runs/detect/train/R_curve.png b/runs/detect/train/R_curve.png new file mode 100644 index 000000000..16d16ff15 Binary files /dev/null and b/runs/detect/train/R_curve.png differ diff --git a/runs/detect/train/args.yaml b/runs/detect/train/args.yaml new file mode 100644 index 000000000..2e20a8c66 --- /dev/null +++ b/runs/detect/train/args.yaml @@ -0,0 +1,95 @@ +task: detect +mode: train +model: yolov8m.pt +data: data.yaml +epochs: 50 +patience: 50 +batch: 16 +imgsz: 640 +save: true +save_period: -1 +cache: false +device: null +workers: 8 +project: null +name: null +exist_ok: false +pretrained: false +optimizer: SGD +verbose: true +seed: 0 +deterministic: true +single_cls: false +rect: false +cos_lr: false +close_mosaic: 0 +resume: false +amp: true +overlap_mask: true +mask_ratio: 4 +dropout: 0.0 +val: true +split: val +save_json: false +save_hybrid: false +conf: null +iou: 0.7 +max_det: 300 +half: false +dnn: false +plots: true +source: null +show: false +save_txt: false +save_conf: false +save_crop: false +show_labels: true +show_conf: true +vid_stride: 1 +line_width: null +visualize: false +augment: false +agnostic_nms: false +classes: null +retina_masks: false +boxes: true +format: torchscript +keras: false +optimize: false +int8: false +dynamic: false +simplify: false +opset: null +workspace: 4 +nms: false +lr0: 0.01 +lrf: 0.01 +momentum: 0.937 +weight_decay: 0.0005 +warmup_epochs: 3.0 +warmup_momentum: 0.8 +warmup_bias_lr: 0.1 +box: 7.5 +cls: 0.5 +dfl: 1.5 +pose: 12.0 +kobj: 1.0 +label_smoothing: 0.0 +nbs: 64 +hsv_h: 0.015 +hsv_s: 0.7 +hsv_v: 0.4 +degrees: 0.0 +translate: 0.1 +scale: 0.5 +shear: 0.0 +perspective: 0.0 +flipud: 0.0 +fliplr: 0.5 +mosaic: 1.0 +mixup: 0.0 +copy_paste: 0.0 +cfg: null +v5loader: false +tracker: botsort.yaml +save_dir: runs/detect/train diff --git a/runs/detect/train/confusion_matrix.png b/runs/detect/train/confusion_matrix.png new file mode 100644 index 000000000..816115c30 Binary files /dev/null and b/runs/detect/train/confusion_matrix.png differ diff --git a/runs/detect/train/confusion_matrix_normalized.png b/runs/detect/train/confusion_matrix_normalized.png new file mode 100644 index 000000000..74e033b84 Binary files /dev/null and b/runs/detect/train/confusion_matrix_normalized.png differ diff --git a/runs/detect/train/labels.jpg b/runs/detect/train/labels.jpg new file mode 100644 index 000000000..9b44e80bb Binary files /dev/null and b/runs/detect/train/labels.jpg differ diff --git a/runs/detect/train/labels_correlogram.jpg b/runs/detect/train/labels_correlogram.jpg new file mode 100644 index 000000000..c9c13cfd0 Binary files /dev/null and b/runs/detect/train/labels_correlogram.jpg differ diff --git a/runs/detect/train/results.csv b/runs/detect/train/results.csv new file mode 100644 index 000000000..3174b733d --- /dev/null +++ b/runs/detect/train/results.csv @@ -0,0 +1,51 @@ + epoch, train/box_loss, train/cls_loss, train/dfl_loss, metrics/precision(B), metrics/recall(B), metrics/mAP50(B), metrics/mAP50-95(B), val/box_loss, val/cls_loss, val/dfl_loss, lr/pg0, lr/pg1, lr/pg2 + 0, 1.4665, 1.0686, 1.1764, 0.63291, 0.47623, 0.48576, 0.25309, 1.4484, 0.83893, 1.1646, 0.07002, 0.0033311, 0.0033311 + 1, 1.4292, 0.89704, 1.1542, 0.55545, 0.4481, 0.49619, 0.25305, 1.4662, 0.86115, 1.1945, 0.039888, 0.0065325, 0.0065325 + 2, 1.4679, 0.94042, 1.1814, 0.66346, 0.48059, 0.49977, 0.24428, 1.4887, 0.94678, 1.2297, 0.0096242, 0.0096019, 0.0096019 + 3, 1.48, 0.9472, 1.1985, 0.71948, 0.49161, 0.54027, 0.2789, 1.4552, 0.87615, 1.2199, 0.009406, 0.009406, 0.009406 + 4, 1.4446, 0.89998, 1.1844, 0.72937, 0.52242, 0.55664, 0.28875, 1.4243, 0.82367, 1.1956, 0.009406, 0.009406, 0.009406 + 5, 1.4124, 0.85962, 1.1722, 0.77785, 0.548, 0.60591, 0.31784, 1.3984, 0.78084, 1.1837, 0.009208, 0.009208, 0.009208 + 6, 1.387, 0.82742, 1.1578, 0.77486, 0.54581, 0.60805, 0.32589, 1.3819, 0.76897, 1.1773, 0.00901, 0.00901, 0.00901 + 7, 1.3647, 0.80553, 1.151, 0.81746, 0.56006, 0.64266, 0.34496, 1.3657, 0.74355, 1.1706, 0.008812, 0.008812, 0.008812 + 8, 1.3426, 0.78597, 1.1393, 0.83447, 0.57133, 0.66039, 0.3591, 1.3397, 0.71807, 1.1583, 0.008614, 0.008614, 0.008614 + 9, 1.3308, 0.76735, 1.1341, 0.81864, 0.58259, 0.65984, 0.36438, 1.3385, 0.70457, 1.1566, 0.008416, 0.008416, 0.008416 + 10, 1.3141, 0.74786, 1.1289, 0.82997, 0.58367, 0.66684, 0.3701, 1.3131, 0.68042, 1.1447, 0.008218, 0.008218, 0.008218 + 11, 1.2991, 0.73732, 1.1244, 0.84046, 0.61169, 0.69157, 0.39176, 1.3014, 0.66727, 1.1356, 0.00802, 0.00802, 0.00802 + 12, 1.2869, 0.72337, 1.118, 0.8409, 0.61792, 0.69485, 0.39294, 1.2885, 0.65676, 1.133, 0.007822, 0.007822, 0.007822 + 13, 1.2746, 0.71262, 1.1076, 0.79548, 0.66677, 0.72311, 0.41495, 1.2754, 0.64053, 1.1209, 0.007624, 0.007624, 0.007624 + 14, 1.2611, 0.69766, 1.1013, 0.75492, 0.71022, 0.74922, 0.43225, 1.2603, 0.63146, 1.1127, 0.007426, 0.007426, 0.007426 + 15, 1.2482, 0.68934, 1.0974, 0.85514, 0.63837, 0.73968, 0.435, 1.2518, 0.62749, 1.1136, 0.007228, 0.007228, 0.007228 + 16, 1.2386, 0.6771, 1.0912, 0.76235, 0.71206, 0.75095, 0.44883, 1.2372, 0.61023, 1.1064, 0.00703, 0.00703, 0.00703 + 17, 1.2256, 0.66826, 1.0878, 0.80782, 0.70982, 0.77536, 0.45617, 1.2357, 0.60348, 1.1019, 0.006832, 0.006832, 0.006832 + 18, 1.2121, 0.65771, 1.0838, 0.8424, 0.69432, 0.78606, 0.46666, 1.2242, 0.59267, 1.0981, 0.006634, 0.006634, 0.006634 + 19, 1.2036, 0.64876, 1.0757, 0.84793, 0.69706, 0.78936, 0.47486, 1.2116, 0.58191, 1.09, 0.006436, 0.006436, 0.006436 + 20, 1.1944, 0.64382, 1.0739, 0.82887, 0.7093, 0.79207, 0.47608, 1.2038, 0.5813, 1.0892, 0.006238, 0.006238, 0.006238 + 21, 1.1869, 0.63467, 1.0691, 0.809, 0.72606, 0.78706, 0.48117, 1.1914, 0.57094, 1.0817, 0.00604, 0.00604, 0.00604 + 22, 1.1725, 0.62433, 1.0647, 0.83781, 0.73163, 0.79938, 0.48298, 1.1857, 0.56503, 1.0824, 0.005842, 0.005842, 0.005842 + 23, 1.167, 0.62137, 1.0665, 0.83386, 0.74591, 0.80556, 0.49676, 1.1755, 0.55364, 1.0761, 0.005644, 0.005644, 0.005644 + 24, 1.1564, 0.6116, 1.0553, 0.84504, 0.74164, 0.80754, 0.49763, 1.1667, 0.54849, 1.069, 0.005446, 0.005446, 0.005446 + 25, 1.1453, 0.60497, 1.049, 0.84395, 0.75807, 0.81264, 0.50557, 1.1611, 0.54248, 1.0671, 0.005248, 0.005248, 0.005248 + 26, 1.136, 0.59607, 1.0485, 0.85307, 0.75947, 0.81346, 0.5096, 1.1545, 0.53537, 1.0644, 0.00505, 0.00505, 0.00505 + 27, 1.1294, 0.59379, 1.0481, 0.88126, 0.73026, 0.81685, 0.51163, 1.1424, 0.52764, 1.0631, 0.004852, 0.004852, 0.004852 + 28, 1.1156, 0.58483, 1.0415, 0.87565, 0.73043, 0.81568, 0.51928, 1.1321, 0.52466, 1.0571, 0.004654, 0.004654, 0.004654 + 29, 1.1076, 0.57762, 1.0359, 0.86835, 0.75127, 0.81997, 0.5167, 1.1244, 0.51999, 1.0537, 0.004456, 0.004456, 0.004456 + 30, 1.1012, 0.57228, 1.031, 0.89242, 0.73038, 0.8206, 0.51705, 1.1193, 0.51575, 1.0494, 0.004258, 0.004258, 0.004258 + 31, 1.0884, 0.56384, 1.0262, 0.88841, 0.73707, 0.81937, 0.52203, 1.1153, 0.51296, 1.0458, 0.00406, 0.00406, 0.00406 + 32, 1.0795, 0.55783, 1.0233, 0.87252, 0.75911, 0.82546, 0.52407, 1.1093, 0.5097, 1.0427, 0.003862, 0.003862, 0.003862 + 33, 1.0695, 0.54986, 1.0175, 0.87419, 0.76553, 0.8262, 0.52608, 1.1033, 0.50657, 1.0387, 0.003664, 0.003664, 0.003664 + 34, 1.0623, 0.54566, 1.0151, 0.8822, 0.76433, 0.82898, 0.53233, 1.0961, 0.50318, 1.0361, 0.003466, 0.003466, 0.003466 + 35, 1.0539, 0.54156, 1.0137, 0.88138, 0.74525, 0.82789, 0.53502, 1.0927, 0.50096, 1.036, 0.003268, 0.003268, 0.003268 + 36, 1.0433, 0.53318, 1.0098, 0.88771, 0.74485, 0.82965, 0.53511, 1.0876, 0.4981, 1.0343, 0.00307, 0.00307, 0.00307 + 37, 1.0315, 0.52627, 1.0025, 0.88824, 0.7426, 0.82979, 0.53622, 1.0823, 0.49603, 1.0317, 0.002872, 0.002872, 0.002872 + 38, 1.0258, 0.52214, 1.001, 0.89039, 0.74394, 0.83214, 0.53975, 1.077, 0.49322, 1.0289, 0.002674, 0.002674, 0.002674 + 39, 1.0141, 0.5164, 0.99512, 0.88936, 0.74667, 0.83227, 0.54089, 1.0734, 0.49018, 1.0271, 0.002476, 0.002476, 0.002476 + 40, 1.0036, 0.51094, 0.99345, 0.87936, 0.75413, 0.83265, 0.54233, 1.0701, 0.48778, 1.0253, 0.002278, 0.002278, 0.002278 + 41, 0.99659, 0.50528, 0.98952, 0.879, 0.75516, 0.83203, 0.54254, 1.0673, 0.48505, 1.0234, 0.00208, 0.00208, 0.00208 + 42, 0.98782, 0.49967, 0.98803, 0.88342, 0.77713, 0.83611, 0.54647, 1.064, 0.48235, 1.0222, 0.001882, 0.001882, 0.001882 + 43, 0.97566, 0.49386, 0.985, 0.88652, 0.77751, 0.83749, 0.54883, 1.0608, 0.48011, 1.0212, 0.001684, 0.001684, 0.001684 + 44, 0.96863, 0.48942, 0.98249, 0.88837, 0.77546, 0.83717, 0.54994, 1.0578, 0.47793, 1.0203, 0.001486, 0.001486, 0.001486 + 45, 0.95796, 0.48182, 0.97951, 0.89002, 0.77585, 0.83772, 0.55085, 1.055, 0.47591, 1.0193, 0.001288, 0.001288, 0.001288 + 46, 0.95034, 0.47756, 0.97533, 0.88906, 0.77564, 0.83596, 0.54958, 1.0525, 0.47392, 1.0182, 0.00109, 0.00109, 0.00109 + 47, 0.94234, 0.47121, 0.97001, 0.88929, 0.77778, 0.83803, 0.55084, 1.0501, 0.47236, 1.0172, 0.000892, 0.000892, 0.000892 + 48, 0.93355, 0.46576, 0.96926, 0.88663, 0.78079, 0.8384, 0.55181, 1.048, 0.47104, 1.0165, 0.000694, 0.000694, 0.000694 + 49, 0.92617, 0.46376, 0.96714, 0.8864, 0.78229, 0.83835, 0.55212, 1.0459, 0.46982, 1.0157, 0.000496, 0.000496, 0.000496 diff --git a/runs/detect/train/results.png b/runs/detect/train/results.png new file mode 100644 index 000000000..573bf8852 Binary files /dev/null and b/runs/detect/train/results.png differ diff --git a/runs/detect/train/train_batch0.jpg b/runs/detect/train/train_batch0.jpg new file mode 100644 index 000000000..1cd408d89 Binary files /dev/null and b/runs/detect/train/train_batch0.jpg differ diff --git a/runs/detect/train/train_batch1.jpg b/runs/detect/train/train_batch1.jpg new file mode 100644 index 000000000..7b65a13ff Binary files /dev/null and b/runs/detect/train/train_batch1.jpg differ diff --git a/runs/detect/train/train_batch2.jpg b/runs/detect/train/train_batch2.jpg new file mode 100644 index 000000000..f9bcb4042 Binary files /dev/null and b/runs/detect/train/train_batch2.jpg differ diff --git a/runs/detect/train/val_batch0_labels.jpg b/runs/detect/train/val_batch0_labels.jpg new file mode 100644 index 000000000..3f0aa0e47 Binary files /dev/null and b/runs/detect/train/val_batch0_labels.jpg differ diff --git a/runs/detect/train/val_batch0_pred.jpg b/runs/detect/train/val_batch0_pred.jpg new file mode 100644 index 000000000..80d232003 Binary files /dev/null and b/runs/detect/train/val_batch0_pred.jpg differ diff --git a/runs/detect/train/val_batch1_labels.jpg b/runs/detect/train/val_batch1_labels.jpg new file mode 100644 index 000000000..b8b2acdbc Binary files /dev/null and b/runs/detect/train/val_batch1_labels.jpg differ diff --git a/runs/detect/train/val_batch1_pred.jpg b/runs/detect/train/val_batch1_pred.jpg new file mode 100644 index 000000000..e14e62e91 Binary files /dev/null and b/runs/detect/train/val_batch1_pred.jpg differ diff --git a/runs/detect/train/val_batch2_labels.jpg b/runs/detect/train/val_batch2_labels.jpg new file mode 100644 index 000000000..a2f282ec6 Binary files /dev/null and b/runs/detect/train/val_batch2_labels.jpg differ diff --git a/runs/detect/train/val_batch2_pred.jpg b/runs/detect/train/val_batch2_pred.jpg new file mode 100644 index 000000000..32e9a9a64 Binary files /dev/null and b/runs/detect/train/val_batch2_pred.jpg differ diff --git a/runs/detect/train/weights/best.onnx b/runs/detect/train/weights/best.onnx new file mode 100644 index 000000000..b2e3f1bcb Binary files /dev/null and b/runs/detect/train/weights/best.onnx differ diff --git a/runs/detect/train/weights/best.pt b/runs/detect/train/weights/best.pt new file mode 100644 index 000000000..e5a240029 Binary files /dev/null and b/runs/detect/train/weights/best.pt differ diff --git a/runs/detect/train/weights/best_openvino_model/best.bin b/runs/detect/train/weights/best_openvino_model/best.bin new file mode 100644 index 000000000..30bd6929e Binary files /dev/null and b/runs/detect/train/weights/best_openvino_model/best.bin differ diff --git a/runs/detect/train/weights/best_openvino_model/best.xml b/runs/detect/train/weights/best_openvino_model/best.xml new file mode 100644 index 000000000..5345ea92a --- /dev/null +++ b/runs/detect/train/weights/best_openvino_model/best.xml @@ -0,0 +1,10242 @@ + + + + + + + + 1 + 3 + 640 + 640 + + + + + + + + 1 + 2 + 8400 + + + + + + + + 48 + 3 + 3 + 3 + + + + + + + + 1 + 3 + 640 + 640 + + + 48 + 3 + 3 + 3 + + + + + 1 + 48 + 320 + 320 + + + + + + + + 1 + 48 + 1 + 1 + + + + + + + + 1 + 48 + 320 + 320 + + + 1 + 48 + 1 + 1 + + + + + 1 + 48 + 320 + 320 + + + + + + + 1 + 48 + 320 + 320 + + + + + 1 + 48 + 320 + 320 + + + + + + + + 96 + 48 + 3 + 3 + + + + + + + + 1 + 48 + 320 + 320 + + + 96 + 48 + 3 + 3 + + + + + 1 + 96 + 160 + 160 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 160 + 160 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 160 + 160 + + + + + + + 1 + 96 + 160 + 160 + + + + + 1 + 96 + 160 + 160 + + + + + + + + 96 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 160 + 160 + + + 96 + 96 + 1 + 1 + + + + + 1 + 96 + 160 + 160 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 160 + 160 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 160 + 160 + + + + + + + 1 + 96 + 160 + 160 + + + + + 1 + 96 + 160 + 160 + + + + + + + + + + + + + + 2 + + + + + + + 1 + 96 + 160 + 160 + + + + 2 + + + + + 1 + 48 + 160 + 160 + + + 1 + 48 + 160 + 160 + + + + + + + + 48 + 48 + 3 + 3 + + + + + + + + 1 + 48 + 160 + 160 + + + 48 + 48 + 3 + 3 + + + + + 1 + 48 + 160 + 160 + + + + + + + + 1 + 48 + 1 + 1 + + + + + + + + 1 + 48 + 160 + 160 + + + 1 + 48 + 1 + 1 + + + + + 1 + 48 + 160 + 160 + + + + + + + 1 + 48 + 160 + 160 + + + + + 1 + 48 + 160 + 160 + + + + + + + + 48 + 48 + 3 + 3 + + + + + + + + 1 + 48 + 160 + 160 + + + 48 + 48 + 3 + 3 + + + + + 1 + 48 + 160 + 160 + + + + + + + + 1 + 48 + 1 + 1 + + + + + + + + 1 + 48 + 160 + 160 + + + 1 + 48 + 1 + 1 + + + + + 1 + 48 + 160 + 160 + + + + + + + 1 + 48 + 160 + 160 + + + + + 1 + 48 + 160 + 160 + + + + + + + + 1 + 48 + 160 + 160 + + + 1 + 48 + 160 + 160 + + + + + 1 + 48 + 160 + 160 + + + + + + + + 48 + 48 + 3 + 3 + + + + + + + + 1 + 48 + 160 + 160 + + + 48 + 48 + 3 + 3 + + + + + 1 + 48 + 160 + 160 + + + + + + + + 1 + 48 + 1 + 1 + + + + + + + + 1 + 48 + 160 + 160 + + + 1 + 48 + 1 + 1 + + + + + 1 + 48 + 160 + 160 + + + + + + + 1 + 48 + 160 + 160 + + + + + 1 + 48 + 160 + 160 + + + + + + + + 48 + 48 + 3 + 3 + + + + + + + + 1 + 48 + 160 + 160 + + + 48 + 48 + 3 + 3 + + + + + 1 + 48 + 160 + 160 + + + + + + + + 1 + 48 + 1 + 1 + + + + + + + + 1 + 48 + 160 + 160 + + + 1 + 48 + 1 + 1 + + + + + 1 + 48 + 160 + 160 + + + + + + + 1 + 48 + 160 + 160 + + + + + 1 + 48 + 160 + 160 + + + + + + + + 1 + 48 + 160 + 160 + + + 1 + 48 + 160 + 160 + + + + + 1 + 48 + 160 + 160 + + + + + + + + 1 + 48 + 160 + 160 + + + 1 + 48 + 160 + 160 + + + 1 + 48 + 160 + 160 + + + 1 + 48 + 160 + 160 + + + + + 1 + 192 + 160 + 160 + + + + + + + + 96 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 160 + 160 + + + 96 + 192 + 1 + 1 + + + + + 1 + 96 + 160 + 160 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 160 + 160 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 160 + 160 + + + + + + + 1 + 96 + 160 + 160 + + + + + 1 + 96 + 160 + 160 + + + + + + + + 192 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 160 + 160 + + + 192 + 96 + 3 + 3 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 80 + 80 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + 1 + 192 + 80 + 80 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 192 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 80 + 80 + + + 192 + 192 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 80 + 80 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + 1 + 192 + 80 + 80 + + + + + 1 + 192 + 80 + 80 + + + + + + + + + + + + + + 2 + + + + + + + 1 + 192 + 80 + 80 + + + + 2 + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + + + 1 + 576 + 80 + 80 + + + + + + + + 192 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 80 + 80 + + + 192 + 576 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 80 + 80 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + 1 + 192 + 80 + 80 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 384 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 80 + 80 + + + 384 + 192 + 3 + 3 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 1 + 384 + 1 + 1 + + + + + + + + 1 + 384 + 40 + 40 + + + 1 + 384 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + 1 + 384 + 40 + 40 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 384 + 384 + 1 + 1 + + + + + + + + 1 + 384 + 40 + 40 + + + 384 + 384 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 1 + 384 + 1 + 1 + + + + + + + + 1 + 384 + 40 + 40 + + + 1 + 384 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + 1 + 384 + 40 + 40 + + + + + 1 + 384 + 40 + 40 + + + + + + + + + + + + + + 2 + + + + + + + 1 + 384 + 40 + 40 + + + + 2 + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + + + 1 + 1152 + 40 + 40 + + + + + + + + 384 + 1152 + 1 + 1 + + + + + + + + 1 + 1152 + 40 + 40 + + + 384 + 1152 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 1 + 384 + 1 + 1 + + + + + + + + 1 + 384 + 40 + 40 + + + 1 + 384 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + 1 + 384 + 40 + 40 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 576 + 384 + 3 + 3 + + + + + + + + 1 + 384 + 40 + 40 + + + 576 + 384 + 3 + 3 + + + + + 1 + 576 + 20 + 20 + + + + + + + + 1 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 20 + 20 + + + 1 + 576 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + 1 + 576 + 20 + 20 + + + + + 1 + 576 + 20 + 20 + + + + + + + + 576 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 20 + 20 + + + 576 + 576 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + + 1 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 20 + 20 + + + 1 + 576 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + 1 + 576 + 20 + 20 + + + + + 1 + 576 + 20 + 20 + + + + + + + + + + + + + + 2 + + + + + + + 1 + 576 + 20 + 20 + + + + 2 + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + + + + + + 288 + 288 + 3 + 3 + + + + + + + + 1 + 288 + 20 + 20 + + + 288 + 288 + 3 + 3 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 1 + 1 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 1 + 1 + + + + + 1 + 288 + 20 + 20 + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 288 + 288 + 3 + 3 + + + + + + + + 1 + 288 + 20 + 20 + + + 288 + 288 + 3 + 3 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 1 + 1 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 1 + 1 + + + + + 1 + 288 + 20 + 20 + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 288 + 288 + 3 + 3 + + + + + + + + 1 + 288 + 20 + 20 + + + 288 + 288 + 3 + 3 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 1 + 1 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 1 + 1 + + + + + 1 + 288 + 20 + 20 + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 288 + 288 + 3 + 3 + + + + + + + + 1 + 288 + 20 + 20 + + + 288 + 288 + 3 + 3 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 1 + 1 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 1 + 1 + + + + + 1 + 288 + 20 + 20 + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + + + 1 + 1152 + 20 + 20 + + + + + + + + 576 + 1152 + 1 + 1 + + + + + + + + 1 + 1152 + 20 + 20 + + + 576 + 1152 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + + 1 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 20 + 20 + + + 1 + 576 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + 1 + 576 + 20 + 20 + + + + + 1 + 576 + 20 + 20 + + + + + + + + 288 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 20 + 20 + + + 288 + 576 + 1 + 1 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 1 + 1 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 1 + 1 + + + + + 1 + 288 + 20 + 20 + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + + + 1 + 1152 + 20 + 20 + + + + + + + + 576 + 1152 + 1 + 1 + + + + + + + + 1 + 1152 + 20 + 20 + + + 576 + 1152 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + + 1 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 20 + 20 + + + 1 + 576 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + 1 + 576 + 20 + 20 + + + + + 1 + 576 + 20 + 20 + + + + + + + + 1 + 576 + 20 + 20 + + + + + 4 + + + + + + + + 4 + + + + + 4 + + + + + + + + 4 + + + + + + + + 4 + + + 4 + + + + + 4 + + + + + + + + 4 + + + + + 4 + + + + + + + + 1 + 576 + 20 + 20 + + + 4 + + + 4 + + + + + 1 + 576 + 40 + 40 + + + + + + + + 1 + 576 + 40 + 40 + + + 1 + 384 + 40 + 40 + + + + + 1 + 960 + 40 + 40 + + + + + + + + 384 + 960 + 1 + 1 + + + + + + + + 1 + 960 + 40 + 40 + + + 384 + 960 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 1 + 384 + 1 + 1 + + + + + + + + 1 + 384 + 40 + 40 + + + 1 + 384 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + 1 + 384 + 40 + 40 + + + + + 1 + 384 + 40 + 40 + + + + + + + + + + + + + 1 + 384 + 40 + 40 + + + + 2 + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + + + 1 + 768 + 40 + 40 + + + + + + + + 384 + 768 + 1 + 1 + + + + + + + + 1 + 768 + 40 + 40 + + + 384 + 768 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 1 + 384 + 1 + 1 + + + + + + + + 1 + 384 + 40 + 40 + + + 1 + 384 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + 1 + 384 + 40 + 40 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 1 + 384 + 40 + 40 + + + + + 4 + + + + + + + + 4 + + + + + 4 + + + + + + + + 4 + + + + + + + + 4 + + + 4 + + + + + 4 + + + + + + + + 4 + + + + + 4 + + + + + + + + 1 + 384 + 40 + 40 + + + 4 + + + 4 + + + + + 1 + 384 + 80 + 80 + + + + + + + + 1 + 384 + 80 + 80 + + + 1 + 192 + 80 + 80 + + + + + 1 + 576 + 80 + 80 + + + + + + + + 192 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 80 + 80 + + + 192 + 576 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 80 + 80 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + 1 + 192 + 80 + 80 + + + + + 1 + 192 + 80 + 80 + + + + + + + + + + + + + 1 + 192 + 80 + 80 + + + + 2 + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 96 + 96 + 3 + 3 + + + + + + + + 1 + 96 + 80 + 80 + + + 96 + 96 + 3 + 3 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 1 + 1 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 1 + 1 + + + + + 1 + 96 + 80 + 80 + + + + + + + 1 + 96 + 80 + 80 + + + + + 1 + 96 + 80 + 80 + + + + + + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + 1 + 96 + 80 + 80 + + + + + 1 + 384 + 80 + 80 + + + + + + + + 192 + 384 + 1 + 1 + + + + + + + + 1 + 384 + 80 + 80 + + + 192 + 384 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 80 + 80 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + 1 + 192 + 80 + 80 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 64 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 80 + 80 + + + 64 + 192 + 3 + 3 + + + + + 1 + 64 + 80 + 80 + + + + + + + + 1 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 80 + 80 + + + 1 + 64 + 1 + 1 + + + + + 1 + 64 + 80 + 80 + + + + + + + 1 + 64 + 80 + 80 + + + + + 1 + 64 + 80 + 80 + + + + + + + + 64 + 64 + 3 + 3 + + + + + + + + 1 + 64 + 80 + 80 + + + 64 + 64 + 3 + 3 + + + + + 1 + 64 + 80 + 80 + + + + + + + + 1 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 80 + 80 + + + 1 + 64 + 1 + 1 + + + + + 1 + 64 + 80 + 80 + + + + + + + 1 + 64 + 80 + 80 + + + + + 1 + 64 + 80 + 80 + + + + + + + + 64 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 80 + 80 + + + 64 + 64 + 1 + 1 + + + + + 1 + 64 + 80 + 80 + + + + + + + + 1 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 80 + 80 + + + 1 + 64 + 1 + 1 + + + + + 1 + 64 + 80 + 80 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 80 + 80 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 80 + 80 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + 1 + 192 + 80 + 80 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 80 + 80 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 80 + 80 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 80 + 80 + + + + + + + 1 + 192 + 80 + 80 + + + + + 1 + 192 + 80 + 80 + + + + + + + + 11 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 80 + 80 + + + 11 + 192 + 1 + 1 + + + + + 1 + 11 + 80 + 80 + + + + + + + + 1 + 11 + 1 + 1 + + + + + + + + 1 + 11 + 80 + 80 + + + 1 + 11 + 1 + 1 + + + + + 1 + 11 + 80 + 80 + + + + + + + + 1 + 64 + 80 + 80 + + + 1 + 11 + 80 + 80 + + + + + 1 + 75 + 80 + 80 + + + + + + + + 3 + + + + + + + + 1 + 75 + 80 + 80 + + + 3 + + + + + 1 + 75 + 6400 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 80 + 80 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 384 + 40 + 40 + + + + + 1 + 576 + 40 + 40 + + + + + + + + 384 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 40 + 40 + + + 384 + 576 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 1 + 384 + 1 + 1 + + + + + + + + 1 + 384 + 40 + 40 + + + 1 + 384 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + 1 + 384 + 40 + 40 + + + + + 1 + 384 + 40 + 40 + + + + + + + + + + + + + 1 + 384 + 40 + 40 + + + + 2 + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 40 + 40 + + + + + 1 + 768 + 40 + 40 + + + + + + + + 384 + 768 + 1 + 1 + + + + + + + + 1 + 768 + 40 + 40 + + + 384 + 768 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 1 + 384 + 1 + 1 + + + + + + + + 1 + 384 + 40 + 40 + + + 1 + 384 + 1 + 1 + + + + + 1 + 384 + 40 + 40 + + + + + + + 1 + 384 + 40 + 40 + + + + + 1 + 384 + 40 + 40 + + + + + + + + 64 + 384 + 3 + 3 + + + + + + + + 1 + 384 + 40 + 40 + + + 64 + 384 + 3 + 3 + + + + + 1 + 64 + 40 + 40 + + + + + + + + 1 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 40 + 40 + + + 1 + 64 + 1 + 1 + + + + + 1 + 64 + 40 + 40 + + + + + + + 1 + 64 + 40 + 40 + + + + + 1 + 64 + 40 + 40 + + + + + + + + 64 + 64 + 3 + 3 + + + + + + + + 1 + 64 + 40 + 40 + + + 64 + 64 + 3 + 3 + + + + + 1 + 64 + 40 + 40 + + + + + + + + 1 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 40 + 40 + + + 1 + 64 + 1 + 1 + + + + + 1 + 64 + 40 + 40 + + + + + + + 1 + 64 + 40 + 40 + + + + + 1 + 64 + 40 + 40 + + + + + + + + 64 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 40 + 40 + + + 64 + 64 + 1 + 1 + + + + + 1 + 64 + 40 + 40 + + + + + + + + 1 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 40 + 40 + + + 1 + 64 + 1 + 1 + + + + + 1 + 64 + 40 + 40 + + + + + + + + 192 + 384 + 3 + 3 + + + + + + + + 1 + 384 + 40 + 40 + + + 192 + 384 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 40 + 40 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 40 + 40 + + + + + + + 1 + 192 + 40 + 40 + + + + + 1 + 192 + 40 + 40 + + + + + + + + 11 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 40 + 40 + + + 11 + 192 + 1 + 1 + + + + + 1 + 11 + 40 + 40 + + + + + + + + 1 + 11 + 1 + 1 + + + + + + + + 1 + 11 + 40 + 40 + + + 1 + 11 + 1 + 1 + + + + + 1 + 11 + 40 + 40 + + + + + + + + 1 + 64 + 40 + 40 + + + 1 + 11 + 40 + 40 + + + + + 1 + 75 + 40 + 40 + + + + + + + + 3 + + + + + + + + 1 + 75 + 40 + 40 + + + 3 + + + + + 1 + 75 + 1600 + + + + + + + + 384 + 384 + 3 + 3 + + + + + + + + 1 + 384 + 40 + 40 + + + 384 + 384 + 3 + 3 + + + + + 1 + 384 + 20 + 20 + + + + + + + + 1 + 384 + 1 + 1 + + + + + + + + 1 + 384 + 20 + 20 + + + 1 + 384 + 1 + 1 + + + + + 1 + 384 + 20 + 20 + + + + + + + 1 + 384 + 20 + 20 + + + + + 1 + 384 + 20 + 20 + + + + + + + + 1 + 384 + 20 + 20 + + + 1 + 576 + 20 + 20 + + + + + 1 + 960 + 20 + 20 + + + + + + + + 576 + 960 + 1 + 1 + + + + + + + + 1 + 960 + 20 + 20 + + + 576 + 960 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + + 1 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 20 + 20 + + + 1 + 576 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + 1 + 576 + 20 + 20 + + + + + 1 + 576 + 20 + 20 + + + + + + + + + + + + + 1 + 576 + 20 + 20 + + + + 2 + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + + + + + + 288 + 288 + 3 + 3 + + + + + + + + 1 + 288 + 20 + 20 + + + 288 + 288 + 3 + 3 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 1 + 1 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 1 + 1 + + + + + 1 + 288 + 20 + 20 + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 288 + 288 + 3 + 3 + + + + + + + + 1 + 288 + 20 + 20 + + + 288 + 288 + 3 + 3 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 1 + 1 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 1 + 1 + + + + + 1 + 288 + 20 + 20 + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 288 + 288 + 3 + 3 + + + + + + + + 1 + 288 + 20 + 20 + + + 288 + 288 + 3 + 3 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 1 + 1 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 1 + 1 + + + + + 1 + 288 + 20 + 20 + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 288 + 288 + 3 + 3 + + + + + + + + 1 + 288 + 20 + 20 + + + 288 + 288 + 3 + 3 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 1 + 1 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 1 + 1 + + + + + 1 + 288 + 20 + 20 + + + + + + + 1 + 288 + 20 + 20 + + + + + 1 + 288 + 20 + 20 + + + + + + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + 1 + 288 + 20 + 20 + + + + + 1 + 1152 + 20 + 20 + + + + + + + + 576 + 1152 + 1 + 1 + + + + + + + + 1 + 1152 + 20 + 20 + + + 576 + 1152 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + + 1 + 576 + 1 + 1 + + + + + + + + 1 + 576 + 20 + 20 + + + 1 + 576 + 1 + 1 + + + + + 1 + 576 + 20 + 20 + + + + + + + 1 + 576 + 20 + 20 + + + + + 1 + 576 + 20 + 20 + + + + + + + + 64 + 576 + 3 + 3 + + + + + + + + 1 + 576 + 20 + 20 + + + 64 + 576 + 3 + 3 + + + + + 1 + 64 + 20 + 20 + + + + + + + + 1 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 20 + 20 + + + 1 + 64 + 1 + 1 + + + + + 1 + 64 + 20 + 20 + + + + + + + 1 + 64 + 20 + 20 + + + + + 1 + 64 + 20 + 20 + + + + + + + + 64 + 64 + 3 + 3 + + + + + + + + 1 + 64 + 20 + 20 + + + 64 + 64 + 3 + 3 + + + + + 1 + 64 + 20 + 20 + + + + + + + + 1 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 20 + 20 + + + 1 + 64 + 1 + 1 + + + + + 1 + 64 + 20 + 20 + + + + + + + 1 + 64 + 20 + 20 + + + + + 1 + 64 + 20 + 20 + + + + + + + + 64 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 20 + 20 + + + 64 + 64 + 1 + 1 + + + + + 1 + 64 + 20 + 20 + + + + + + + + 1 + 64 + 1 + 1 + + + + + + + + 1 + 64 + 20 + 20 + + + 1 + 64 + 1 + 1 + + + + + 1 + 64 + 20 + 20 + + + + + + + + 192 + 576 + 3 + 3 + + + + + + + + 1 + 576 + 20 + 20 + + + 192 + 576 + 3 + 3 + + + + + 1 + 192 + 20 + 20 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 20 + 20 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 20 + 20 + + + + + + + 1 + 192 + 20 + 20 + + + + + 1 + 192 + 20 + 20 + + + + + + + + 192 + 192 + 3 + 3 + + + + + + + + 1 + 192 + 20 + 20 + + + 192 + 192 + 3 + 3 + + + + + 1 + 192 + 20 + 20 + + + + + + + + 1 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 20 + 20 + + + 1 + 192 + 1 + 1 + + + + + 1 + 192 + 20 + 20 + + + + + + + 1 + 192 + 20 + 20 + + + + + 1 + 192 + 20 + 20 + + + + + + + + 11 + 192 + 1 + 1 + + + + + + + + 1 + 192 + 20 + 20 + + + 11 + 192 + 1 + 1 + + + + + 1 + 11 + 20 + 20 + + + + + + + + 1 + 11 + 1 + 1 + + + + + + + + 1 + 11 + 20 + 20 + + + 1 + 11 + 1 + 1 + + + + + 1 + 11 + 20 + 20 + + + + + + + + 1 + 64 + 20 + 20 + + + 1 + 11 + 20 + 20 + + + + + 1 + 75 + 20 + 20 + + + + + + + + 3 + + + + + + + + 1 + 75 + 20 + 20 + + + 3 + + + + + 1 + 75 + 400 + + + + + + + + 1 + 75 + 6400 + + + 1 + 75 + 1600 + + + 1 + 75 + 400 + + + + + 1 + 75 + 8400 + + + + + + + + + + + + + + 2 + + + + + + + 1 + 75 + 8400 + + + + 2 + + + + + 1 + 64 + 8400 + + + 1 + 11 + 8400 + + + + + + + + 4 + + + + + + + + 1 + 64 + 8400 + + + 4 + + + + + 1 + 4 + 16 + 8400 + + + + + + + + 4 + + + + + + + 1 + 4 + 16 + 8400 + + + 4 + + + + + 1 + 16 + 4 + 8400 + + + + + + + + 1 + 16 + 4 + 8400 + + + + + 1 + 16 + 4 + 8400 + + + + + + + + 1 + 16 + 1 + 1 + + + + + + + + 1 + 16 + 4 + 8400 + + + 1 + 16 + 1 + 1 + + + + + 1 + 1 + 4 + 8400 + + + + + + + + 3 + + + + + + + + 1 + 1 + 4 + 8400 + + + 3 + + + + + 1 + 4 + 8400 + + + + + + + + 2 + + + + + + + + 2 + + + + + + + + 1 + + + + + + + + 1 + 4 + 8400 + + + + + 3 + + + + + + + + 1 + + + + + + + + + + + + + + 3 + + + 1 + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + + 1 + + + + + + + 2 + + + 1 + + + 1 + + + 1 + + + + + 2 + + + + + + + + 2 + + + + + + + + 1 + 4 + 8400 + + + 2 + + + 2 + + + 2 + + + + + 1 + 2 + 8400 + + + + + + + + 1 + 2 + 8400 + + + 1 + 2 + 8400 + + + + + 1 + 2 + 8400 + + + + + + + + 1 + 2 + 8400 + + + + + + + + 2 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + 2 + + + 1 + + + 1 + + + 1 + + + + + 2 + + + + + + + + 2 + + + + + + + + 1 + + + + + + + + 1 + + + 1 + + + + + 1 + + + + + + + 2 + + + 1 + + + 1 + + + 1 + + + + + 2 + + + + + + + + 2 + + + + + + + + 1 + 4 + 8400 + + + 2 + + + 2 + + + 2 + + + + + 1 + 2 + 8400 + + + + + + + + 1 + 2 + 8400 + + + 1 + 2 + 8400 + + + + + 1 + 2 + 8400 + + + + + + + + 1 + 2 + 8400 + + + 1 + 2 + 8400 + + + + + 1 + 2 + 8400 + + + + + + + + 1 + 1 + 1 + + + + + + + + 1 + 2 + 8400 + + + 1 + 1 + 1 + + + + + 1 + 2 + 8400 + + + + + + + + 1 + 2 + 8400 + + + 1 + 2 + 8400 + + + + + 1 + 2 + 8400 + + + + + + + + 1 + 2 + 8400 + + + 1 + 2 + 8400 + + + + + 1 + 4 + 8400 + + + + + + + + 1 + 1 + 8400 + + + + + + + + 1 + 4 + 8400 + + + 1 + 1 + 8400 + + + + + 1 + 4 + 8400 + + + + + + + 1 + 11 + 8400 + + + + + 1 + 11 + 8400 + + + + + + + + 1 + 4 + 8400 + + + 1 + 11 + 8400 + + + + + 1 + 15 + 8400 + + + + + + + 1 + 15 + 8400 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/runs/detect/train/weights/best_openvino_model/metadata.yaml b/runs/detect/train/weights/best_openvino_model/metadata.yaml new file mode 100644 index 000000000..fbc91d391 --- /dev/null +++ b/runs/detect/train/weights/best_openvino_model/metadata.yaml @@ -0,0 +1,22 @@ +description: Ultralytics best model trained on data.yaml +author: Ultralytics +license: AGPL-3.0 https://ultralytics.com/license +version: 8.0.105 +stride: 32 +task: detect +batch: 1 +imgsz: +- 640 +- 640 +names: + 0: biker + 1: car + 2: pedestrian + 3: trafficLight + 4: trafficLight-Green + 5: trafficLight-GreenLeft + 6: trafficLight-Red + 7: trafficLight-RedLeft + 8: trafficLight-Yellow + 9: trafficLight-YellowLeft + 10: truck diff --git a/runs/detect/train/weights/best_saved_model/best_float16.tflite b/runs/detect/train/weights/best_saved_model/best_float16.tflite new file mode 100644 index 000000000..9a35bc97f Binary files /dev/null and b/runs/detect/train/weights/best_saved_model/best_float16.tflite differ diff --git a/runs/detect/train/weights/best_saved_model/best_float32.tflite b/runs/detect/train/weights/best_saved_model/best_float32.tflite new file mode 100644 index 000000000..2e047a5a8 Binary files /dev/null and b/runs/detect/train/weights/best_saved_model/best_float32.tflite differ diff --git a/runs/detect/train/weights/best_saved_model/best_full_integer_quant.tflite b/runs/detect/train/weights/best_saved_model/best_full_integer_quant.tflite new file mode 100644 index 000000000..c9efb4345 Binary files /dev/null and b/runs/detect/train/weights/best_saved_model/best_full_integer_quant.tflite differ diff --git a/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.log b/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.log new file mode 100644 index 000000000..39c69fc42 --- /dev/null +++ b/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.log @@ -0,0 +1,32 @@ +Edge TPU Compiler version 16.0.384591198 +Input: best_saved_model/best_full_integer_quant.tflite +Output: best_saved_model/best_full_integer_quant_edgetpu.tflite + +Operator Count Status + +CONV_2D 83 Mapped to Edge TPU +CONV_2D 1 More than one subgraph is not supported +STRIDED_SLICE 16 Mapped to Edge TPU +STRIDED_SLICE 2 More than one subgraph is not supported +STRIDED_SLICE 2 Operation is otherwise supported, but not mapped due to some unspecified limitation +MAX_POOL_2D 3 Mapped to Edge TPU +CONCATENATION 1 Operation is otherwise supported, but not mapped due to some unspecified limitation +CONCATENATION 16 Mapped to Edge TPU +CONCATENATION 2 More than one subgraph is not supported +SUB 2 More than one subgraph is not supported +TRANSPOSE 1 Mapped to Edge TPU +TRANSPOSE 4 Operation is otherwise supported, but not mapped due to some unspecified limitation +LOGISTIC 1 More than one subgraph is not supported +LOGISTIC 77 Mapped to Edge TPU +QUANTIZE 2 Mapped to Edge TPU +QUANTIZE 1 More than one subgraph is not supported +SOFTMAX 1 More than one subgraph is not supported +ADD 12 Mapped to Edge TPU +ADD 2 More than one subgraph is not supported +PAD 7 Mapped to Edge TPU +RESHAPE 2 Operation is otherwise supported, but not mapped due to some unspecified limitation +RESHAPE 1 Mapped to Edge TPU +RESHAPE 2 More than one subgraph is not supported +RESIZE_NEAREST_NEIGHBOR 2 Mapped to Edge TPU +MUL 77 Mapped to Edge TPU +MUL 2 More than one subgraph is not supported diff --git a/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.svg b/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.svg new file mode 100644 index 000000000..15b774f09 --- /dev/null +++ b/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.svg @@ -0,0 +1,3 @@ +1×640×640×31×80×80×751×75×4001×40×40×751×75×80×801×75×64001×75×40×401×75×16001×75×84001×75×84001×64×84001×4×16×84001×16×4×84001×4×8400×161×4×8400×161×4×8400×11×4×84001×4×84001×2×84001×2×84001×2×84001×2×84001×2×84001×2×84001×2×84001×2×84001×2×84001×4×84001×4×84001×11×84001×11×84001×11×84001×15×8400serving_default_images:0 +0int8[1,640,640,3]edgetpu-custom-op0Transpose1int32[4]perm〈4〉Reshape2int32[3]shape〈3〉Transpose3int32[4]perm〈4〉Reshape4int32[3]shape〈3〉Concatenation5StridedSlice6int32[3]begin〈3〉int32[3]end〈3〉int32[3]strides〈3〉Reshape7int32[4]shape〈4〉Transpose8int32[4]perm〈4〉Transpose9int32[4]perm〈4〉Softmax10Conv2D11int8[1,1,1,16]filter〈1×1×1×16〉int32[1]bias〈1〉Reshape12int32[3]shape〈3〉StridedSlice13int32[3]begin〈3〉int32[3]end〈3〉int32[3]strides〈3〉Sub14int8[1,2,8400]A〈1×2×8400〉StridedSlice15int32[3]begin〈3〉int32[3]end〈3〉int32[3]strides〈3〉Add16int8[1,2,8400]B〈1×2×8400〉Add17Mul18int8[1,1,1]B〈1×1×1〉Sub19Concatenation20Mul21int8[1,1,8400]B〈1×1×8400〉StridedSlice22int32[3]begin〈3〉int32[3]end〈3〉int32[3]strides〈3〉Logistic23Quantize24Concatenation25PartitionedCall:0 +46int8[1,15,8400] \ No newline at end of file diff --git a/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.tflite b/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.tflite new file mode 100644 index 000000000..9024bfac4 Binary files /dev/null and b/runs/detect/train/weights/best_saved_model/best_full_integer_quant_edgetpu.tflite differ diff --git a/runs/detect/train/weights/best_saved_model/best_int8.tflite b/runs/detect/train/weights/best_saved_model/best_int8.tflite new file mode 100644 index 000000000..d1c74b8dd Binary files /dev/null and b/runs/detect/train/weights/best_saved_model/best_int8.tflite differ diff --git a/runs/detect/train/weights/best_saved_model/best_integer_quant.tflite b/runs/detect/train/weights/best_saved_model/best_integer_quant.tflite new file mode 100644 index 000000000..0adfb2aa8 Binary files /dev/null and b/runs/detect/train/weights/best_saved_model/best_integer_quant.tflite differ diff --git a/runs/detect/train/weights/best_saved_model/fingerprint.pb b/runs/detect/train/weights/best_saved_model/fingerprint.pb new file mode 100644 index 000000000..8ab22d63b --- /dev/null +++ b/runs/detect/train/weights/best_saved_model/fingerprint.pb @@ -0,0 +1 @@ +ǯœϰ߫3 @(ҿв2 \ No newline at end of file diff --git a/runs/detect/train/weights/best_saved_model/metadata.yaml b/runs/detect/train/weights/best_saved_model/metadata.yaml new file mode 100644 index 000000000..fbc91d391 --- /dev/null +++ b/runs/detect/train/weights/best_saved_model/metadata.yaml @@ -0,0 +1,22 @@ +description: Ultralytics best model trained on data.yaml +author: Ultralytics +license: AGPL-3.0 https://ultralytics.com/license +version: 8.0.105 +stride: 32 +task: detect +batch: 1 +imgsz: +- 640 +- 640 +names: + 0: biker + 1: car + 2: pedestrian + 3: trafficLight + 4: trafficLight-Green + 5: trafficLight-GreenLeft + 6: trafficLight-Red + 7: trafficLight-RedLeft + 8: trafficLight-Yellow + 9: trafficLight-YellowLeft + 10: truck diff --git a/runs/detect/train/weights/best_saved_model/saved_model.pb b/runs/detect/train/weights/best_saved_model/saved_model.pb new file mode 100644 index 000000000..9f968798a Binary files /dev/null and b/runs/detect/train/weights/best_saved_model/saved_model.pb differ diff --git a/runs/detect/train/weights/best_saved_model/variables/variables.data-00000-of-00001 b/runs/detect/train/weights/best_saved_model/variables/variables.data-00000-of-00001 new file mode 100644 index 000000000..20253941b Binary files /dev/null and b/runs/detect/train/weights/best_saved_model/variables/variables.data-00000-of-00001 differ diff --git a/runs/detect/train/weights/best_saved_model/variables/variables.index b/runs/detect/train/weights/best_saved_model/variables/variables.index new file mode 100644 index 000000000..a9ddd7750 Binary files /dev/null and b/runs/detect/train/weights/best_saved_model/variables/variables.index differ diff --git a/runs/detect/train/weights/last.pt b/runs/detect/train/weights/last.pt new file mode 100644 index 000000000..cc280176b Binary files /dev/null and b/runs/detect/train/weights/last.pt differ diff --git a/runs/detect/val/F1_curve.png b/runs/detect/val/F1_curve.png new file mode 100644 index 000000000..9ae837e7a Binary files /dev/null and b/runs/detect/val/F1_curve.png differ diff --git a/runs/detect/val/PR_curve.png b/runs/detect/val/PR_curve.png new file mode 100644 index 000000000..43c3c17dc Binary files /dev/null and b/runs/detect/val/PR_curve.png differ diff --git a/runs/detect/val/P_curve.png b/runs/detect/val/P_curve.png new file mode 100644 index 000000000..c35b78107 Binary files /dev/null and b/runs/detect/val/P_curve.png differ diff --git a/runs/detect/val/R_curve.png b/runs/detect/val/R_curve.png new file mode 100644 index 000000000..410b2e415 Binary files /dev/null and b/runs/detect/val/R_curve.png differ diff --git a/runs/detect/val/confusion_matrix.png b/runs/detect/val/confusion_matrix.png new file mode 100644 index 000000000..1c4ba2078 Binary files /dev/null and b/runs/detect/val/confusion_matrix.png differ diff --git a/runs/detect/val/confusion_matrix_normalized.png b/runs/detect/val/confusion_matrix_normalized.png new file mode 100644 index 000000000..87477596e Binary files /dev/null and b/runs/detect/val/confusion_matrix_normalized.png differ diff --git a/runs/detect/val/val_batch0_labels.jpg b/runs/detect/val/val_batch0_labels.jpg new file mode 100644 index 000000000..9a3b17649 Binary files /dev/null and b/runs/detect/val/val_batch0_labels.jpg differ diff --git a/runs/detect/val/val_batch0_pred.jpg b/runs/detect/val/val_batch0_pred.jpg new file mode 100644 index 000000000..4ede35b1b Binary files /dev/null and b/runs/detect/val/val_batch0_pred.jpg differ diff --git a/runs/detect/val/val_batch1_labels.jpg b/runs/detect/val/val_batch1_labels.jpg new file mode 100644 index 000000000..2f44d4b1f Binary files /dev/null and b/runs/detect/val/val_batch1_labels.jpg differ diff --git a/runs/detect/val/val_batch1_pred.jpg b/runs/detect/val/val_batch1_pred.jpg new file mode 100644 index 000000000..3e3fca0ef Binary files /dev/null and b/runs/detect/val/val_batch1_pred.jpg differ diff --git a/runs/detect/val/val_batch2_labels.jpg b/runs/detect/val/val_batch2_labels.jpg new file mode 100644 index 000000000..84ba93336 Binary files /dev/null and b/runs/detect/val/val_batch2_labels.jpg differ diff --git a/runs/detect/val/val_batch2_pred.jpg b/runs/detect/val/val_batch2_pred.jpg new file mode 100644 index 000000000..90f313262 Binary files /dev/null and b/runs/detect/val/val_batch2_pred.jpg differ diff --git a/train.ipynb b/train.ipynb new file mode 100644 index 000000000..ee15e4d00 --- /dev/null +++ b/train.ipynb @@ -0,0 +1,663 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sun May 21 15:50:19 2023 \n", + "+-----------------------------------------------------------------------------+\n", + "| NVIDIA-SMI 525.105.17 Driver Version: 525.105.17 CUDA Version: 12.0 |\n", + "|-------------------------------+----------------------+----------------------+\n", + "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", + "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", + "| | | MIG M. |\n", + "|===============================+======================+======================|\n", + "| 0 NVIDIA A10G On | 00000000:00:1E.0 Off | 0 |\n", + "| 0% 23C P8 12W / 300W | 0MiB / 23028MiB | 0% Default |\n", + "| | | N/A |\n", + "+-------------------------------+----------------------+----------------------+\n", + " \n", + "+-----------------------------------------------------------------------------+\n", + "| Processes: |\n", + "| GPU GI CI PID Type Process name GPU Memory |\n", + "| ID ID Usage |\n", + "|=============================================================================|\n", + "| No running processes found |\n", + "+-----------------------------------------------------------------------------+\n" + ] + } + ], + "source": [ + "!nvidia-smi\n", + "!pip install -q ultralytics wandb" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Failed to detect the name of this notebook, you can set it manually with the WANDB_NOTEBOOK_NAME environment variable to enable code saving.\n", + "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mrishiraj\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n", + "\u001b[34m\u001b[1mwandb\u001b[0m: \u001b[33mWARNING\u001b[0m If you're specifying your api key in code, ensure this code is not shared publicly.\n", + "\u001b[34m\u001b[1mwandb\u001b[0m: \u001b[33mWARNING\u001b[0m Consider setting the WANDB_API_KEY environment variable, or running `wandb login` from the command line.\n", + "\u001b[34m\u001b[1mwandb\u001b[0m: Appending key for api.wandb.ai to your netrc file: /home/ubuntu/.netrc\n" + ] + }, + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import wandb\n", + "wandb.login()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " % Total % Received % Xferd Average Speed Time Time Time Current\n", + " Dload Upload Total Spent Left Speed\n", + "100 886 100 886 0 0 1543 0 --:--:-- --:--:-- --:--:-- 1543\n", + "100 1120M 100 1120M 0 0 64.9M 0 0:00:17 0:00:17 --:--:-- 67.7M 51.3M 0 0:00:21 0:00:07 0:00:14 64.7M\n" + ] + } + ], + "source": [ + "!curl -L \"https://universe.roboflow.com/ds/SrOZL9LzLO?key=GemlNaWU3k\" > traffic.zip" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "!unzip -q traffic.zip" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import shutil\n", + "\n", + "# Set the path to the directory containing images and labels\n", + "data_dir = \"export\"\n", + "\n", + "# Set the path to the directory where the train and validation sets will be created\n", + "train_dir = \"train\"\n", + "valid_dir = \"valid\"\n", + "\n", + "# Set the ratio of data to be used for the validation set\n", + "validation_ratio = 0.2\n", + "\n", + "# Get the list of all image files in the data directory\n", + "image_files = [f for f in os.listdir(os.path.join(data_dir, \"images\")) if f.endswith('.jpg')]\n", + "\n", + "# Calculate the number of images to be used for validation\n", + "num_validation = int(validation_ratio * len(image_files))\n", + "\n", + "# Shuffle the list of image files randomly\n", + "import random\n", + "random.seed(69)\n", + "random.shuffle(image_files)\n", + "\n", + "# Split the image files into training and validation sets\n", + "train_image_files = image_files[num_validation:]\n", + "valid_image_files = image_files[:num_validation]\n", + "\n", + "# Create the directories for the training and validation sets\n", + "os.makedirs(os.path.join(train_dir, \"images\"), exist_ok=True)\n", + "os.makedirs(os.path.join(train_dir, \"labels\"), exist_ok=True)\n", + "os.makedirs(os.path.join(valid_dir, \"images\"), exist_ok=True)\n", + "os.makedirs(os.path.join(valid_dir, \"labels\"), exist_ok=True)\n", + "\n", + "# Copy the training set images and labels to the appropriate directories\n", + "for image_file in train_image_files:\n", + " # Copy the image file\n", + " shutil.copy(os.path.join(data_dir, \"images\", image_file), os.path.join(train_dir, \"images\"))\n", + " # Copy the corresponding label file\n", + " label_file = image_file.replace('.jpg', '.txt')\n", + " shutil.copy(os.path.join(data_dir, \"labels\", label_file), os.path.join(train_dir, \"labels\"))\n", + "\n", + "# Copy the validation set images and labels to the appropriate directories\n", + "for image_file in valid_image_files:\n", + " # Copy the image file\n", + " shutil.copy(os.path.join(data_dir, \"images\", image_file), os.path.join(valid_dir, \"images\"))\n", + " # Copy the corresponding label file\n", + " label_file = image_file.replace('.jpg', '.txt')\n", + " shutil.copy(os.path.join(data_dir, \"labels\", label_file), os.path.join(valid_dir, \"labels\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "file_path = 'data.yaml'\n", + "new_content = '''train: /home/ubuntu/oneAPI/train/images\n", + "val: /home/ubuntu/oneAPI/valid/images\n", + "\n", + "nc: 11\n", + "names: ['biker', 'car', 'pedestrian', 'trafficLight', 'trafficLight-Green', 'trafficLight-GreenLeft', 'trafficLight-Red', 'trafficLight-RedLeft', 'trafficLight-Yellow', 'trafficLight-YellowLeft', 'truck']\n", + "\n", + "roboflow:\n", + " workspace: roboflow-gw7yv\n", + " project: self-driving-car\n", + " version: 3\n", + " license: MIT\n", + " url: https://universe.roboflow.com/roboflow-gw7yv/self-driving-car/dataset/3'''\n", + "\n", + "with open(file_path, 'w') as file:\n", + " file.write(new_content)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "!sudo rm -rf export\n", + "!sudo rm -rf traffic.zip" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m.pt to yolov8m.pt...\n", + "100%|██████████| 49.7M/49.7M [00:03<00:00, 16.6MB/s]\n", + "Ultralytics YOLOv8.0.105 🚀 Python-3.9.16 torch-2.0.1 CUDA:0 (NVIDIA A10G, 22548MiB)\n", + "\u001b[34m\u001b[1myolo/engine/trainer: \u001b[0mtask=detect, mode=train, model=yolov8m.pt, data=data.yaml, epochs=50, patience=50, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=None, exist_ok=False, pretrained=False, optimizer=SGD, verbose=True, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=0, resume=False, amp=True, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_width=None, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs/detect/train\n", + "Overriding model.yaml nc=80 with nc=11\n", + "\n", + " from n params module arguments \n", + " 0 -1 1 1392 ultralytics.nn.modules.conv.Conv [3, 48, 3, 2] \n", + " 1 -1 1 41664 ultralytics.nn.modules.conv.Conv [48, 96, 3, 2] \n", + " 2 -1 2 111360 ultralytics.nn.modules.block.C2f [96, 96, 2, True] \n", + " 3 -1 1 166272 ultralytics.nn.modules.conv.Conv [96, 192, 3, 2] \n", + " 4 -1 4 813312 ultralytics.nn.modules.block.C2f [192, 192, 4, True] \n", + " 5 -1 1 664320 ultralytics.nn.modules.conv.Conv [192, 384, 3, 2] \n", + " 6 -1 4 3248640 ultralytics.nn.modules.block.C2f [384, 384, 4, True] \n", + " 7 -1 1 1991808 ultralytics.nn.modules.conv.Conv [384, 576, 3, 2] \n", + " 8 -1 2 3985920 ultralytics.nn.modules.block.C2f [576, 576, 2, True] \n", + " 9 -1 1 831168 ultralytics.nn.modules.block.SPPF [576, 576, 5] \n", + " 10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n", + " 11 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1] \n", + " 12 -1 2 1993728 ultralytics.nn.modules.block.C2f [960, 384, 2] \n", + " 13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] \n", + " 14 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1] \n", + " 15 -1 2 517632 ultralytics.nn.modules.block.C2f [576, 192, 2] \n", + " 16 -1 1 332160 ultralytics.nn.modules.conv.Conv [192, 192, 3, 2] \n", + " 17 [-1, 12] 1 0 ultralytics.nn.modules.conv.Concat [1] \n", + " 18 -1 2 1846272 ultralytics.nn.modules.block.C2f [576, 384, 2] \n", + " 19 -1 1 1327872 ultralytics.nn.modules.conv.Conv [384, 384, 3, 2] \n", + " 20 [-1, 9] 1 0 ultralytics.nn.modules.conv.Concat [1] \n", + " 21 -1 2 4207104 ultralytics.nn.modules.block.C2f [960, 576, 2] \n", + " 22 [15, 18, 21] 1 3782065 ultralytics.nn.modules.head.Detect [11, [192, 384, 576]] \n", + "Model summary: 295 layers, 25862689 parameters, 25862673 gradients\n", + "\n", + "Transferred 469/475 items from pretrained weights\n" + ] + }, + { + "data": { + "text/html": [ + "Tracking run with wandb version 0.15.3" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Run data is saved locally in /home/ubuntu/oneAPI/wandb/run-20230521_155104-rodq3idl" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Syncing run balmy-shadow-8 to Weights & Biases (docs)
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + " View project at https://wandb.ai/rishiraj/YOLOv8" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + " View run at https://wandb.ai/rishiraj/YOLOv8/runs/rodq3idl" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[34m\u001b[1mAMP: \u001b[0mrunning Automatic Mixed Precision (AMP) checks with YOLOv8n...\n", + "Downloading https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt to yolov8n.pt...\n", + "100%|██████████| 6.23M/6.23M [00:01<00:00, 5.33MB/s]\n", + "\u001b[34m\u001b[1mAMP: \u001b[0mchecks passed ✅\n", + "\u001b[34m\u001b[1moptimizer:\u001b[0m SGD(lr=0.01) with parameter groups 77 weight(decay=0.0), 84 weight(decay=0.0005), 83 bias\n", + "\u001b[34m\u001b[1mtrain: \u001b[0mScanning /home/ubuntu/oneAPI/train/labels... 23840 images, 2789 backgrounds, 0 corrupt: 100%|██████████| 23840/23840 [00:17<00:00, 1337.21it/s]\n", + "\u001b[34m\u001b[1mtrain: \u001b[0mWARNING ⚠️ /home/ubuntu/oneAPI/train/images/1478021875081281646_jpg.rf.e9552980cf8c6fef4aa02cb84c6364f5.jpg: 1 duplicate labels removed\n", + "\u001b[34m\u001b[1mtrain: \u001b[0mWARNING ⚠️ /home/ubuntu/oneAPI/train/images/1478897760163798179_jpg.rf.5Pzrj3Eg3vZuyl7ztKAt.jpg: 1 duplicate labels removed\n", + "\u001b[34m\u001b[1mtrain: \u001b[0mWARNING ⚠️ /home/ubuntu/oneAPI/train/images/1478898145212453716_jpg.rf.6a92d7d7dd523160c990c4e4375bcea9.jpg: 1 duplicate labels removed\n", + "\u001b[34m\u001b[1mtrain: \u001b[0mWARNING ⚠️ /home/ubuntu/oneAPI/train/images/1478898145212453716_jpg.rf.nCaFkPk4AFMjTQAM4RTJ.jpg: 1 duplicate labels removed\n", + "\u001b[34m\u001b[1mtrain: \u001b[0mNew cache created: /home/ubuntu/oneAPI/train/labels.cache\n", + "\u001b[34m\u001b[1malbumentations: \u001b[0mBlur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01), CLAHE(p=0.01, clip_limit=(1, 4.0), tile_grid_size=(8, 8))\n", + "\u001b[34m\u001b[1mval: \u001b[0mScanning /home/ubuntu/oneAPI/valid/labels... 5960 images, 711 backgrounds, 0 corrupt: 100%|██████████| 5960/5960 [00:04<00:00, 1277.54it/s]\n", + "\u001b[34m\u001b[1mval: \u001b[0mWARNING ⚠️ /home/ubuntu/oneAPI/valid/images/1478021875081281646_jpg.rf.bEZPhuyXU5hIovwQSTIp.jpg: 1 duplicate labels removed\n", + "\u001b[34m\u001b[1mval: \u001b[0mWARNING ⚠️ /home/ubuntu/oneAPI/valid/images/1478897760163798179_jpg.rf.98623be50b02ff17d58f89fddf7a0c6c.jpg: 1 duplicate labels removed\n", + "\u001b[34m\u001b[1mval: \u001b[0mNew cache created: /home/ubuntu/oneAPI/valid/labels.cache\n", + "Plotting labels to runs/detect/train/labels.jpg... \n", + "Image sizes 640 train, 640 val\n", + "Using 8 dataloader workers\n", + "Logging results to \u001b[1mruns/detect/train\u001b[0m\n", + "Starting training for 50 epochs...\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 1/50 6.86G 1.467 1.069 1.176 78 640: 100%|██████████| 1490/1490 [07:15<00:00, 3.42it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.74it/s]\n", + " all 5960 38965 0.633 0.476 0.486 0.253\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 2/50 7.16G 1.429 0.897 1.154 94 640: 100%|██████████| 1490/1490 [07:13<00:00, 3.44it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.73it/s]\n", + " all 5960 38965 0.555 0.448 0.496 0.253\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 3/50 7.06G 1.468 0.9404 1.181 106 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.663 0.481 0.5 0.244\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 4/50 7.05G 1.48 0.9472 1.199 185 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.72it/s]\n", + " all 5960 38965 0.719 0.492 0.54 0.279\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 5/50 7G 1.445 0.9 1.184 116 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.71it/s]\n", + " all 5960 38965 0.729 0.522 0.557 0.289\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 6/50 7.05G 1.412 0.8596 1.172 160 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.72it/s]\n", + " all 5960 38965 0.778 0.548 0.606 0.318\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 7/50 7.05G 1.387 0.8274 1.158 97 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.70it/s]\n", + " all 5960 38965 0.775 0.546 0.608 0.326\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 8/50 7.08G 1.365 0.8055 1.151 137 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.72it/s]\n", + " all 5960 38965 0.817 0.56 0.643 0.345\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 9/50 6.99G 1.343 0.786 1.139 150 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.834 0.571 0.66 0.359\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 10/50 7.03G 1.331 0.7673 1.134 162 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.74it/s]\n", + " all 5960 38965 0.819 0.583 0.66 0.364\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 11/50 7.04G 1.314 0.7479 1.129 142 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.73it/s]\n", + " all 5960 38965 0.83 0.584 0.667 0.37\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 12/50 6.98G 1.299 0.7373 1.124 127 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.72it/s]\n", + " all 5960 38965 0.84 0.612 0.692 0.392\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 13/50 7.1G 1.287 0.7234 1.118 193 640: 100%|██████████| 1490/1490 [07:12<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.72it/s]\n", + " all 5960 38965 0.841 0.618 0.695 0.393\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 14/50 7.07G 1.275 0.7126 1.108 160 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.73it/s]\n", + " all 5960 38965 0.795 0.667 0.723 0.415\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 15/50 7.02G 1.261 0.6977 1.101 162 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.77it/s]\n", + " all 5960 38965 0.755 0.71 0.749 0.432\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 16/50 7.03G 1.248 0.6893 1.097 140 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.77it/s]\n", + " all 5960 38965 0.855 0.638 0.74 0.435\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 17/50 7.03G 1.239 0.6771 1.091 143 640: 100%|██████████| 1490/1490 [07:12<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.762 0.712 0.751 0.449\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 18/50 7G 1.226 0.6683 1.088 155 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.77it/s]\n", + " all 5960 38965 0.808 0.71 0.775 0.456\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 19/50 7.03G 1.212 0.6577 1.084 136 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.78it/s]\n", + " all 5960 38965 0.842 0.694 0.786 0.467\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 20/50 7.02G 1.204 0.6488 1.076 186 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.848 0.697 0.789 0.475\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 21/50 7.03G 1.194 0.6438 1.074 113 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.77it/s]\n", + " all 5960 38965 0.829 0.709 0.792 0.476\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 22/50 7.02G 1.187 0.6347 1.069 171 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.73it/s]\n", + " all 5960 38965 0.809 0.726 0.787 0.481\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 23/50 7.05G 1.172 0.6243 1.065 117 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.74it/s]\n", + " all 5960 38965 0.838 0.732 0.799 0.483\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 24/50 7.03G 1.167 0.6214 1.067 109 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.74it/s]\n", + " all 5960 38965 0.834 0.746 0.806 0.497\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 25/50 7.12G 1.156 0.6116 1.055 145 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.73it/s]\n", + " all 5960 38965 0.845 0.742 0.808 0.498\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 26/50 6.96G 1.145 0.605 1.049 134 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.74it/s]\n", + " all 5960 38965 0.844 0.758 0.813 0.506\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 27/50 7.04G 1.136 0.5961 1.048 97 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.853 0.759 0.813 0.51\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 28/50 7.02G 1.129 0.5938 1.048 143 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.881 0.73 0.817 0.512\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 29/50 7.04G 1.116 0.5848 1.041 115 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.78it/s]\n", + " all 5960 38965 0.876 0.73 0.816 0.519\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 30/50 7.02G 1.108 0.5776 1.036 125 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.78it/s]\n", + " all 5960 38965 0.868 0.751 0.82 0.517\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 31/50 7.06G 1.101 0.5723 1.031 135 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.74it/s]\n", + " all 5960 38965 0.892 0.73 0.821 0.517\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 32/50 7.05G 1.088 0.5638 1.026 121 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.75it/s]\n", + " all 5960 38965 0.888 0.737 0.819 0.522\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 33/50 7.02G 1.079 0.5578 1.023 186 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.873 0.759 0.825 0.524\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 34/50 6.98G 1.069 0.5499 1.018 230 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.77it/s]\n", + " all 5960 38965 0.874 0.766 0.826 0.526\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 35/50 7.03G 1.062 0.5457 1.015 132 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.75it/s]\n", + " all 5960 38965 0.882 0.764 0.829 0.532\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 36/50 7.02G 1.054 0.5416 1.014 222 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.881 0.745 0.828 0.535\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 37/50 7.02G 1.043 0.5332 1.01 148 640: 100%|██████████| 1490/1490 [07:12<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.888 0.745 0.83 0.535\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 38/50 7.03G 1.032 0.5263 1.003 117 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.888 0.743 0.83 0.536\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 39/50 7.07G 1.026 0.5221 1.001 158 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.74it/s]\n", + " all 5960 38965 0.89 0.744 0.832 0.54\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 40/50 7.04G 1.014 0.5164 0.9951 205 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.75it/s]\n", + " all 5960 38965 0.889 0.747 0.832 0.541\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 41/50 7.05G 1.004 0.5109 0.9934 153 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.68it/s]\n", + " all 5960 38965 0.879 0.754 0.833 0.542\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 42/50 7.11G 0.9966 0.5053 0.9895 194 640: 100%|██████████| 1490/1490 [07:10<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.77it/s]\n", + " all 5960 38965 0.879 0.755 0.832 0.543\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 43/50 7.05G 0.9878 0.4997 0.988 158 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.67it/s]\n", + " all 5960 38965 0.883 0.777 0.836 0.546\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 44/50 7.05G 0.9757 0.4939 0.985 155 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.68it/s]\n", + " all 5960 38965 0.887 0.778 0.837 0.549\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 45/50 6.98G 0.9686 0.4894 0.9825 147 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.74it/s]\n", + " all 5960 38965 0.888 0.775 0.837 0.55\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 46/50 7.08G 0.958 0.4818 0.9795 126 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.76it/s]\n", + " all 5960 38965 0.89 0.776 0.838 0.551\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 47/50 7.02G 0.9503 0.4776 0.9753 125 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.45it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.74it/s]\n", + " all 5960 38965 0.889 0.776 0.836 0.55\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 48/50 7.02G 0.9423 0.4712 0.97 109 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:49<00:00, 3.75it/s]\n", + " all 5960 38965 0.889 0.778 0.838 0.551\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 49/50 7.01G 0.9336 0.4658 0.9693 149 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:50<00:00, 3.73it/s]\n", + " all 5960 38965 0.887 0.781 0.838 0.552\n", + "\n", + " Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n", + " 50/50 7.03G 0.9262 0.4638 0.9671 185 640: 100%|██████████| 1490/1490 [07:11<00:00, 3.46it/s]\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:56<00:00, 3.30it/s]\n", + " all 5960 38965 0.886 0.782 0.838 0.552\n", + "/home/ubuntu/src/miniconda3/envs/aikit/lib/python3.9/site-packages/matplotlib/colors.py:721: RuntimeWarning: invalid value encountered in less\n", + " xa[xa < 0] = -1\n", + "/home/ubuntu/src/miniconda3/envs/aikit/lib/python3.9/site-packages/matplotlib/colors.py:721: RuntimeWarning: invalid value encountered in less\n", + " xa[xa < 0] = -1\n", + "\n", + "50 epochs completed in 6.726 hours.\n", + "Optimizer stripped from runs/detect/train/weights/last.pt, 52.0MB\n", + "Optimizer stripped from runs/detect/train/weights/best.pt, 52.0MB\n", + "\n", + "Validating runs/detect/train/weights/best.pt...\n", + "Ultralytics YOLOv8.0.105 🚀 Python-3.9.16 torch-2.0.1 CUDA:0 (NVIDIA A10G, 22548MiB)\n", + "Model summary (fused): 218 layers, 25846129 parameters, 0 gradients\n", + " Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 187/187 [00:54<00:00, 3.45it/s]\n", + " all 5960 38965 0.886 0.783 0.838 0.552\n", + " biker 5960 702 0.844 0.769 0.835 0.543\n", + " car 5960 25544 0.907 0.856 0.896 0.665\n", + " pedestrian 5960 4502 0.836 0.706 0.774 0.457\n", + " trafficLight 5960 994 0.873 0.862 0.906 0.657\n", + " trafficLight-Green 5960 2124 0.852 0.731 0.807 0.445\n", + "trafficLight-GreenLeft 5960 133 0.833 0.767 0.829 0.523\n", + " trafficLight-Red 5960 2707 0.918 0.836 0.9 0.611\n", + " trafficLight-RedLeft 5960 682 0.906 0.819 0.884 0.589\n", + " trafficLight-Yellow 5960 126 0.907 0.714 0.801 0.425\n", + "trafficLight-YellowLeft 5960 6 1 0.643 0.669 0.436\n", + " truck 5960 1445 0.867 0.904 0.921 0.722\n", + "/home/ubuntu/src/miniconda3/envs/aikit/lib/python3.9/site-packages/matplotlib/colors.py:721: RuntimeWarning: invalid value encountered in less\n", + " xa[xa < 0] = -1\n", + "/home/ubuntu/src/miniconda3/envs/aikit/lib/python3.9/site-packages/matplotlib/colors.py:721: RuntimeWarning: invalid value encountered in less\n", + " xa[xa < 0] = -1\n", + "Speed: 0.1ms preprocess, 3.8ms inference, 0.0ms loss, 0.7ms postprocess per image\n", + "Results saved to \u001b[1mruns/detect/train\u001b[0m\n", + "Ultralytics YOLOv8.0.105 🚀 Python-3.9.16 torch-2.0.1 CUDA:0 (NVIDIA A10G, 22548MiB)\n", + "Model summary (fused): 218 layers, 25846129 parameters, 0 gradients\n", + "\u001b[34m\u001b[1mval: \u001b[0mScanning /home/ubuntu/oneAPI/valid/labels.cache... 5960 images, 711 backgrounds, 0 corrupt: 100%|██████████| 5960/5960 [00:00