diff --git a/test.py b/run.py similarity index 100% rename from test.py rename to run.py diff --git a/test_7s.ipynb b/test_7s.ipynb new file mode 100644 index 0000000000..d99bb2a1d0 --- /dev/null +++ b/test_7s.ipynb @@ -0,0 +1 @@ +{"cells":[{"cell_type":"markdown","metadata":{"id":"I-ysOjxa0PfW"},"source":["# **Setup**"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"collapsed":true,"id":"Sa-8bI89zhws","executionInfo":{"status":"ok","timestamp":1718522706179,"user_tz":-120,"elapsed":100989,"user":{"displayName":"timo","userId":"04067349596983020491"}},"outputId":"0cab109c-58df-40e6-99bc-ad7383cd27e4"},"outputs":[{"output_type":"stream","name":"stdout","text":["Collecting torchmetrics\n"," Downloading torchmetrics-1.4.0.post0-py3-none-any.whl (868 kB)\n","\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m868.8/868.8 kB\u001b[0m \u001b[31m6.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hRequirement already satisfied: numpy>1.20.0 in /usr/local/lib/python3.10/dist-packages (from torchmetrics) (1.25.2)\n","Requirement already satisfied: packaging>17.1 in /usr/local/lib/python3.10/dist-packages (from torchmetrics) (24.1)\n","Requirement already satisfied: torch>=1.10.0 in /usr/local/lib/python3.10/dist-packages (from torchmetrics) (2.3.0+cu121)\n","Collecting lightning-utilities>=0.8.0 (from torchmetrics)\n"," Downloading lightning_utilities-0.11.2-py3-none-any.whl (26 kB)\n","Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from lightning-utilities>=0.8.0->torchmetrics) (67.7.2)\n","Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from lightning-utilities>=0.8.0->torchmetrics) (4.12.2)\n","Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->torchmetrics) (3.14.0)\n","Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->torchmetrics) (1.12.1)\n","Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->torchmetrics) (3.3)\n","Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->torchmetrics) (3.1.4)\n","Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->torchmetrics) (2023.6.0)\n","Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n","Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n","Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n","Collecting nvidia-cudnn-cu12==8.9.2.26 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl (731.7 MB)\n","Collecting nvidia-cublas-cu12==12.1.3.1 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n","Collecting nvidia-cufft-cu12==11.0.2.54 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n","Collecting nvidia-curand-cu12==10.3.2.106 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n","Collecting nvidia-cusolver-cu12==11.4.5.107 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n","Collecting nvidia-cusparse-cu12==12.1.0.106 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n","Collecting nvidia-nccl-cu12==2.20.5 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n","Collecting nvidia-nvtx-cu12==12.1.105 (from torch>=1.10.0->torchmetrics)\n"," Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n","Requirement already satisfied: triton==2.3.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.0->torchmetrics) (2.3.0)\n","Collecting nvidia-nvjitlink-cu12 (from nvidia-cusolver-cu12==11.4.5.107->torch>=1.10.0->torchmetrics)\n"," Downloading nvidia_nvjitlink_cu12-12.5.40-py3-none-manylinux2014_x86_64.whl (21.3 MB)\n","\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21.3/21.3 MB\u001b[0m \u001b[31m43.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hRequirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.10.0->torchmetrics) (2.1.5)\n","Requirement already satisfied: mpmath<1.4.0,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.0->torchmetrics) (1.3.0)\n","Installing collected packages: nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, lightning-utilities, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nvidia-cusolver-cu12, torchmetrics\n","Successfully installed lightning-utilities-0.11.2 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-8.9.2.26 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.20.5 nvidia-nvjitlink-cu12-12.5.40 nvidia-nvtx-cu12-12.1.105 torchmetrics-1.4.0.post0\n","Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n"]}],"source":["%run '/content/drive/MyDrive/development/utils.ipynb'"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"BZ27758ozTf4"},"outputs":[],"source":["import os\n","import pandas as pd\n","working_directory = '/content/drive/MyDrive/development/models/model-7s'\n","test_dir = '/content/drive/MyDrive/development/datasets/test/test-3'\n","image_dir = os.path.join(test_dir,'images')\n","results_csv_path = os.path.join(working_directory,'testing/run/label.csv')"]},{"cell_type":"markdown","metadata":{"id":"RZ5SFLyR0VkX"},"source":["# **Inference**"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"GYITl2ZQzw1_","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1718398220735,"user_tz":-120,"elapsed":1280134,"user":{"displayName":"timo","userId":"04067349596983020491"}},"outputId":"69d7a57f-4864-46df-c907-2c06bac01e4d","collapsed":true},"outputs":[{"output_type":"stream","name":"stdout","text":["Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_0_20231225-120225.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","9 Healthys, Done. (15.0ms) Inference, (817.1ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (1.347s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","14 Healthys, Done. (14.9ms) Inference, (450.8ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.774s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","10 Healthys, Done. (15.0ms) Inference, (993.8ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (1.473s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","12 Healthys, Done. (15.1ms) Inference, (571.5ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (0.902s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_0_20231225-120225.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_0_20231225-120225.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_0_20240301-060002.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","18 Healthys, 9 Sicks, Done. (15.0ms) Inference, (879.1ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (1.363s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","39 Healthys, 18 Sicks, Done. (14.9ms) Inference, (464.3ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.789s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","32 Healthys, 2 Sicks, Done. (14.9ms) Inference, (464.4ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (0.773s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","42 Healthys, 7 Sicks, Done. (14.9ms) Inference, (612.1ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (0.937s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_0_20240301-060002.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_0_20240301-060002.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_0_20240304-180305.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","17 Healthys, 11 Sicks, Done. (14.9ms) Inference, (467.6ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (0.780s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","38 Healthys, 20 Sicks, Done. (14.9ms) Inference, (534.6ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.968s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","27 Healthys, 5 Sicks, Done. (14.9ms) Inference, (667.3ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (0.996s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","33 Healthys, 13 Sicks, Done. (15.0ms) Inference, (849.6ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (1.337s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_0_20240304-180305.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_0_20240304-180305.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_0_20240311-220709.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","16 Healthys, 22 Sicks, Done. (14.9ms) Inference, (546.9ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (0.865s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","9 Healthys, 54 Sicks, Done. (15.0ms) Inference, (710.4ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (1.164s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","20 Healthys, 6 Sicks, Done. (14.9ms) Inference, (467.7ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (0.764s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","17 Healthys, 28 Sicks, Done. (14.9ms) Inference, (821.0ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (1.192s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_0_20240311-220709.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_0_20240311-220709.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_2_20240329-140502.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","12 Healthys, Done. (14.9ms) Inference, (485.0ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (0.806s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","12 Healthys, Done. (15.0ms) Inference, (632.2ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.931s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","12 Healthys, Done. (15.0ms) Inference, (527.9ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (0.818s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","15 Healthys, Done. (15.0ms) Inference, (468.3ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (0.784s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_2_20240329-140502.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_2_20240329-140502.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_2_20240331-120300.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","11 Healthys, 1 Sick, Done. (15.0ms) Inference, (488.2ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (0.778s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","12 Healthys, Done. (15.0ms) Inference, (685.1ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (1.031s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","11 Healthys, 3 Sicks, Done. (15.0ms) Inference, (607.6ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (0.891s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","16 Healthys, 1 Sick, Done. (15.0ms) Inference, (542.9ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (0.865s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_2_20240331-120300.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_2_20240331-120300.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_2_20240405-140501.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","27 Healthys, Done. (15.0ms) Inference, (604.1ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (0.929s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","22 Healthys, Done. (15.0ms) Inference, (503.0ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.810s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","22 Healthys, 4 Sicks, Done. (15.0ms) Inference, (692.7ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (1.002s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","27 Healthys, Done. (15.0ms) Inference, (478.3ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (0.787s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_2_20240405-140501.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_2_20240405-140501.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_2_20240405-140602.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","25 Healthys, Done. (15.0ms) Inference, (487.0ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (0.800s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","22 Healthys, Done. (15.0ms) Inference, (500.6ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.813s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","22 Healthys, 1 Sick, Done. (15.0ms) Inference, (509.8ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (0.818s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","29 Healthys, Done. (14.9ms) Inference, (688.5ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (1.014s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_2_20240405-140602.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_2_20240405-140602.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_0_20240327-060005.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","52 Healthys, Done. (15.0ms) Inference, (458.4ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (0.789s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","53 Healthys, Done. (15.0ms) Inference, (564.5ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.897s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","41 Healthys, Done. (15.0ms) Inference, (460.1ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (0.796s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","54 Healthys, Done. (15.0ms) Inference, (454.2ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (0.796s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_0_20240327-060005.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_0_20240327-060005.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_0_20240325-060001.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","41 Healthys, Done. (15.0ms) Inference, (577.1ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (0.897s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","45 Healthys, Done. (15.0ms) Inference, (546.9ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.861s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","38 Healthys, Done. (15.0ms) Inference, (528.4ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (0.839s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","47 Healthys, Done. (15.0ms) Inference, (494.3ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (0.829s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_0_20240325-060001.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_0_20240325-060001.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_0_20240322-060004.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","40 Healthys, Done. (15.0ms) Inference, (539.9ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (0.856s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","47 Healthys, Done. (15.0ms) Inference, (423.1ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.764s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","40 Healthys, Done. (15.1ms) Inference, (878.0ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (1.342s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","65 Healthys, Done. (15.0ms) Inference, (505.7ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (0.847s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_0_20240322-060004.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_0_20240322-060004.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_0_20240302-180009.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","20 Healthys, 13 Sicks, Done. (15.0ms) Inference, (817.2ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (1.310s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","34 Healthys, 30 Sicks, Done. (15.0ms) Inference, (549.6ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.901s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","30 Healthys, 3 Sicks, Done. (15.0ms) Inference, (830.8ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (1.208s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","33 Healthys, 10 Sicks, Done. (15.0ms) Inference, (498.8ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (0.815s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_0_20240302-180009.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_0_20240302-180009.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_0_20240312-060001.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","18 Healthys, 20 Sicks, Done. (15.0ms) Inference, (755.5ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (1.158s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","14 Healthys, 51 Sicks, Done. (15.0ms) Inference, (875.4ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (1.406s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","23 Healthys, 6 Sicks, Done. (15.0ms) Inference, (995.9ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (1.374s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","20 Healthys, 25 Sicks, Done. (15.0ms) Inference, (933.0ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (1.407s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_0_20240312-060001.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_0_20240312-060001.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_1_20240130-100901.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","14 Sicks, Done. (15.0ms) Inference, (888.4ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (1.340s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","10 Healthys, 10 Sicks, Done. (15.0ms) Inference, (651.3ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.974s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","5 Healthys, 8 Sicks, Done. (15.0ms) Inference, (500.7ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (0.809s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","3 Healthys, 8 Sicks, Done. (15.0ms) Inference, (467.3ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (0.792s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_1_20240130-100901.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_1_20240130-100901.txt\n","Processing image: /content/drive/MyDrive/development/datasets/test/test-3/images/image_1_20240221-220708.jpg\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_1.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","19 Healthys, 10 Sicks, Done. (15.0ms) Inference, (500.9ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_1.jpg\n","Done. (0.802s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_2.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","10 Healthys, 12 Sicks, Done. (15.0ms) Inference, (506.6ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_2.jpg\n","Done. (0.908s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_3.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","8 Healthys, 8 Sicks, Done. (15.0ms) Inference, (462.3ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_3.jpg\n","Done. (0.769s)\n","Namespace(weights=['/content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt'], source='temp_parts/part_4.jpg', img_size=640, conf_thres=0.25, iou_thres=0.45, device='', view_img=False, save_txt=True, save_conf=True, nosave=False, classes=None, agnostic_nms=False, augment=False, update=False, project='temp_parts', name='outputs', exist_ok=True, no_trace=False)\n","YOLOR 🚀 v0.1-128-ga207844 torch 2.3.0+cu121 CUDA:0 (Tesla T4, 15102.0625MB)\n","\n","fatal: not a git repository (or any of the parent directories): .git\n","Fusing layers... \n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","RepConv.fuse_repvgg_block\n","IDetect.fuse\n","Model Summary: 314 layers, 36487166 parameters, 6194944 gradients\n"," Convert model to Traced-model... \n"," traced_script_module saved! \n"," model is traced! \n","\n","/usr/local/lib/python3.10/dist-packages/torch/functional.py:512: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3587.)\n"," return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n","8 Healthys, 7 Sicks, Done. (16.8ms) Inference, (978.0ms) NMS\n"," The image with the result is saved in: temp_parts/outputs/part_4.jpg\n","Done. (1.454s)\n","Combined image with predictions saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/image_1_20240221-220708.jpg\n","Bounding box values saved to: /content/drive/MyDrive/development/models/model-7s/testing/run/labels/image_1_20240221-220708.txt\n"]}],"source":["!python /content/drive/MyDrive/development/models/model-7s/run.py \\\n"," --source /content/drive/MyDrive/development/datasets/test/test-4/images \\\n"," --weights /content/drive/MyDrive/development/models/model-7/leaves_detection_and_classfication/run8/weights/best.pt \\\n"," --project /content/drive/MyDrive/development/models/model-7s/testing \\\n"," --name run\n"]},{"cell_type":"code","source":["import os\n","import pandas as pd\n","\n","# Directory containing the .txt files\n","directory = '/content/drive/MyDrive/development/models/model-7s/testing/run/labels'\n","\n","# Prepare lists to hold data\n","data = {\n"," 'image_id': [],\n"," 'bbox': [],\n"," 'prediction': [],\n"," 'score': [] # Add a list to hold confidence scores\n","}\n","\n","# Actual dimensions of the images (4K resolution)\n","width, height = 1024, 1024\n","\n","# Class mapping from numbers to labels\n","class_mapping = {0: 'Healthy', 1: 'Sick'}\n","\n","# Iterate over each file in the directory\n","for filename in os.listdir(directory):\n"," if filename.endswith(\".txt\"):\n"," file_path = os.path.join(directory, filename)\n","\n"," with open(file_path, 'r') as file:\n"," lines = file.readlines()\n"," for line in lines:\n"," parts = line.strip().split() # Assuming space-separated values\n"," if len(parts) == 6: # Update to expect 6 parts, including the score\n"," image_id = filename[:-4] + '.jpg' # Change .txt to .jpg in the image ID\n"," prediction_index = int(parts[0])\n"," prediction_label = class_mapping.get(prediction_index, 'Unknown') # Map class ID to label\n"," x_center = float(parts[1]) * width\n"," y_center = float(parts[2]) * height\n"," bbox_width = float(parts[3]) * width\n"," bbox_height = float(parts[4]) * height\n"," xmin = x_center - (bbox_width / 2)\n"," ymin = y_center - (bbox_height / 2)\n"," xmax = x_center + (bbox_width / 2)\n"," ymax = y_center + (bbox_height / 2)\n"," score = float(parts[5]) # Parse confidence score\n","\n"," # Store data\n"," data['image_id'].append(image_id)\n"," data['bbox'].append([xmin, ymin, xmax, ymax])\n"," data['prediction'].append(prediction_label)\n"," data['score'].append(score) # Append confidence score to the list\n","\n","# Create a DataFrame\n","df = pd.DataFrame(data)\n","\n","# Save DataFrame to CSV\n","csv_path = '/content/drive/MyDrive/development/models/model-7s/testing/run/label.csv'\n","df.to_csv(csv_path, index=False)\n","\n"],"metadata":{"id":"-B34negObQTY"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"xk8aBCCHytqY"},"source":["# **Utilising Matching and MAP function**"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":16726,"status":"ok","timestamp":1718522727410,"user":{"displayName":"timo","userId":"04067349596983020491"},"user_tz":-120},"id":"L39PRAf9Z-59","outputId":"0b2b8f21-2600-4925-aedf-20a71d02d472"},"outputs":[{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/torchmetrics/utilities/prints.py:43: UserWarning: No positive samples found in target, recall is undefined. Setting recall to one for all thresholds.\n"," warnings.warn(*args, **kwargs) # noqa: B028\n"]},{"output_type":"stream","name":"stdout","text":["Image ID: image_0_20231225-120225.jpg, Classification mAP: 0.5\n","Image ID: image_0_20240301-060002.jpg, Classification mAP: 0.5657109022140503\n","Image ID: image_0_20240304-180305.jpg, Classification mAP: 0.5993684530258179\n","Image ID: image_0_20240311-220709.jpg, Classification mAP: 0.6425398588180542\n","Image ID: image_2_20240329-140502.jpg, Classification mAP: 0.5\n","Image ID: image_2_20240331-120300.jpg, Classification mAP: 0.5\n","Image ID: image_2_20240405-140501.jpg, Classification mAP: 0.5\n","Image ID: image_2_20240405-140602.jpg, Classification mAP: 0.5\n","Image ID: image_0_20240327-060005.jpg, Classification mAP: 0.5\n","Image ID: image_0_20240325-060001.jpg, Classification mAP: 0.5\n","Image ID: image_0_20240322-060004.jpg, Classification mAP: 0.5\n","Image ID: image_0_20240302-180009.jpg, Classification mAP: 0.5813986659049988\n","Image ID: image_0_20240312-060001.jpg, Classification mAP: 0.6405870914459229\n","Image ID: image_1_20240130-100901.jpg, Classification mAP: 0.6889514923095703\n","Image ID: image_1_20240221-220708.jpg, Classification mAP: 0.8057886362075806\n"]}],"source":["\n","ground_truth = pd.read_csv(os.path.join(test_dir, 'label.csv'))\n","predictions = pd.read_csv(results_csv_path)\n","\n","# Generate label-to-class mapping\n","all_labels = pd.concat([ground_truth['Class'], predictions['prediction']]).unique()\n","label_to_class = {label: idx for idx, label in enumerate(all_labels)}\n","\n","def matching_and_map_class(groundtruth, predictions, label_to_class, iou_threshold=0.5, debug=False):\n"," \"\"\"Match predictions to ground truths based on IoU and compute mAP for both detection and classification.\"\"\"\n"," match_dict, bbox_gt_formatted, bbox_preds_formatted,iou = match_bboxes(groundtruth, predictions, label_to_class, iou_threshold, debug)\n"," class_map_score = compute_map_score(groundtruth, predictions, label_to_class, match_dict, bbox_gt_formatted, bbox_preds_formatted, debug)\n"," return class_map_score\n","\n","# Calculate mAP for each image\n","mAP_results = []\n","for image_id in predictions['image_id'].unique():\n"," gt_data = ground_truth[ground_truth['image_id'] == image_id]\n"," pr_data = predictions[predictions['image_id'] == image_id]\n","\n"," # Format data for mAP calculation\n"," gt_formatted = [{'box': convert_bbox(gt['bbox']), 'label': gt['Class']} for index, gt in gt_data.iterrows()]\n"," pr_formatted = [{'box': convert_bbox(pr['bbox']), 'label': pr['prediction'], 'score': pr['score']} for index, pr in pr_data.iterrows()]\n","\n"," # Compute mAP for the current image\n"," mAP_results.append({\n"," 'image_id': image_id,\n"," 'class_map_score': matching_and_map_class(gt_formatted, pr_formatted, label_to_class, iou_threshold=0.5, debug=False)\n"," })\n","\n","# Print or process the mAP results as needed\n","for result in mAP_results:\n"," print(f\"Image ID: {result['image_id']}, Classification mAP: {result['class_map_score']}\")"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"collapsed":true,"executionInfo":{"elapsed":344476,"status":"ok","timestamp":1718523089395,"user":{"displayName":"timo","userId":"04067349596983020491"},"user_tz":-120},"id":"JErV97U5cG-g","outputId":"7dca61e7-bee7-4032-eafa-03336a0ebafa"},"outputs":[{"output_type":"stream","name":"stdout","text":[" image_id score_threshold iou_threshold mAP\n","0 image_0_20231225-120225.jpg 0.2 0.5 0.500000\n","1 image_0_20240301-060002.jpg 0.2 0.5 0.565711\n","2 image_0_20240304-180305.jpg 0.2 0.5 0.599368\n","3 image_0_20240311-220709.jpg 0.2 0.5 0.642540\n","4 image_2_20240329-140502.jpg 0.2 0.5 0.500000\n","... ... ... ... ...\n","1480 image_0_20240322-060004.jpg 1.0 1.0 0.500000\n","1481 image_0_20240302-180009.jpg 1.0 1.0 0.500000\n","1482 image_0_20240312-060001.jpg 1.0 1.0 0.500000\n","1483 image_1_20240130-100901.jpg 1.0 1.0 0.500000\n","1484 image_1_20240221-220708.jpg 1.0 1.0 0.500000\n","\n","[1485 rows x 4 columns]\n"]}],"source":["import numpy as np\n","\n","# Generate ranges for thresholds\n","score_thresholds = np.arange(0.2, 1.1, 0.1)\n","iou_thresholds = np.arange(0.5, 1.05, 0.05)\n","\n","def matching_and_map_class(groundtruth, predictions, label_to_class, iou_threshold=0.5, debug=False):\n"," \"\"\"Match predictions to ground truths based on IoU and compute mAP for both detection and classification.\"\"\"\n"," match_dict, bbox_gt_formatted, bbox_preds_formatted,_ = match_bboxes(groundtruth, predictions, label_to_class, iou_threshold, debug)\n"," class_map_score = compute_map_score(groundtruth, predictions, label_to_class, match_dict, bbox_gt_formatted, bbox_preds_formatted, debug)\n"," return class_map_score\n","\n","\n","# Define a function to compute mAP\n","def compute_map_for_thresholds(predictions, ground_truth, score_th, iou_th):\n"," mAP_results = []\n"," for image_id in predictions['image_id'].unique():\n"," gt_data = ground_truth[ground_truth['image_id'] == image_id]\n"," pr_data = predictions[predictions['image_id'] == image_id]\n","\n"," # Filter predictions by the score threshold\n"," pr_data = pr_data[pr_data['score'] >= score_th]\n","\n"," # Format data for mAP calculation\n"," gt_formatted = [{'box': convert_bbox(gt['bbox']), 'label': gt['Class']} for index, gt in gt_data.iterrows()]\n"," pr_formatted = [{'box': convert_bbox(pr['bbox']), 'label': pr['prediction'], 'score': pr['score']} for index, pr in pr_data.iterrows()]\n","\n"," # Compute mAP for the current image\n"," result = matching_and_map_class(gt_formatted, pr_formatted, label_to_class, iou_threshold=iou_th)\n"," mAP_results.append({\n"," 'image_id': image_id,\n"," 'score_threshold': score_th,\n"," 'iou_threshold': iou_th,\n"," 'mAP': result\n"," })\n"," return mAP_results\n","\n","# Iterate over each combination of score and IoU threshold and compute mAP\n","all_results = []\n","for score_th in score_thresholds:\n"," for iou_th in iou_thresholds:\n"," results = compute_map_for_thresholds(predictions, ground_truth, score_th, iou_th)\n"," all_results.extend(results)\n","\n","# Optionally, convert results to a DataFrame for better handling\n","results_df = pd.DataFrame(all_results)\n","results_df['mAP'] = results_df['mAP'].astype(float)\n","print(results_df)\n","\n"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":468},"executionInfo":{"elapsed":1198,"status":"ok","timestamp":1718523090590,"user":{"displayName":"timo","userId":"04067349596983020491"},"user_tz":-120},"id":"igAYfdcojzAM","outputId":"f981fb92-2fdc-468b-e560-2e23b9b79465"},"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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AAAAANy6/rx/RRkAAAAFDBkyRAEBAZozZ462bNmi2bNnq27duvrnP/+pnj17au7cuUpISNDkyZPVoUMHdevWzSo+ISFBLVq0UIcOHdSmTRtVr15db731lp555hmbxj916pScnJxUu3btEvsmJCTooYcekouLi4YNG6YVK1boP//5jzp06GDpc+nSJQUHBys1NVWjR49WUFCQzp07p02bNunMmTOqX7++pW9sbKxcXFw0efJkXbt2TS4uLoqPj9eoUaPUoUMHxcXFKSMjQy+99JKSkpJ0+PBhyzzDwsL01Vdf6cknn5Svr69++ukn7dixQ99++63l+L777lODBg307LPPqnbt2jp9+rTee++9Yu9x7969+vnnnzVhwgSbqusyMjJ0zz336PLly4qKilK9evW0Zs0aDRgwQO+++67++te/WvWPi4uTm5ubnn32WZ08eVIvv/yyqlWrJkdHR/3yyy+KiYnRgQMHFB8fr2bNmmnGjBlW8bt379Y777yjqKgoGQwGLV++XH379tXBgwfVpk2bYud68uRJDRo0SI899phGjhyp1atXKzw8XO3atVPr1q0lSZcvX1ZISIi+//57jRs3Tk2aNNG+ffs0bdo0/fjjj1qyZImk6xWpAwcO1N69ezV+/HgFBATo/fff18iRI0t8ZpLUtGlT7dy5U5988ol69uxZbN/4+HiNHj1arVu31rRp01S7dm0dPnxY27Zt0yOPPGLpY8t7I11P4ISGhuree+/VggULVL16dUnXK2XzrxMVFaX09HQtW7ZMhw8fVlJSUrGVszt27NCpU6c0atQoeXl56auvvtKrr76qr776SgcOHCiQVB48eLCaNWumuLg4ffHFF1q1apUaNmyouXPnWvpERERo7dq1euSRR3TPPffok08+Uf/+/W16voWx91292Wx5JpL0ySefaN26dYqMjFT9+vXl6+urjIwMde7c2ZIsbNCggbZu3arHHntMFy5c0IQJEyRJ//rXvxQVFaVBgwbpqaee0tWrV3X06FF99tlnlnfJnvlERERozZo1GjRokCZNmqTPPvtMcXFxSk1N1fvvv1/kvV65ckW9evXSt99+q6ioKN1222164403CuxHmpOTo9DQUF27dk1PPvmkvLy89P3332vz5s06f/68atWqdYNPHQAAAEClZQYAAMCf3syZM82SzGPHjrW05eXlmX18fMwODg7mOXPmWNp/+eUXs5ubm3nkyJFW18jJyTHXq1fPPH36dEvbI488Ym7btm2B8UJCQsx33HGHOTMz05yZmWlOTU01R0VFmSWZH3jggRLn+/nnn5slmXfs2GE2m81mk8lk9vHxMT/11FNW/WbMmGGWZH7vvfcKXMNkMpnNZrP5008/NUsyN2/e3Hz58mWr+2nYsKG5TZs25itXrljaN2/ebJZknjFjhuV5SDLPnz+/yPm+//77Zknm//znPyXe2++99NJLZknm999/36b+EyZMMEsy79mzx9J28eJFc7Nmzcy+vr5mo9FoNpv/d89t2rQx5+TkWPoOGzbM7ODgYO7Xr5/Vdbt06WJu2rSpVZsksyTz559/bmn75ptvzK6urua//vWvlrbXXnvNLMmcnp5uaWvatKlZkvn//u//LG0//fST2WAwmCdNmmRpi42NNdeoUcN8/Phxq7GfffZZs5OTk/nbb781m81m88aNG82SzPPmzbP0ycvLMwcHB5slmV977bVin9uXX35pdnNzM0sy33XXXeannnrKvHHjRnN2drZVv/Pnz5tr1qxp7tSpk9U7YTb/732y9b0xm83mkSNHmiWZn332Watr7dmzxyzJnJCQYNW+bdu2Qtv/6Pfvcb633nqrwDPP/3M/evRoq75//etfzfXq1bMcJycnmyWZn3jiCat+jzzyiFmSeebMmcXOJz09vcCfEXvf1fXr1xd67b///e9me//fztatW5tDQkIKPWfrMzGbr/8ZcHR0NH/11VdW7Y899pjZ29vbfO7cOav2oUOHmmvVqmX5fgYOHGhu3bp1sXO19zuKiIiw6jd58mSzJPMnn3xiaQsJCbG6/yVLlpglmdetW2dpy87ONvv5+ZklmT/99FOz2Ww2Hz58uNjvAgAAAEDVxTKhAAAAlcjv9/dzcnJS+/btZTab9dhjj1naa9eurdtvv12nTp2yit26dauysrI0bNgwS9uwYcN05MgRffXVVwXGOnbsmBo0aKAGDRooICBAL7/8svr371/oUnp/lJCQIE9PT/Xo0UPS9eX6hgwZorfffltGo9HSb8OGDWrbtm2hVUZ/rI4aOXKk3NzcLMeff/65fvrpJz3xxBNWe4D1799fd9xxh2U5Qzc3N7m4uGjXrl1FLuGYXwm2efNm5ebmlnh/+fKXKq1Zs6ZN/T/66CN17NhR9957r6XN3d1dY8eO1enTp5WSkmLVf8SIEVYVZp06dZLZbC6wfGmnTp303XffKS8vz6q9S5cuateuneW4SZMmGjhwoD7++GOr76EwrVq1UnBwsOW4QYMGBd6r9evXKzg4WHXq1NG5c+csn969e8toNFqWJP3oo4/k7Oysxx9/3BLr5OSkJ598stg55GvdurWSk5P16KOP6vTp03rppZf04IMPytPTU//6178s/Xbs2KGLFy/q2WefLbAvXP77ZOt783u/n3f+fdeqVUt9+vSxuu927drJ3d1dn376abH38/v3+OrVqzp37pw6d+4sSfriiy8K9B8/frzVcXBwsLKysizv30cffSRJioqKsuqXX+FWGva+qzdbSc8kX0hIiFq1amU5NpvN2rBhgx544AGZzWar7y80NFS//vqr5TuoXbu2zpw5o//85z83PJ/87+jpp5+26jdp0iRJKnb51Y8++kje3t4aNGiQpa169eoaO3asVb/8yr+PP/64wBKlAAAAAKo2koEAAACVSJMmTayOa9WqJVdXV6vlNPPb/5j4Wrt2rZo1ayaDwaCTJ0/q5MmTatGihapXr17ofn6+vr7asWOHdu7cqb179+rs2bPavHlzgbH+yGg06u2331aPHj2Unp5uGatTp07KyMhQYmKipW9aWlqJy1Xma9asmdXxN998I0m6/fbbC/S94447LOcNBoPmzp2rrVu3ytPTU926ddO8efN09uxZS/+QkBCFhYXphRdeUP369TVw4EC99tprJe7l5eHhIUm6ePGiTffwzTffFDrfgIAAq3vKV9j3LUmNGzcu0G4ymQrsC9ayZcsCY/n7++vy5csl7vv4x7ElqU6dOlbv1YkTJ7Rt2zZL0jj/07t3b0nSTz/9ZLkvb29vubu7W12vsGdRFH9/f73xxhs6d+6cjh49qhdffFHOzs4aO3asdu7cKen6+ySp2HfK1vcmn7Ozs3x8fKzaTpw4oV9//VUNGzYscO+XLl2y3HdRfv75Zz311FPy9PSUm5ubGjRoYHm/C9vb7Y/fRZ06dSTJ8l188803cnR0VIsWLaz62fN8/8jed/VmK+mZ5Pvjz43MzEydP39er776aoHvbtSoUZL+995OnTpV7u7u6tixo1q2bKm///3vSkpKKtV88r8jPz8/q35eXl6qXbt2sc/zm2++kZ+fX4G/IPHH76dZs2Z6+umntWrVKtWvX1+hoaF65ZVX2C8QAAAAAHsGAgAAVCaF7UtX1F51ZrPZ8u8XLlzQhx9+qKtXrxaaIHrzzTf1j3/8w+qXzTVq1LAkdezxySef6Mcff9Tbb7+tt99+u8D5hIQE3XfffXZf9/fVVPaaMGGCHnjgAW3cuFEff/yxoqOjFRcXp08++UR33323HBwc9O677+rAgQP68MMP9fHHH2v06NFauHChDhw4UCCJle+OO+6QJP33v//Vgw8+WOr5FaWo79aW77y8xv79GCaTSX369NGUKVMK7evv719m8/n9vO68807deeed6tKli3r06KGEhIRSvau2MBgMcnS0/juUJpNJDRs2LDSJLl2voizO4MGDtW/fPj3zzDO666675O7uLpPJpL59+8pkMhXofzO+79LKr668cuVKoecvX75coEqzLNj6TP74cyP/+T766KNF7lkZGBgo6Xri8+uvv9bmzZu1bds2bdiwQcuXL9eMGTP0wgsvlGo+f0zolbWFCxcqPDxcH3zwgbZv366oqCjFxcXpwIEDBZLaAAAAAKoOkoEAAABVwHvvvaerV69qxYoVBSr7vv76az3//PNKSkqyWhKwtBISEtSwYUO98sorhc7j/fff18qVK+Xm5qYWLVroyy+/LNU4TZs2lXR9/j179rQ69/XXX1vO52vRooUmTZqkSZMm6cSJE7rrrru0cOFCrV271tKnc+fO6ty5s/7xj3/ozTff1PDhw/X2229bLc/6e/fee6/q1Kmjt956S88991yRCYHfz/nrr78u0H7s2DGreyorJ06cKNB2/PhxVa9evcSElS1atGihS5culZiIa9q0qRITE3Xp0iWrxGphz8Ie7du3lyT9+OOPlvlI0pdfflmgAuv3c8kf25b3pjAtWrTQzp071bVrV7uT1L/88osSExP1wgsvaMaMGZb2wr4rWzVt2lQmk0lpaWlW1WI38nxtfVd//zwLY+szvVkaNGigmjVrymg02pRArlGjhoYMGaIhQ4YoJydHDz30kP7xj39o2rRpdiU587+jEydOWKorJSkjI0Pnz58v9hk1bdpUX375pcxms1Uysahnnp8sf/7557Vv3z517dpVK1eu1OzZs22eLwAAAIBbC8uEAgAAVAFr165V8+bNNX78eA0aNMjqM3nyZLm7uxdZ5WSPK1eu6L333tNf/vKXAuMMGjRIkZGRunjxojZt2iRJCgsL05EjR/T+++8XuFZJVU/t27dXw4YNtXLlSqvlPLdu3arU1FT1799f0vXKpKtXr1rFtmjRQjVr1rTE/fLLLwXGu+uuuySp2KVCq1evrqlTpyo1NVVTp04tdM5r167VwYMHJUn333+/Dh48qP3791vOZ2dn69VXX5Wvr6/V3mZlYf/+/VZ70H333Xf64IMPdN9995WYuLTF4MGDtX//fn388ccFzp0/f96yh+H999+vvLw8rVixwnLeaDTq5ZdftmmcPXv2FLqXY/4+bPkJsPvuu081a9ZUXFxcge88/7ux9b0pzuDBg2U0GhUbG1vgXF5ens6fP19kbP5z/+O7smTJkhLHLUq/fv0kSUuXLi2za9r6rnp7e+uuu+7S2rVrC9z3oUOHdODAAcv8/gycnJwUFhamDRs2FPoXEX6/fG5WVpbVORcXF7Vq1Upms9muvUWl689TKvidLFq0SJKKfe/uv/9+/fDDD3r33XctbZcvX9arr75q1e/ChQsF9g2988475ejoWOKSxwAAAABubVQGAgAA3OJ++OEHffrpp4qKiir0vMFgUGhoqNavX6+lS5eqWrVqpR5r06ZNunjxogYMGFDo+c6dO6tBgwZKSEjQkCFD9Mwzz+jdd9/Vww8/rNGjR6tdu3b6+eeftWnTJq1cuVJt27Ytcqxq1app7ty5GjVqlEJCQjRs2DBlZGTopZdekq+vryZOnCjpeiVcr169NHjwYLVq1UrOzs56//33lZGRoaFDh0qS1qxZo+XLl+uvf/2rWrRooYsXL+pf//qXPDw8LL/EL8ozzzyjr776SgsXLtSnn36qQYMGycvLS2fPntXGjRt18OBB7du3T5L07LPP6q233lK/fv0UFRWlunXras2aNUpPT9eGDRsKLEd5o9q0aaPQ0FBFRUXJYDBo+fLlklRgicPSeuaZZ7Rp0yb95S9/UXh4uNq1a6fs7Gz997//1bvvvqvTp0+rfv36euCBB9S1a1c9++yzOn36tFq1aqX33nvP5r3M5s6dq0OHDumhhx6yLOH4xRdf6PXXX1fdunU1YcIESdf3cFy8eLEiIiLUoUMHPfLII6pTp46OHDmiy5cva82aNTa/N8UJCQnRuHHjFBcXp+TkZN13332qVq2aTpw4ofXr1+ull17SoEGDCo318PCw7FuZm5urRo0aafv27UpPT7ftoRfirrvu0rBhw7R8+XL9+uuvuueee5SYmKiTJ0+W+pr2vKuLFi1SaGio7rrrLoWHh+u2225TamqqXn31VXl7e2vatGmlnkd5mDNnjj799FN16tRJY8aMUatWrfTzzz/riy++0M6dO/Xzzz9Lup5c9vLyUteuXeXp6anU1FQtW7ZM/fv3V82aNe0as23btho5cqReffVVnT9/XiEhITp48KDWrFmjBx98UD169CgydsyYMVq2bJlGjBihQ4cOydvbW2+88YaqV69u1e+TTz5RZGSkHn74Yfn7+ysvL09vvPGGJQEKAAAAoOoiGQgAAHCLe/vtt2UymfTAAw8U2eeBBx7Qhg0btHXr1iITebZISEiQq6ur+vTpU+h5R0dH9e/fXwkJCcrKylK9evW0Z88ezZw5U++//77WrFmjhg0bqlevXjbtbxUeHq7q1atrzpw5mjp1qmrUqKG//vWvmjt3rmrXri1Jaty4sYYNG6bExES98cYbcnZ21h133KF169ZZfkGe/4v5t99+WxkZGapVq5Y6duyohIQENWvWrNg5ODo66vXXX9fAgQP16quvasGCBbpw4YIaNGhgSfp06dJFkuTp6al9+/Zp6tSpevnll3X16lUFBgbqww8/tKkizV4hISHq0qWLXnjhBX377bdq1aqV4uPjLQm1G1W9enXt3r1bL774otavX6/XX39dHh4e8vf31wsvvKBatWpJuv6MNm3apAkTJmjt2rVycHDQgAEDtHDhQt19990ljvPcc8/pzTff1O7du5WQkKDLly/L29tbQ4cOVXR0tNV39Nhjj6lhw4aaM2eOYmNjVa1aNd1xxx1WST5b3puSrFy5Uu3atdM///lPPffcc3J2dpavr68effRRde3atdjYN998U08++aReeeUVmc1m3Xfffdq6datuu+02m8YuzOrVqy2J9o0bN6pnz57asmWLGjduXKrr2fOu9ujRQ3v27NHs2bO1dOlSXbx4UZ6ennrkkUcUExOjhg0blvq+yoOnp6cOHjyoWbNm6b333tPy5ctVr149tW7dWnPnzrX0GzdunBISErRo0SJdunRJPj4+ioqK0vPPP1+qcVetWqXmzZsrPj5e77//vry8vDRt2jTNnDmz2Ljq1asrMTFRTz75pF5++WVVr15dw4cPV79+/dS3b19Lv7Zt2yo0NFQffvihvv/+e1WvXl1t27bV1q1b1blz51LNGQAAAMCtwcH8Z9h1HgAAAAAAAAAAAECZY89AAAAAAAAAAAAA4BZFMhAAAAAAAAAAAAC4RZEMBAAAAAAAAAAAAG5RJAMBAAAAAAAAAACAWxTJQAAAAAAAAAAAAOAW5VzRE/gzMplM+uGHH1SzZk05ODhU9HQAAAAAAAAAAKj0zGazLl68qNtuu02OjtQqATcLycBC/PDDD2rcuHFFTwMAAAAAAAAAgFvOd999Jx8fn4qeBlBlkAwsRM2aNSVd/4Hk4eFRwbOpeLm5udq+fbvuu+8+VatWjTjiiPuTx1WGORJHHHE3HlcZ5kgcccRVXFxlmCNxxBFXcXGVYY7EEUfcjcdVhjkSV/VcuHBBjRs3tvwOHsDNQTKwEPlLg3p4eJAM1PX/YFWvXl0eHh52/4eOOOKIu/lxlWGOxBFH3I3HVYY5EkcccRUXVxnmSBxxxFVcXGWYI3HEEXfjcZVhjsRVXWzPBdxcLMoLAAAAAAAAAAAA3KJIBgIAAAAAAAAAAAC3KJKBAAAAAAAAAAAAwC2KPQMBAAAAAAAAAAAqIZPJpJycnIqeBiqAi4uLHB1tq/kjGQgAAAAAAAAAAFDJ5OTkKD09XSaTqaKnggrg6OioZs2aycXFpcS+JAMBAAAAAAAAAAAqEbPZrB9//FFOTk5q3LixzRViuDWYTCb98MMP+vHHH9WkSRM5ODgU259kIAAAAAAAAAAAQCWSl5eny5cv67bbblP16tUrejqoAA0aNNAPP/ygvLw8VatWrdi+pIoBAAAAAAAAAAAqEaPRKEk2LRGJW1P+d5//LhSHZCAAAAAAAAAAAEAlVNLykLh12fPdkwwEAAAAAAAAAAAAblEkAwEAAAAAAAAAAIBbFMlAAAAAAAAAAAAA/Ck5ODho48aNN3XM06dPy8HBQcnJyTd0HV9fXy1ZsqTYPjfj/kgGAgAAAAAAAAAA3CIyMzP1+OOPq0mTJjIYDPLy8lJoaKiSkpIqempWunfvLgcHhyI/3bt3r+gp3jKcK3oCAAAAAAAAAAAAKBthYWHKycnRmjVr1Lx5c2VkZCgxMVFZWVnlNmZOTo5cXFzsinnvvfeUk5MjSfruu+/UsWNH7dy5U61bt5Yku6+Xz2w2y2g0ytmZFFg+KgMBAAAAAAAAAABuAefPn9eePXs0d+5c9ejRQ02bNlXHjh01bdo0DRgwwKrfuHHj5OnpKVdXV7Vp00abN2+2nN+wYYNat24tg8EgX19fLVy40GocX19fxcbGasSIEfLw8NDYsWMlSXv37lVwcLDc3NzUuHFjRUVFKTs7u9C51q1bV15eXvLy8lKDBg0kSfXq1bO01a1b19L33Llz+utf/6rq1aurZcuW2rRpk+Xcrl275ODgoK1bt6pdu3YyGAzau3evTCaT4uLi1KxZM7m5ualt27Z69913LXG//PKLhg8frgYNGsjNzU0tW7bUa6+9ZjXHU6dOqUePHqpevbratm2r/fv3W50v6Tn90YkTJ9StWze5urqqVatW2rFjh9X5nJwcRUZGytvbW66urmratKni4uKKvaYtSAYCAAAAAAAAAADcAtzd3eXu7q6NGzfq2rVrhfYxmUzq16+fkpKStHbtWqWkpGjOnDlycnKSJB06dEiDBw/W0KFD9d///lcxMTGKjo5WfHy81XUWLFigtm3b6vDhw4qOjlZaWpr69u2rsLAwHT16VO+884727t2ryMjIG76vF154QYMHD9bRo0d1//33a/jw4fr555+t+jz77LOaM2eOUlNTFRgYqLi4OL3++utauXKlvvrqK02cOFGPPvqodu/eLUmKjo5WSkqKtm7dqtTUVK1YsUL169e3uub06dM1efJkJScny9/fX8OGDVNeXp5dz+n3z/2hhx6Si4uLPvvsM61cuVJTp0616rN06VJt2rRJ69at09dff62EhAT5+vre8POjRhIAAAAAAAAAAOAW4OzsrPj4eI0ZM0YrV65UUFCQQkJCNHToUAUGBkqSdu7cqYMHDyo1NVX+/v6SpObNm1uusWjRIvXq1UvR0dGSJH9/f6WkpGj+/PkKDw+39OvZs6cmTZpkOY6IiNDw4cM1YcIESVLLli21dOlShYSEaMWKFXJ1dS31fYWHh2vYsGGSpBdffFFLly7VwYMH1bdvX0ufWbNmqU+fPpKka9eu6cUXX9TOnTvVpUsXyz3u3btX//znPxUSEqJvv/1Wd999t9q3by9JhSbdJk+erP79+0u6npBs3bq1Tp48qTvuuMPm55Rv586dOnbsmD7++GPddtttlnvp16+fpc+3336rli1b6t5775WDg4OaNm1a6mf2e1QGAgAAAAAAAAAA3CLCwsL0ww8/aNOmTerbt6927dqloKAgS8VacnKyfHx8LInA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3dVN+uYvHtUWfeo7XNMWvxmYtFiDyheMh7Vo+SUc++apr4lmIAAAAAAAFcm6GXjVVVfppJNO0mGHHabGxkYdeOCB+sY3vqGzzjpL3/rWt6xv4O6779bIkSNVV1enCRMm6N///neH169evVrnnXeehg0bpkQioTFjxujJJ58MPv79739fkUikxT877rij9X3BjN8M9CzONQrGhFqGgZJ5O5BmYHVxCme6eYYPuSORSLG1ahwGhjgzsIkwsBq4Ic5085t+pmFzMCaU1lZVmj53gS558HE1Nrf8QZRP1jTq8TlvSWp7f/nr1idbrlvV2CRJWruh2fge/FCos2agl83q5XcX67VPGoP2IiqXH+ylwowJDREcN6f5vgcAAAAAQCWybgZGIhFdffXVuvzyy/XOO++osbFRO++8s/r06WP9xX//+9/rkksu0ZQpUzRhwgTdcccdOvLII/X2229ryy23bHV9KpXS4Ycfri233FJ//OMfNXz4cL3//vsaMGBAi+vGjh2r6dOnF/8jY9b/mTBkG+xJ9mNC3UTxzy+dTKuuV6LTNUnODKwqxeaWxRhH11E6leHMQHQqFvPH0Fr8UINlgBg3DAM9L6tX31isN99bp63eWKzdd9lWjmP9czvYhLxsVj969Hnl2vhY6Wsbt7A6Wudb09QsL5uVE+18DxSbge3vselzF+hHjz6vZWsaJUmPvJVvL171hYM1afzoTr8Gyk9xTKhFi7QQIDaHODOQZiAAAAAAAJUpdEoWj8e18847d+mL33777TrzzDN12mmnSZKmTJmiJ554QlOnTtVVV13V6vqpU6dq1apVevHFF+W6+bbYyJEjW10Xi8U0dOjQLt0bzPhBa8ai7WIbIMbcWHHko+FYRsaEVhe/GWga7EnF1qrxmW4hzgxMMSa0KrghwmbrZqB/nlsH7eYZL83XHVOf1fKV+aDm8Zl/0uCGPrro9EN10D5jjO8Nm9achUuCcK0jy9eut16Xy+Wv22vU1p1+/jq342ag30LcOHz8ZE2jLnnwcd1+6ucJBCtQ3B/5aTMm1P+7WzarTDarmEHY7OPMQAAAAAAAKpN1GHjccccpEom0ej0Siaiurk6jRo3SSSedpB122KHDz5NKpfTf//5X3/72t4PXotGoJk2apH/9619trnnssce077776rzzztNf/vIXDR48WCeddJKuvPLKFufILViwQFtttZXq6uq077776oc//KG22Wabdu8lmUwqmSyOlVy7dq0kKZ1OK804JOWy+UeHnue1+v2IFkKaVHOq1cdyubbXRQrPnNLJtn9//XWZknVuIqZUc1obGpvUN912C9Vf53/u5uakUaPG/xq2f9as6751peM/21rn/zk2NydbfNzz2l/nt72am5KtPtbW13Ni+fe1ZBt7ua2vJ0kb1jcb/3duyt/PSvgz3xzr/LeITCaz0dp8CJjOtH6PK12XThfXRQvfBlOpjT9Xa5l0Ro5T2F+ptt/3/vnvd/S9259o9frylY26+tbH9INLjtaBe4/q8OtUyp9Dta1b+ulao8+3IdnyvcV03dJP17Z5D142q48Ln2PJyjUavdXgNr+Of+0PO2gvRiT96NHndcAO23TYQizXP4NaWld6bSadUbTwd/J0NqvmZLLdP7/SH9pySv6+1NjcpN5uvN2vt/EPezU2l+f3PdZt/q/FOtaxrvLWVcI9so51rOv6ukq4R9bVHn4fgM0jkitNUAx8/etf16OPPqoBAwZojz32kCTNmTNHq1ev1hFHHKHXXntNixYt0jPPPKP999+/3c/z0Ucfafjw4XrxxRe17777Bq9fccUVmjFjhmbPnt1qzY477qhFixbpq1/9qs4991y98847Ovfcc3XBBRfoe9/7niTpb3/7mxobG7XDDjvo448/1g9+8AMtWbJE8+bNU9++fdu8l+9///v6wQ9+0Or13/3ud+rVq5fNb09VevLmGVr40oc6+Ky9Ne6olu2Umfe9rNcef0t7fHGs9j35sy0+9pfvT9eHry3V4Rfvrx0O/Ezw+vv/XaK/3vCcBm+3hU748eRWX++RK/6mZQtW6ujvHKzP7DVCknTvV3+v1Ia0vnrXMRo4vF+b9/nbb/1Vny5eE/z6m787QfF6t81rUV4Wv7tGf31gvhqG1Ov/nT+u1cd/+5O5WrsqqePO3FFDtyn+3/HCN1bp7w+/q6Hb9tFx39ipxZrf/Pg1rVud0vFn7aQhI1oGyG/NWaHn/vyethndX0d/Lb+nX/rHh3pl5lKN32+I9v9c2z88MPdfy/TCkx8Ev97nyBH67AHDQv93Y9P6xZ8XafW6tE46aoSGb1kfvP7JqqQefPwD9a53dO6Xt2u17u4/LNSGZk9f//+20eCB+THFCxev15+e/UhDGhL62tFt75ef/PYdZbyczjp+pD78pElPzlqmbYf10v87fHiL67LZnH4+bZEaN7Tf7OnbK6ZvHj9S0WjrH8bB5rVwdZOmzv240+uG9HL1rT2LDT/TdafvMlTbDWz5d5E3VqzXE++s0NpU8QcU6pyomr2sdhncWyfsNCTUPZ4+fpi2G1Df6XXYfFLZrK78cKEk6Udb59+vrir8+uatt1O8nTBwnZfRtYsXKSLptm2216UfvCtJun7EZ9Sn5AfqNrY8ndJNHxW/750+eKh26WV/NAAAAAAA+DZs2KCTTjpJa9asUb9+bT/nBdD9rJuBQ4cO1UknnaS77rpL0cIDh2w2qwsvvFB9+/bVww8/rLPPPltXXnmlZs2a1a03m81mteWWW+ree++V4zjaY489tGTJEt16661BGPi5z30uuH78+PGaMGGCtt12W/3hD3/QGWec0ebn/fa3v61LLrkk+PXatWu19dZb64gjjuANSdJ/739LC/WhdtxpJ02efGSLj338z0/1mt7SyG1GavLklsHezDtf0Ydaql122UWTJh8YvP5q3Tz9Vc+pd6/erdZI0t9vfFHLtFK77bab9p+8tyTpN30eU2pDWvvts58+s0vbD94fvepZfapiGHjIgYeo/+DO//zS6bSefvppHX744cH4WROs6751r85eqL8+MF+S2lz31/ve09pVSe211wTtssfI4PUX697U3x9+t811f/nFu1q3epUm7L2Pdt6t5Z6JZ17Vc39+r8W61R8+r1dmLtXwrbZuc19KUmbN7BZh4HYjR2ny5IOM/hs35e9nJfyZb451v/37A1q9bo322msv7Ta2uCfeX7JKDz7+azmO2+af/S8evVcbmpu07777asx2+RHU/339A/3p2T+rV68+7e6Xnz50l+R5mjhxot55f6WenPWk+vcf0Or6V99YrMYN73R47+s2ZDTiM7tqt7Ej2r2mUv4cqm2dl83q8fd/peVrGjs8/69hYMs/e9N1p3/pGPVKFJtbz8x7Vw//82+t1jR7+YZrNtH6e+tTr86XDMLAUTvvoqN2a38kbbn+GdTSuqZ0Wlf+8meSpEMPPVS96+p01c/vkiQdPGmSBtTVtbluxYYNuvbBX0qSjjziCF019edKZ7OaeMjBGtan7R+Wk6RFq1frpod+Ffx65/G7avKYjqd/+Crh97Pa11XCPbKOdazbfOsq4R5ZxzrWdX1dJdwj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zz+71VBHnVodIYQ0FjQDiQNpaWnitttuE2azWRQVFYkpU6aI6OhosWXLFiGEZ3OHOurU6M455xwxd+5cIYQQK1euFEFBQWLWrFn29jfeeEOcf/75zarzhTlS51knSZIYMWKEuPXWWx3+dDqduOqqq+yPqaNOq06SJJGTkyOEEGLcuHHiyiuvFFVVVUIIIcxms5gwYYK44oor3I5FHXVKdYGBgeLw4cNCCCF69+4tvvrqK4f2ZcuWia5du1LXAnW+MEchrGtz165dYvbs2aJPnz5Cp9OJfv36ibffflucOXPGpT911GnRtW/f3n7R88CBA0Kn04klS5bY21esWCE6duzokzpfmGNr0J1zzjli/vz5Dv1SU1OFEEJUVlaKSy65xO1vQOqoU6P7+OOPRUBAgJgwYYJYuHChWL58uVi+fLlYuHChuPHGG4XBYBD/+c9/qKOuXjpCCGlMaAYSB6KiosS+ffscjr366qsiKipKbNy40aO5Qx11anQhISEiKyvL/thgMDhEROzZs0dER0c3q84X5kidZ92iRYtEUlKSWLBggcPxgIAAsWvXLpf+1FGnVlfX3Gnfvr09IsfGli1bREJCAnXU1UuXkJAg1q1bJ4QQIi4uzn6zjY39+/eLoKAg6lqgzhfmKITj2hRCiA0bNojJkyeLiIgIERQUJG688Ubxyy+/UEddvXRBQUF2s1oI6++5utlEDh48KIKDg31S5wtzbA06k8kkDh48aH9ssViEwWAQJ06cEEIIsWbNGhEbG0sddfXSdevWTbzzzjsux23MmzfP7Y031FGnRkcIIY0JawYSF8rLyx0eP/nkk3j66adx2WWX4c8//6SOunrrDAaDQ33BwMBAhIaGOjx2V4ukKXW+MEfqPOsmTJiAtWvX4qOPPsK1116L/Px8lz7uoI46pTpJkiBJEgBAp9MhIiLCoT0yMtLt81BHnRrd1VdfjZdffhlmsxnjxo3Du+++61D37e2338Y555xDXQvU+cIc3TFo0CC8//77OHHiBN59910cPXoUl156KXXU1UvXoUMHrFu3DgCwadMmSJKEjRs32ts3bNiAxMREn9T5whxbgy4xMRH79u2zPz5w4AAsFguio6MBAElJSSgpKaGOunrpjhw5grS0NJfjNi655BIcO3aMOurqpSOEkEalmUxI0kIZPny4Q7qEusycOVMEBga6jfSi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c+fi6aefhkajwY0bN7B582ZcvXoV6enpDyQvc6xpzbZu3YqIiAhMmjQJeXl5UKvV6Orqgl6vR2FhIQwGA6KiojBu3DikpKRg06ZN6OrqQkZGBqZOndrvJ3jvxyeffIKQkBBMmTIFu3fvRkNDA7Zv337f/fn4+KCsrAxxcXFQKBTQ6XT9bup5enri0KFDSEpKgr29PYYPH96vH0v2JhERERERkbXgzUAiIiIiGnRKpRJhYWHYuHEjIiMjERgYCJ1Oh3nz5skO5D799FOEhoYiOTkZKpUKS5culW70BAcH4+OPP0ZpaSkCAwORm5uLvLw8pKWlmR1brVajpqYGZ8+exbPPPosJEyYgNzdX9r21h2nNmjXQ6XTIz8+Hv78/tFotKioqMGbMGAC3bzEtX74carUakZGRsLW1RWlpqcX93+s82djYoLy8HDdv3sSkSZOQnp6OtWvXDsar9jNjxgy89957KCgoQEBAAD744AMUFxdj2rRpUkxycjKKioqwY8cOTJw4EVqtFr/++isOHToEDw+PB5LX3VjLmnl5eeH777/H9OnTkZWVhcDAQGg0GlRXV6OwsBDA7Z+9/Oyzz+Dm5obIyEhERUXBy8sLe/futfh9zFm9ejVKS0uhVqtRUlKCPXv2DOj23YYNG+Dm5obw8HDExcUhOjoawcHBspi8vDxcvHgRY8eOhbu7u8l+LNmbRERERERE1kIhLP2yPBERERERERERERERERH9q/BmIBEREREREREREREREZGV4mEgERERERERERERERERkZXiYSARERERERERERERERGRleJhIBEREREREREREREREZGV4mEgERERERERERERERERkZXiYSARERERERERERERERGRleJhIBEREREREREREREREZGV4mEgERERERERERERERERkZXiYSARERERERERERERERGRleJhIBEREREREREREREREZGV4mEgERERERERERERERERkZX6H/PbIHET2s3YAAAAAElFTkSuQmCC\n"},"metadata":{}}],"source":["import matplotlib.pyplot as plt\n","import pandas as pd\n","# Plotting\n","plt.figure(figsize=(18, 9)) # Increase figure size for better clarity\n","results_df['Threshold Combination'] = results_df.apply(lambda row: f\"{row['score_threshold']:.1f}-{row['iou_threshold']:.2f}\", axis=1)\n","sorted_df = results_df.sort_values(by=['score_threshold', 'iou_threshold'])\n","unique_scores = sorted_df['score_threshold'].unique()\n","colors = plt.cm.viridis(np.linspace(0, 1, len(unique_scores))) # Use a colormap for better color distinction\n","\n","for score, color in zip(unique_scores, colors):\n"," subset = sorted_df[sorted_df['score_threshold'] == score]\n"," # Plot only every nth point to reduce clutter, if needed\n"," nth = 1 # Change this value to skip points\n"," plt.plot(subset['Threshold Combination'][::nth], subset['mAP'][::nth], '-o', label=f'Score {score:.1f}', color=color)\n","\n","plt.xlabel('Score Threshold - IoU Threshold Combination')\n","plt.ylabel('Mean Average Precision (mAP)')\n","plt.title('mAP Across Combined Score and IoU Thresholds')\n","plt.xticks(rotation=90) # Rotate labels for better visibility\n","plt.legend(title=\"Score Thresholds\", bbox_to_anchor=(1.05, 1), loc='upper left')\n","plt.grid(True)\n","plt.tight_layout() # Adjust layout to make room for label rotation\n","plt.show()\n"]},{"cell_type":"markdown","metadata":{"id":"X2biu0Ros-Qc"},"source":["# **Annotate the predictions**"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"icakl8liwmMX"},"outputs":[],"source":["import os\n","import cv2\n","import logging\n","import numpy as np\n","import pandas as pd\n","import matplotlib.pyplot as plt\n","from sklearn.metrics import confusion_matrix\n","import seaborn as sns\n","import shutil\n","\n","score_threshold = 0\n","iou_threshold = 0\n","\n","target_width = 1024\n","target_height = 1024\n","# Paths to the CSV files\n","predictions_path = os.path.join(working_directory, 'testing/run/label.csv')\n","ground_truth_path = os.path.join(test_dir, 'label.csv')\n","\n","# Load the CSV files\n","predictions_df = pd.read_csv(predictions_path)\n","ground_truth_df = pd.read_csv(ground_truth_path)\n","\n","# Process the dataframes\n","predictions_df = process_bboxes(predictions_df)\n","ground_truth_df = process_bboxes(ground_truth_df)\n","labels = ['Healthy', 'Sick', 'Back ground']\n","\n","\n","# Annotate images\n","def annotate_images(predictions_df, ground_truth_df, mAP_results, image_dir, output_dir, score_threshold=score_threshold, iou_threshold=iou_threshold, target_width=target_width, target_height=target_height):\n"," if not os.path.exists(output_dir):\n"," os.makedirs(output_dir)\n","\n"," #labels = ['Healthy', 'Sick', 'Back ground']\n"," label_to_class = {'Healthy': 0, 'Sick': 1, 'Back ground': 2}\n"," overall_cm = np.zeros((len(labels), len(labels)), dtype=int)\n","\n"," for map_result in mAP_results:\n"," image_id = map_result['image_id']\n"," mAP_score = map_result['class_map_score']\n"," image_path = os.path.join(image_dir, f\"{image_id}\")\n"," image = cv2.imread(image_path)\n"," if image is None:\n"," logging.warning(f\"Failed to load image: {image_path}\")\n"," continue\n","\n"," base_height, base_width = image.shape[:2]\n"," pred_group = predictions_df[(predictions_df['image_id'] == image_id) & (predictions_df['score'] >= score_threshold)]\n"," ground_truth_group = ground_truth_df[ground_truth_df['image_id'] == image_id]\n","\n"," # Convert predictions and ground truth to list of dictionaries\n"," groundtruth = [{'box': convert_bbox(gt_row['bbox']), 'label': gt_row['Class']} for gt_idx, gt_row in ground_truth_group.iterrows()]\n"," predictions = [{'box': convert_bbox(pred_row['bbox']), 'label': pred_row['prediction'], 'score': pred_row['score']} for pred_idx, pred_row in pred_group.iterrows()]\n","\n"," # Perform matching\n"," match_dict, bbox_gt_formatted, bbox_preds_formatted,iou = match_bboxes(groundtruth, predictions, label_to_class, iou_threshold)\n","\n"," y_true = []\n"," y_pred = []\n","\n"," for gt_idx, gt_row in enumerate(groundtruth):\n"," gt_label = gt_row['label']\n"," if gt_idx in match_dict and match_dict[gt_idx] is not None:\n"," pred_idx = match_dict[gt_idx]\n"," pred_label = predictions[pred_idx]['label']\n"," y_true.append(gt_label)\n"," y_pred.append(pred_label)\n"," else:\n"," y_true.append(gt_label)\n"," y_pred.append('Back ground')\n","\n"," for pred_idx, pred_row in enumerate(predictions):\n"," if pred_idx not in match_dict.values():\n"," y_true.append('Back ground')\n"," y_pred.append(pred_row['label'])\n","\n"," # Draw all ground truth boxes\n"," for gt in groundtruth:\n"," scaled_gt_bbox = scale_bbox(gt['box'], base_width, base_height, target_width, target_height)\n"," draw_solid_rectangle(image, scaled_gt_bbox, gt['label'])\n","\n"," # Draw all prediction boxes\n"," for pred in predictions:\n"," scaled_pred_bbox = scale_bbox(pred['box'], base_width, base_height, target_width, target_height)\n"," draw_dotted_rectangle(image, scaled_pred_bbox, pred['label'], pred['score'])\n","\n"," # Generate confusion matrix for the image\n"," cm_df = generate_image_confusion_matrix(y_true, y_pred, labels)\n"," overall_cm += cm_df.values\n"," logging.info(f\"Confusion Matrix for {image_id}: \\n{cm_df}\")\n","\n"," metrics = calculate_metrics(cm_df)\n","\n"," final_image_path = os.path.join(output_dir, f\"{image_id}\")\n"," draw_confusion_matrix_and_metrics_on_image(image, cm_df.values, labels, metrics,800, final_image_path, score_threshold,iou_threshold)\n","\n"," final_image_path = os.path.join(output_dir, f\"{image_id}\")\n"," cv2.imwrite(final_image_path, image)\n"," logging.info(f\"Final annotated image saved to {final_image_path}\")\n","\n"," return overall_cm, metrics, cm_df\n","\n","\n","\n","if __name__ == '__main__':\n"," predictions_df = pd.read_csv(os.path.join(working_directory, 'testing/run/label.csv'))\n"," ground_truth_df = pd.read_csv(os.path.join(test_dir, 'label.csv'))\n"," image_dir = os.path.join(test_dir, 'images/')\n"," output_base_dir = os.path.join(working_directory, 'testing/')\n","\n"," # Directory where parameter results will be stored\n"," parameters_dir = os.path.join(output_base_dir, \"parameters\")\n","\n"," # Clear existing contents in the parameters directory before starting new processing\n"," if os.path.exists(parameters_dir):\n"," clear_directory(parameters_dir)\n"," else:\n"," os.makedirs(parameters_dir) # Create the directory if it does not exist\n","\n"," # Specify IoU and score thresholds as [start, end, step size]\n"," iou_thresholds = [0.2, 1, 0.2]\n"," score_thresholds = [0.2, 1, 0.2]\n"," iou_range = np.arange(*iou_thresholds)\n"," score_range = np.arange(*score_thresholds)\n","\n"," for iou_threshold in iou_range:\n"," for score_threshold in score_range:\n"," main_output_dir = os.path.join(parameters_dir, f\"param_iou{iou_threshold:.1f}_cscore{score_threshold:.1f}\")\n"," output_dir = os.path.join(main_output_dir, 'annotated_images')\n"," if not os.path.exists(output_dir):\n"," os.makedirs(output_dir)\n"," overall_cm, metrics, cm_df = annotate_images(predictions_df, ground_truth_df, mAP_results, image_dir, output_dir, score_threshold, iou_threshold, target_width, target_height)\n"," overall_cm_df = pd.DataFrame(overall_cm, index=labels, columns=labels)\n"," metrics_all = calculate_metrics(overall_cm_df)\n"," combined_output_path = os.path.join(main_output_dir, 'summary.jpeg')\n"," save_combined_confusion_matrix_and_metrics(overall_cm_df, metrics_all, combined_output_path)"]}],"metadata":{"accelerator":"GPU","colab":{"gpuType":"T4","provenance":[]},"kernelspec":{"display_name":"Python 3","name":"python3"},"language_info":{"name":"python"}},"nbformat":4,"nbformat_minor":0} \ No newline at end of file diff --git a/test_7s.py b/test_7s.py new file mode 100644 index 0000000000..63eaf925f7 --- /dev/null +++ b/test_7s.py @@ -0,0 +1,167 @@ +import cv2 +import os +import argparse +from pathlib import Path +import subprocess +import numpy as np +import shutil + +def split_image(img_path, stride=32): + img = cv2.imread(img_path) + if img is None: + raise FileNotFoundError(f"The image at {img_path} could not be loaded. Please check the path and file.") + h, w, _ = img.shape + pad_h = (stride - h % stride) % stride + pad_w = (stride - w % stride) % stride + padded_img = cv2.copyMakeBorder(img, 0, pad_h, 0, pad_w, cv2.BORDER_CONSTANT, value=(0,0,0)) + h, w = padded_img.shape[:2] + return [padded_img[:h//2, :w//2], padded_img[:h//2, w//2:], padded_img[h//2:, :w//2], padded_img[h//2:, w//2:]] + +def save_image_parts(img_parts, temp_dir): + part_paths = [] + for idx, part in enumerate(img_parts): + part_path = os.path.join(temp_dir, f"part_{idx + 1}.jpg") + cv2.imwrite(part_path, part) + part_paths.append(part_path) + return part_paths + +def parse_predictions(pred_path): + predictions = [] + with open(pred_path, 'r') as file: + for line in file: + data = line.strip().split() + if len(data) == 6: + predictions.append([int(data[0])] + list(map(float, data[1:]))) + elif len(data) == 5: # Handle missing confidence + predictions.append([int(data[0])] + list(map(float, data[1:])) + [1.0]) # Default confidence to 1.0 + return predictions + +def draw_predictions_on_original(image, predictions, part_idx, img_shape, part_shape): + h_half, w_half = img_shape[0] // 2, img_shape[1] // 2 + x_offset = (part_idx % 2) * w_half + y_offset = (part_idx // 2) * h_half + + bboxes = [] + for pred in predictions: + class_id, x_center, y_center, width, height, conf = pred + # Transform normalized coordinates to absolute coordinates + abs_x_center = x_center * part_shape[1] + x_offset + abs_y_center = y_center * part_shape[0] + y_offset + abs_width = width * part_shape[1] + abs_height = height * part_shape[0] + + top_left = (int(abs_x_center - abs_width / 2), int(abs_y_center - abs_height / 2)) + bottom_right = (int(abs_x_center + abs_width / 2), int(abs_y_center + abs_height / 2)) + + # Set bounding box color and label based on class_id + if class_id == 0: + color = (0, 255, 0) # Green for Healthy + label = "Healthy" + else: + color = (0, 0, 255) # Red for Sick + label = "Sick" + + cv2.rectangle(image, top_left, bottom_right, color, 2) + cv2.putText(image, f"{label} {conf:.2f}", (top_left[0], top_left[1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2) + + # Normalize coordinates relative to the full image + norm_x_center = abs_x_center / img_shape[1] + norm_y_center = abs_y_center / img_shape[0] + norm_width = abs_width / img_shape[1] + norm_height = abs_height / img_shape[0] + + # Collect bounding box information + bboxes.append((class_id, norm_x_center, norm_y_center, norm_width, norm_height, conf)) + + return bboxes + +def process_image_parts(part_paths, full_img_path, args): + full_img = cv2.imread(full_img_path) + img_shape = full_img.shape + part_shape = (img_shape[0] // 2, img_shape[1] // 2) + + all_bboxes = [] + for idx, part_path in enumerate(part_paths): + # Prepare the command line arguments list for subprocess.run() + command = [ + 'python', '/content/drive/MyDrive/development/models/model-7/yolov7/run.py', + '--source', part_path, + '--img-size', str(args.img_size), + '--save-txt', # Ensure predictions are saved to txt files + '--save-conf', # Ensure confidence scores are saved + '--project', args.temp_dir, # Output directory + '--name', 'outputs', # Subdirectory for results + '--exist-ok' # Prevent creating new directories each time + ] + + # If weights is a list, extend the command list appropriately + if isinstance(args.weights, list): + command.extend(['--weights'] + args.weights) + else: + command.extend(['--weights', args.weights]) + + # Execute the model script via subprocess + subprocess.run(command, check=True, text=True) + + # Construct the prediction file path + pred_path = os.path.join(args.temp_dir, 'outputs', 'labels', os.path.basename(part_path).replace('.jpg', '.txt')) + + predictions = parse_predictions(pred_path) if os.path.exists(pred_path) else [] + bboxes = draw_predictions_on_original(full_img, predictions, idx, img_shape, part_shape) + all_bboxes.extend(bboxes) + + result_path = os.path.join(args.project, args.name, os.path.basename(full_img_path)) + cv2.imwrite(result_path, full_img) + print(f"Combined image with predictions saved to: {result_path}") + + # Ensure the labels directory exists + labels_dir = os.path.join(args.project, args.name, 'labels') + Path(labels_dir).mkdir(parents=True, exist_ok=True) + + # Save bounding boxes to a text file in the labels directory + bbox_txt_path = os.path.join(labels_dir, os.path.basename(full_img_path).replace('.jpg', '.txt')) + with open(bbox_txt_path, 'w') as f: + for bbox in all_bboxes: + f.write(' '.join(map(str, bbox)) + '\n') + print(f"Bounding box values saved to: {bbox_txt_path}") + +def clear_labels_directory(temp_dir): + labels_dir = os.path.join(temp_dir, 'outputs', 'labels') + if os.path.exists(labels_dir): + shutil.rmtree(labels_dir) + Path(labels_dir).mkdir(parents=True, exist_ok=True) + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--source', type=str, required=True, help='Source image path or directory') + parser.add_argument('--weights', nargs='+', type=str, default=['yolov7.pt'], help='Path(s) to model weights') + parser.add_argument('--img-size', type=int, default=640, help='Inference size (pixels)') + parser.add_argument('--save-txt', action='store_true', help='Save results to .txt file') + parser.add_argument('--save-conf', action='store_true', help='Save confidence scores') + parser.add_argument('--project', type=str, required=True, help='Project directory') + parser.add_argument('--name', type=str, required=True, help='Run name') + parser.add_argument('--temp-dir', type=str, default='temp_parts', help='Temporary directory for image parts') + args = parser.parse_args() + + # Ensure necessary directories exist + Path(args.temp_dir).mkdir(parents=True, exist_ok=True) + Path(os.path.join(args.project, args.name)).mkdir(parents=True, exist_ok=True) + + if os.path.isdir(args.source): + for filename in os.listdir(args.source): + file_path = os.path.join(args.source, filename) + if os.path.isfile(file_path) and file_path.lower().endswith(('.png', '.jpg', '.jpeg')): + print(f"Processing image: {file_path}") + clear_labels_directory(args.temp_dir) + img_parts = split_image(file_path) + part_paths = save_image_parts(img_parts, args.temp_dir) + process_image_parts(part_paths, file_path, args) + else: + img = cv2.imread(args.source) + clear_labels_directory(args.temp_dir) + img_parts = split_image(args.source) + part_paths = save_image_parts(img_parts, args.temp_dir) + process_image_parts(part_paths, args.source, args) + +if __name__ == '__main__': + main() diff --git a/train.py b/train.py index 86c7e48d5a..c6e1975407 100644 --- a/train.py +++ b/train.py @@ -1,3 +1,4 @@ + import argparse import logging import math diff --git a/utils/google_utils.py b/utils/google_utils.py index f363408e63..2cda2a5fa5 100644 --- a/utils/google_utils.py +++ b/utils/google_utils.py @@ -19,7 +19,8 @@ def gsutil_getsize(url=''): def attempt_download(file, repo='WongKinYiu/yolov7'): # Attempt file download if does not exist file = Path(str(file).strip().replace("'", '').lower()) - + if os.path.exists(file): + return # File exists, no need to download if not file.exists(): try: response = requests.get(f'https://api.github.com/repos/{repo}/releases/latest').json() # github api @@ -28,7 +29,10 @@ def attempt_download(file, repo='WongKinYiu/yolov7'): except: # fallback plan assets = ['yolov7.pt', 'yolov7-tiny.pt', 'yolov7x.pt', 'yolov7-d6.pt', 'yolov7-e6.pt', 'yolov7-e6e.pt', 'yolov7-w6.pt'] - tag = subprocess.check_output('git tag', shell=True).decode().split()[-1] + try: + tag = subprocess.check_output('git tag', shell=True).decode().split()[-1] + except subprocess.CalledProcessError: + tag = 'v0.0' # default tag if git command fails name = file.name if name in assets: