yolov5 | YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite | Machine Learning library

 by   ultralytics Python Version: v7.0 License: AGPL-3.0

kandi X-RAY | yolov5 Summary

kandi X-RAY | yolov5 Summary

yolov5 is a Python library typically used in Artificial Intelligence, Machine Learning, Deep Learning, Pytorch, Tensorflow applications. yolov5 has no bugs, it has no vulnerabilities, it has build file available, it has a Strong Copyleft License and it has medium support. You can install using 'pip install yolov5' or download it from GitHub, PyPI.

YOLOv5 is a family of object detection architectures and models pretrained on the COCO dataset, and represents Ultralytics open-source research into future vision AI methods, incorporating lessons learned and best practices evolved over thousands of hours of research and development. See the YOLOv5 Docs for full documentation on training, testing and deployment. Clone repo and install requirements.txt in a Python>=3.7.0 environment, including PyTorch>=1.7. Inference with YOLOv5 and PyTorch Hub . Models download automatically from the latest YOLOv5 release. detect.py runs inference on a variety of sources, downloading models automatically from the latest YOLOv5 release and saving results to runs/detect. The commands below reproduce YOLOv5 COCO results. Models and datasets download automatically from the latest YOLOv5 release. Training times for YOLOv5n/s/m/l/x are 1/2/4/6/8 days on a V100 GPU (Multi-GPU times faster). Use the largest --batch-size possible, or pass --batch-size -1 for YOLOv5 AutoBatch. Batch sizes shown for V100-16GB. Get started in seconds with our verified environments. Click each icon below for details. Automatically track and visualize all your YOLOv5 training runs in the cloud with Weights & Biases. Label and export your custom datasets directly to YOLOv5 for training with Roboflow.

            kandi-support Support

              yolov5 has a medium active ecosystem.
              It has 39392 star(s) with 14036 fork(s). There are 351 watchers for this library.
              It had no major release in the last 12 months.
              There are 192 open issues and 7910 have been closed. On average issues are closed in 42 days. There are 71 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of yolov5 is v7.0

            kandi-Quality Quality

              yolov5 has 0 bugs and 0 code smells.

            kandi-Security Security

              yolov5 has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              yolov5 code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              yolov5 is licensed under the AGPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              yolov5 releases are available to install and integrate.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              yolov5 saves you 1539 person hours of effort in developing the same functionality from scratch.
              It has 6133 lines of code, 412 functions and 33 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed yolov5 and discovered the below as its top functions. This is intended to give you an instant insight into yolov5 implemented functionality, and help decide if they suit your requirements.
            • Train the model .
            • Load dataset statistics .
            • Calculate k - mean anchor anchors .
            • Non - Suppression Estimation
            • Generate a random perspective .
            • Loads a mosaic tile .
            • Initialize wandb .
            • Computes the precision for each class .
            • Helper function to plot images .
            • Build targets for the given parameters .
            Get all kandi verified functions for this library.

            yolov5 Key Features

            No Key Features are available at this moment for yolov5.

            yolov5 Examples and Code Snippets

            3. YOLOv5模型预测:
            Pythondot img1Lines of Code : 124dot img1License : Permissive (MIT)
            copy iconCopy
            import torch
            import numpy as np
            from models.experimental import attempt_load
            from utils.general import non_max_suppression, scale_coords, letterbox
            from utils.torch_utils import select_device
            import cv2
            from random import randint
            class Detector(obj  
            Pythondot img2Lines of Code : 43dot img2no licencesLicense : No License
            copy iconCopy
            # 小数据建议:copy 大数据建议:move
            for i in range(len(img_txt_cg_train)):
            for j in range(len(img_txt_cg_test)):
            Pythondot img3Lines of Code : 28dot img3no licencesLicense : No License
            copy iconCopy
            │      train_29635.xml
            │      train_29641.xml
            │      train_30090.xml
            │	   ...
            │	└─Main
            │      train.txt
            │      test.txt
            │      valid.txt
            │      img_train.txt
            │      img_test.txt
            │      img_valid.txt
            How to read text file in python after that write something on same file
            Pythondot img4Lines of Code : 12dot img4License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            with open('result.txt','r') as file:
                data = file.readlines() # return list of all the lines in the text file.
            for a in range(len(data)): # loop through all the lines.
                if 'person' in data[a] and 'tv' in data[a]: # Check if person a
            OpenCV Window Freezing when trying to combine with Neural Network Image Classification
            Pythondot img5Lines of Code : 3dot img5License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            cv2.imshow("window", img)
            cv2.waitKey(1)  # perform GUI housekeeping tasks
            How to use yolov5 api with flask offline?
            Pythondot img6Lines of Code : 4dot img6License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            # model = torch.hub.load("ultralytics/yolov5", "yolov5s", force_reload=True)  # force_reload to recache
            model = torch.hub.load(r'C:\Users\Milan\Projects\yolov5', 'custom', path=r'C:\Users\Milan\Projects\yolov5\mode
            Unable to find module/folder despite being in the same directory
            Pythondot img7Lines of Code : 5dot img7License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            from pathlib import Path
            import sys
            sys.path.append(str(Path(__file__, "..", "targetTrack", "yolov5").resolve()))
            PyTorch - save only positive pictures where pedestrian are detected
            Pythondot img8Lines of Code : 3dot img8License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            if 0 in results.pandas().xyxy[0]['class']:
            How to load custom model in pytorch
            Pythondot img9Lines of Code : 2dot img9License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            model = torch.hub.load('ultralytics/yolov5', 'custom', path='yolov5/runs/train/exp/weights/last.pt', force_reload=True) 
            Class label order in YoloV5 using Ultralytics code
            Pythondot img10Lines of Code : 6dot img10License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            nc: 3
            classes: ['cat', 'dog', 'car']
            0 0.156 0.321 0.254 0.198
            2 0.574 0.687 0.115 0.301

            Community Discussions


            How to read text file in python after that write something on same file
            Asked 2022-Apr-14 at 07:53

            i am currently working with yolov5 code is here i slightly modified in code to save results in text file called output.txt

            output.txt file :



            Answered 2022-Apr-14 at 07:17

            This code may helps you.

            Source https://stackoverflow.com/questions/71867691


            YOLOv5 get boxes, scores, classes, nums
            Asked 2022-Apr-05 at 08:26

            im trying to bind the Object Tracking with Deep Sort in my Project and i need to get the boxes, scores, classes, nums.

            Loading Pretrained Yolov5 model:



            Answered 2022-Apr-05 at 08:26

            The output from the model is a torch tensor and has no xyxy method. You need to extract the values manually. Either you can go through each detection one by one:

            Source https://stackoverflow.com/questions/71737788


            TypeError: Can't convert vector element for 'scores', index=0
            Asked 2022-Apr-04 at 21:29

            I'm trying to take the output of a yolov5s.onnx model and and run NMSBoxes on it. But I keep getting this error:



            Answered 2022-Apr-04 at 21:29

            I had the same issue. It seemed to be related to the cuda configuration as it works fine on the cpu. I did not figure out exactly what was wrong but I worked around the issue by using fastNMS: enter link description here

            Source https://stackoverflow.com/questions/71739616


            How to use pt file
            Asked 2022-Apr-01 at 19:25

            I'm trying to make a currency recognition model and I did so using a dataset on kaggle and colab using yolov5 and I exactly carried out the steps explained on yolov5 github. At the end, I downloaded a .pt file which has the weights of the model and now I want to use it in python file to detect and recognize currency . How to do this?

            I am a beginner in computer vision and I am totally confused about what to do. I am searching over and over but I don't reach anything.



            Answered 2022-Apr-01 at 17:19

            If you want to read trained parameters from .pt file and load it into your model, you could do the following.

            Source https://stackoverflow.com/questions/71707006


            How to place the dataset for training Yolov5?
            Asked 2022-Mar-25 at 14:06

            I’m currently working on object detection using yolov5. I trained a model with a custom dataset which has 3 classes = [‘Car’,‘Motorcycle’,‘Person’]

            I have many questions related to yolov5.

            All the custom images are labelled using Roboflow.

            question1 : As you can see from the table that my dataset has mix of images with different sizes. Will this be a problem in training? And also assume that i’ve trained the model and got ‘best.pt’. Will that model work efficiently in any dimensions of images/videos.

            question 2:

            Is this directory model correct for training. Even i have ‘test’ directory but it seems that the directory is not at all used. The images in the ‘test’ folder is useless. ( I know that i’m asking dumb questions, please bare with me.)

            Is it ok if place all my images like this

            And should i need a ‘test’ folder?

            question3: What is the ‘imgsz’ in detect.py? Is it downsampling the input source?

            I’ve spent more than 3 weeks in yolo. I love it but i find some parts difficult to grasp. kindly provide suggestion for this questions. Thanks in advance.



            Answered 2022-Mar-25 at 14:06

            "question1 : As you can see from the table that my dataset has mix of images with different sizes. Will this be a problem in training? And also assume that i’ve trained the model and got ‘best.pt’. Will that model work efficiently in any dimensions of images/videos."

            • As long as you've resized/normalized all of your images to be the same square size, then you should be fine. YOLO trains on square images. You can use a platform like Roboflow to process your images so they not only come out in the right structure (for your images and annotation files) but also resize them while generating your dataset so they are all the same size. http://roboflow.com/ - you just need to make a public workspace to upload your images to and you can use the platform free. Here's a video that covers custom training with YOLOv5: https://www.youtube.com/watch?v=x0ThXHbtqCQ

            Roboflow's python package can also be used to extract your images programmatically: https://docs.roboflow.com/python

            "Is this directory model correct for training. Even i have ‘test’ directory but it seems that the directory is not at all used. The images in the ‘test’ folder is useless. ( I know that i’m asking dumb questions, please bare with me.)"

            • Yes that directory model is correct from training. Its what I have whenever I run YOLOv5 training too.

            You do need a test folder if you want to run inference against the test folder images to learn more about your model's performance.

            The 'imgsz' parameter in detect.py is for setting the height/width of the images for inference. You set it at the value you used for --img when you ran train.py.

            For example: Resized images to 640 by 640 when generating your images for training? Use (640, 640) for the 'imgsz' parameter (that is the default value). And that would also mean you set --img to 640 when you ran train.py

            YOLOv5's Github: Tips for Best Training Results https://github.com/ultralytics/yolov5/wiki/Tips-for-Best-Training-Results

            Roboflow's Model Production Tips: https://docs.roboflow.com/model-tips

            Source https://stackoverflow.com/questions/71612175


            Yolov5 object detection training
            Asked 2022-Mar-25 at 04:06

            Please i need you help concerning my yolov5 training process for object detection!

            I try to train my object detection model yolov5 for detecting small object ( scratch). For labelling my images i used roboflow, where i applied some data augmentation and some pre-processing that roboflow offers as a services. when i finish the pre-processing step and the data augmentation roboflow gives the choice for different output format, in my case it is yolov5 pytorch, and roboflow does everything for me splitting the data into training validation and test. Hence, Everything was set up as it should be for my data preparation and i got at the end the folder with data.yaml and the images with its labels, in data.yaml i put the path of my training and validation sets as i saw in the GitHub tutorial for yolov5. I followed the steps very carefully tought.

            The problem is when the training start i get nan in the obj and box column as you can see in the picture bellow, that i don't know the reason why, can someone relate to that or give me any clue to find the solution please, it's my first project in computer vision.

            This is what i get when the training process starts

            This the last message error when the training finish

            I think the problem comes maybe from here but i don't know how to fix it, i used the code of yolov5 team as it's in the tuto

            The training continue without any problem but the map and precision remains 0 all the process !!

            Ps : Here is the link of tuto i followed : https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data



            Answered 2021-Dec-04 at 09:38

            Running my code in colab worked successfully and the resulats were good. I think that the problem was in my personnel laptop environment maybe the version of pytorch i was using '1.10.0+cu113', or something else ! If you have any advices to set up my environnement for yolov5 properly i would be happy to take from you guys. many Thanks again to @alexheat

            Source https://stackoverflow.com/questions/70199621


            OpenCV Window Freezing when trying to combine with Neural Network Image Classification
            Asked 2022-Mar-15 at 15:33

            I am using a NN to detect 4 types of objects (chassis, front-spoiler, hubcap, wheel) in the live feed of my webcam. When one is detected, I want to display an image with information about it (chassis.png, front-spoiler.png, hubcap.png, wheel.png). When I run my NN and hold one of the items in front of the webcam, the opencv windows freezes and doesnt display anything. What is the reason for that?



            Answered 2022-Mar-15 at 15:33

            I had a similar issue. Adding cv2.waitKey after cv2.imshow helped in my case:

            Source https://stackoverflow.com/questions/71478801


            How to change the bounding box thickness and label text in yolov5?
            Asked 2022-Mar-15 at 08:55

            I am using YOLOv5s for object detection on custom datasets, there are multiple objects in given video, sometimes label text and bounding box thickness looks very bad. how can I customize these things?



            Answered 2022-Mar-15 at 08:55

            when using detect.py, pass in the following arguments to adjust the labels and bounding boxes:

            Source https://stackoverflow.com/questions/71390000


            How to use yolov5 api with flask offline?
            Asked 2022-Feb-28 at 18:45

            I was able to run the Flask app with yolov5 on a PC with an internet connection. I followed the steps mentioned in yolov5 docs and used this file: yolov5/utils/flask_rest_api/restapi.py,

            But I need to achieve the same offline(On a particular PC). Now the issue is, when I am using the following:



            Answered 2022-Feb-25 at 15:38

            If you want to run detection offline, you need to have the model already downloaded.

            So, download the model (for example yolov5s.pt) from https://github.com/ultralytics/yolov5/releases and store it for example to the yolov5/models.

            After that, replace

            Source https://stackoverflow.com/questions/71251177


            Deploying Yolov5 to azure
            Asked 2022-Feb-25 at 09:17

            How to deploy Custom trained YOLOV5 model to azure using azure functions? I couldn’t find any online resources

            Complete Scenario:

            There is a sharepoint app where user will upload the videos, once the new video is uploaded, it should trigger the flow to azure function, this azure function should be able to predict the objects in the frame with the custom trained yolov5 model



            Answered 2022-Feb-25 at 09:17

            We are not sure about the Deployment of YOLO5 in Azure Function.

            Follow the below steps, it will work for any ML model using Azure Function

            1. Install Azure CLI
            2. Install Azure Function Core Tools
            1. Create and test Azure function locally

            Using CLI create a python function

            Source https://stackoverflow.com/questions/71246199

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install yolov5

            You can install using 'pip install yolov5' or download it from GitHub, PyPI.
            You can use yolov5 like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link