Thanks a lot. I have been trying to train a model for a week and finally I found this gem. I was having an issue regarding numpy: AttributeError: module 'numpy' has no attribute 'int'. The problem was with the latest version of numpy. I ran "pip install --upgrade numpy==1.23.5" and it fixed the issue.
I followed the steps that you mentioned in the video and I tried 4-5 times to train the model but in the end, after training it did not detect Jack Sparrow's face in the image when trying to give an input image
Thank you so much, I’m doing my final year project and this video helps me so much. But i have a question. If i trained it to detect 1 object after that i want to train it to detect another object but still keep the previous one. How can i do that?
Hello. I run it on laptop with RTX 3060, 6Gb vram. But it runs only if batch-size is 1. Otherwise it doesn't work, an error occurs: RuntimeError: CUDA out of memory. Tried to allocate 1.92 GiB (GPU 0; 6.00 GiB total capacity; 545.16 MiB already allocated; 3.80 GiB free; 588.00 MiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF. I use 2000 images for training.
at 3:03 I get the error " name 'labelImg' is not defined". I installed the labelImg fine but when I want to open it by writing "labelImg" its doesn't work.
if we run a webcam on this are we able to log detections and if for example class x detected then take screenshot and check for class y - if class y found crop - enhance image and then run ocr and then log result in a database?
Hi, I am having this error RuntimeError: CUDA error: no kernel image is available for execution on the device Whereas my cuda and pytorch versions are the same Name: torch Version: 1.11.0+cu113 I had 11.6 but i changed it to 11.3 now it should work but its not and iam stuck now. EDIT: I have gtx 770 which is old. But i want to run yolo can i run only on cpu ? As i have installed only cpu pytorch but it gave this error: AssertionError: CUDA unavailable, invalid device -1 requested Please Assist ASAP
qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/ec2-user/anaconda3/envs/yolov7_custom/lib/python3.9/site-packages/cv2/qt/plugins" even though it was found. What should be done for this error?
Looks like you are running the script on a system with only CLI (without GUI). You would not be able to use functions that use the graphical output (such as cv2.imshow()).
Hi. I’m having an error while training. AssertionError: Label class 15 exceeds no=1 in data/custom_data.yaml. Possible class labels are 0-0. Not sure how to solve this.
Can I use labelme instead of labelImg? Whenever I use labelImg rectbox, it automatically terminates. Also whenever I install pip, the new directory 'labels' does not appear
Hello, thanks for this video, straight to the point and no time wasted, I just wanna ask after the first training of custom dataset. how do i add more dataset unto the first trained custom dataset yolo? do i use the best weights if i wanna continue adding more dataset to improve accuracy and more classes? becuz i wanna train my yolo while it retains the previous data is was trained with without starting from scratch, so i was wondering if u could help me with that. Thank you alot :)
Very clear! Such a nice video :) I just have a few questions... Would it be possible to do the inference with the pretrained weights (for instance, base yolov7) detecting only one class (for instance, person; or car)? In case it is, could yo please explain how? Regards
Yes it's possible. Follow pretrained yolo v7 tutorial (if you haven't already) and use flag --classes 0 to detect person class only. Detail about this flag is discussed here th-cam.com/video/K_OGcfXwskc/w-d-xo.html
Thank you so much! Now I am facing another problem... For my custom dataset, my images are non squared, they are 1280x720. I saw a flag "--rect" in order to show I am not using squared images for training. How should I define the "--img-size" flag? I don't think it is just typing 1280 720; but I don't find anything relevant surfing on the Internet.
Thank you for this amazing video. But, I am having some problems. When I run detect.py, no bounding box appears. Where is the problem coming from? I have Detectron and OpenCV installed. Are these necessary to visualize bounding boxes? I hope you can help me.
Detectron is not necessary. Opencv is. With regards to no bounding box, check precision and recall graphs in training folder (where best.pt file is located). If it has really small values, the model is struggling to learn and you need more data for training.
@@TheCodingBug Actually I wanted to test the detection with pre-trained weights by calling "python detect.py --weights yolov7.pt --source inference/images/horses.jpg --img 640". But, no bounding boxes appears in horses.jpg. I have approximately 2000 images for 4 classes. I trained the model in YOLOv5, thanks to your videos. I got 0.65-0.70 mAP. I trained the model in YOLOv7, but precision and recall stayed under 0.001 too low. I guess the problem comes from former issue. Is there any idea to solve this?
@@tugbayildizli3828 Check the other video for pretrained model. th-cam.com/video/n2mupnfIuFY/w-d-xo.html See if it works properly. If not, try updating Nvidia drivers for GPU usage or try CPU device instead of GPU.
@@TheCodingBug Hi SIr, I'm on the same situation. What does it means "...you need more data for traing"? Maybe more images (I have 57 images on Train folder). Thanks in advance
Hello, I am trying to train a model on custom plant images the model gets trained but does not detect correctly and makes no bounding box, is it because of underfitting, because I have only 60 images of a plant specie, is there any way to train the model with low number of images
please if i would use the weights of the first training and run the model another time with more data should i modify in the commande the weight yolov7.pt with best.pt of the privious model and that's it ?
I am getting this type of error what could be the reason assert mlc < nc, 'Label class %g exceeds nc=%g in %s. Possible class labels are 0-%g' % (mlc, nc, opt.data, nc - 1) AssertionError: Label class 15 exceeds nc=5 in data/custom.yaml. Possible class labels are 0-4
Please make a video on how to custom train already custom trained model for example : I trained model for detecting trash and wants to improve the accuracy, so I again want to train the model with different dataset
Hello good sir, I'm trying to train multiple objects at once but I'm getting "AssertionError: Label class 2 exceeds nc=2 in data/custom_data.yaml. Possible class labels are 0-1". I've already change number of classes to 2. What have went wrong here?
hello could you please help me, i train dataset but train also show 0 label in the box. and when i try to test, there is no bounding box label. whats wrong with my dataset ?
@@TheCodingBug oh, well the ram information is less relevant. What's the VRAM on the 1060? It would seem my 3060 desktop gpu is an ideal choice as I can train yolo on it in a relatively shorter time!
@@TheCodingBug after some reasearch it seems that the VRAM being 12GB is a real boost to the training. The fact that I can overclock it is also a bonus.
hello great video. Question: how the official YOLOv7 wants the bounding box format to be? Just like COCO format [xmin, ymin, width, height] or like previous YOLOs [xcenter, ycenter, width, height]?
It says: ERROR: Could not find a version that satisfies the requirement torch==1.11.0+cu113 (from versions: none) ERROR: No matching distribution found for torch==1.11.0+cu113 when i try to install requirements_gpu.txt
Hey there. I got an error while executing the command to train even when I followed the exact same steps shown in the video. This is the error: assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested' # check availability AssertionError: CUDA unavailable, invalid device 0 requested Can u please tell how to rectify it
Hello brother , can you please let me know what is the software you used to modify the official files ? At 7.25 . Please reply soon , I need it urgently for my University Project
If you have a stero camera you can measure detected object distance. Yolo is giving coordinates of objects. Stero camera can use this coordinates and can take distance. We are working on autonoums car and we are detecting traffic sign and their distance for writing best algorithms.
At the final step of running the custom object detector part I get an error saying that 1.jpeg does not exist when I am positive that I have it in the yolov7-custom folder. Any suggestions pls
@@TheCodingBug Traceback (most recent call last): File "C:\Users\alexa\OneDrive\Documents\Comp Sci\YOLOv7_Custom\yolov7-custom\detect.py", line 195, in detect() File "C:\Users\alexa\OneDrive\Documents\Comp Sci\YOLOv7_Custom\yolov7-custom\detect.py", line 57, in detect dataset = LoadImages(source, img_size=imgsz, stride=stride) File "C:\Users\alexa\OneDrive\Documents\Comp Sci\YOLOv7_Custom\yolov7-custom\utils\datasets.py", line 138, in __init__ raise Exception(f'ERROR: {p} does not exist') Exception: ERROR: C:\Users\alexa\OneDrive\Documents\Comp Sci\YOLOv7_Custom\yolov7-custom\1.jpeg does not exist This is the error message that I get
Hey, can you tell what is the format for annotation which yolov7 accepts, I cannot use labelmg as it is company work. I saw on google the format it accepts is class,x_centre,y_centre,w,h all normalized. Even after using this format I am not getting any detections. Can you help me by telling the format which yolov7 accepts. Edit - I figured my annotation format is correct, but still I am not able to get even a single detection on any image. what do you think might be the reason??
I use colab to train it, but it's not good. my mAP@.5:.95: just "0.3x" i follow your step, epochs 100 batch_size 8 should i train more epochs? or add more images?
@@TheCodingBug ok thank you!! I watch in 10:27 you just add less than 10 images in training, your mAP@.5:.95: have 0.6x in 10:47 I have a little confuse, how much images need to add.
hello sir. thank you for the explanation. i try to deploy with my 30 minutes video duration but turns out the detection video becomes 16 minutes. does it related to fps?
getting an error when trying to train about no labels existing, even though the images were labelled and are in the correct dir, tried searching online and coming up at a loss - scanning images and labels... 0 found, 126 missing, 0 empty, 0 corrupted: 100% - AssertionError: train: no labels in data\train\Images.cache. Can not train without labels.
Brother please help If the program detects i want an alarm But I don't know what to write i 'if' condition (what will be name of the detected image from the video)
Hi, nice video. Really Helpful. But I have a problem when training. I have this error: MP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. I searched around and they say the solution is to install all packages without MKL support: conda install nomkl is this a good solution? I mean is it because my CPU is old? It is Intel(R) Core(TM) i7-7700 CPU
Just an update in case someone had the same issue as me. I found out what the problem was. It is because of torchaudio package which was installed on my env. I noticed that in this video you remove torchaudio from the installation whereas in one of your other first videos you just copied the line from pytorch website which has torchaudio in it. I basically remake the env without torchaudio and everything works fine. Thanks again for the well made tutorial.
I was having the same issue. Go to runs > train folder and look at the graphs. In my case , I was not getting the box because it wasn’t learning. You may have to add more pictures and labels.
@@alejandroguerra6755 That's exactly why. I am running on a low end GPU so I didn't train it long. Lowering confidence parameter from 0.5 to 0.1 did produce the box.
Hi, this is a very nice video man! I have a question, is it possible to convert this model to TFLite following the same steps that you did on YOLO v4 video? Thanks a lot!
Any suggestions for getting my mAP values up? Almost all my mAP 0.5s are very low numbers for each epoch and it doesn't detect the jack sparrow face even at --conf 0.1
Thanks for making this video. I am facing problem in installing "torch==1.11.0+cu113" due to restriction i am not able to solve it , getting SSL error. In my system torch==1.13.0+cu113 is already present but its not working for the code. My model get train for 3 epoch than it shows the "Nvidia driver error". Please suggest something i would be grateful to you.
Hi Sir, as told you in the recent past, thank you so much for your effort producing this awesome minicourses. I'd like so much if you could produce a Yolov7 or Yolov8 detect video for Raspberry Pi. What's your thought regarding this idea?
hello, i have a question why is my mAP very low like the accuracy is only 0.2-0.3 did i miss any modifications? ive ran 3 training already but the accuracy is very bad :(
At 2:40 you mention that, you only annotate 60 images, does that mean you deleted around 240 images and basically a total of 60 annotated images are then divided into train and val sets ??
yes you have considered only 60 - 48 in train and 12 in val - which is interesting. I wonder if it's just because of the nature of the class in this context or is more generalised.
@@TheCodingBug do we need classes.txt if we have more than one class, I mean how would the model know which class a given (image, label) pair correspond to ?
@@TheCodingBug no I did see that, I was just wondering how a model understands an (image, label) pair - is it through the names of the images and annotations being the same as the class name apart from the number that is suffixed for each image
Great tutorial, but when I start training I get this error: (ModuleNotFoundError: No module named 'numpy') I tried installing numpy with (pip install numpy) but it tells me (Requirement already satisfied: numpy), I did everything you did properly but how can I fix this?
Hey Man, thanks for the great vid! I'm having issues with my mAP values, they are extremely low. I'm training on a dataset with 70 images and labels. I've run the training model a few times from 100 epochs to 1000 epochs yet still my recall (0.1-0.5) and mAP graphs are very low (between 0.001 and 0.0015). No bounding boxes appear on the test image (on custom object detector run) unless I use an extremely low confidence (0.001). Although a bounding box does appear, it just covers the entire image (not the requested custom object). Any ideas what I could do to solve this issue? I would highly appreciate it, Thanks.
These many images work for one object. But if there are multiple objects, and that too complex ones, 70 images are too few. You can try training yolov7 tiny and see if it improves mAP.
@@TheCodingBug Thanks for the quick reply! I'm training a relatively simple single object. I'll run a training set on my data using the yolov7 tiny model and see if that helps. Thanks for the suggestion my friend!
File "C:\capstone\yolov7_custom\yolov7-custom\train.py", line 592, in device = select_device(opt.device, batch_size=opt.batch_size) File "C:\capstone\yolov7_custom\yolov7-custom\utils\torch_utils.py", line 71, in select_device assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested' # check availability AssertionError: CUDA unavailable, invalid device 0 requested What should be done for this error?
@@dhruvinkanani670 could you help me, I get error Cum_counts = np.cumsum(no.greater(counts,0,dtype=np.int64)) TypeError: No loop matching the specified signature and casting was found for ufunc greater.
Hi there... can we have a conversation about object detection? would love to show you what we are building and to understand how OD can boost our project.
Thanks a lot for a very effective, fast and complete, tutorial, not wasting people time.
Can't agree more😀
Thank you, dude. I have already completed my thesis using the algorithm. God Bless U
Thanks a lot. I have been trying to train a model for a week and finally I found this gem. I was having an issue regarding numpy: AttributeError: module 'numpy' has no attribute 'int'. The problem was with the latest version of numpy. I ran "pip install --upgrade numpy==1.23.5" and it fixed the issue.
Thank you very much!Everything works perfectly (except for a few issues here and there,but it was all solved at the end),i really appreciate this!
hello, I require assistance because when I run detect it doesnt detect jack sparrow's face, and my highest accuracy was only 0.78 :(
@@khenpahilanga9596 I am having the same issue....we're you able to resolve it?
Have not tried it yet but its the best tutorial I could find. Very good content!
I followed the steps that you mentioned in the video and I tried 4-5 times to train the model but in the end, after training it did not detect Jack Sparrow's face in the image when trying to give an input image
what a nice tutorial! This video makes me surprised and more easier to realize the mechanism of yolov7.
Thank you! Helped me a lot in my school project :D Amazing video :D
Man keep these simple efficient videos about SOTA CV models, thanks alot ❤
LabelImg only create boxes, it is possible to do Instance segmentation in this Yolo ? What label-software to use?
Thank you so much, I’m doing my final year project and this video helps me so much.
But i have a question. If i trained it to detect 1 object after that i want to train it to detect another object but still keep the previous one. How can i do that?
Here's their TH-cam channel with tutorials on how to use it: th-cam.com/channels/5gLr7dLtV3Xe0eJvHOImNA.html
Great video! no time wasting. Can you please tell me how can I train coco format labeling data for instant segmentation?
I am planning the video for the next week.
Hello. I run it on laptop with RTX 3060, 6Gb vram. But it runs only if batch-size is 1. Otherwise it doesn't work, an error occurs: RuntimeError: CUDA out of memory. Tried to allocate 1.92 GiB (GPU 0; 6.00 GiB total capacity; 545.16 MiB already allocated; 3.80 GiB free; 588.00 MiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF. I use 2000 images for training.
same here
how to create a empty script as u mentioned in 1:20......?
Create a new text file, rename it with extension .py instead of .txt
Thanks for this great and clear tuto. Can you make another video on yolov7 object detection in real time using webcam?
Just use --source 0 for webcam along with --view-img
@@TheCodingBug thank you so much you are the best!!
at 3:03 I get the error " name 'labelImg' is not defined". I installed the labelImg fine but when I want to open it by writing "labelImg" its doesn't work.
i have doubt like cant we run the same thing in intel laptops because i got an error regarding cuda???
You can run without cuda on CPU.
@@TheCodingBug but isn't it like the project is completely based on cuda ??
@@indstorm8680 No. It needs cuda and Nvidia GPU for faster training but cpu can also be used for slower training.
if we run a webcam on this are we able to log detections and if for example class x detected then take screenshot and check for class y - if class y found crop - enhance image and then run ocr and then log result in a database?
No. You will have to modify the code to implement these specific functionalities.
If I want the process to go faster when training yolov7 what should I do with workers
Hi,
I am having this error
RuntimeError: CUDA error: no kernel image is available for execution on the device
Whereas my cuda and pytorch versions are the same
Name: torch
Version: 1.11.0+cu113
I had 11.6 but i changed it to 11.3 now it should work but its not and iam stuck now.
EDIT: I have gtx 770 which is old. But i want to run yolo can i run only on cpu ? As i have installed only cpu pytorch but it gave this error:
AssertionError: CUDA unavailable, invalid device -1 requested
Please Assist ASAP
My pc is not having cuda availability. Can I have any alternative... Like running same in Google colab??
Yes you can. Yolov7 on colab tutorial is also there on my channel.
I got no bounding box on the result image, is it because I used only 3 images for training?
Most likely yes.
how can we put this in a .py file so that we can use webcam support and acctually do stuff with the object detection
This is already a .py file!
If you want to use webcam, just use --source 0 instead of video path.
@@TheCodingBug Namespace(weights='yolov7.pt', cfg='cfg/training/yolov7-custom.yaml', data='data/custom-data.yaml', hyp='data/hyp.scratch.custom.yaml', epochs=100, batch_size=8, img_size=[640, 640], rect=False, resume=False, nosave=False, notest=False, noautoanchor=False, evolve=False, bucket='', cache_images=False, image_weights=False, device='0', multi_scale=False, single_cls=False, adam=False, sync_bn=False, local_rank=-1, workers=1, project='runs/train', entity=None, name='yolov7-custom', exist_ok=False, quad=False, linear_lr=False, label_smoothing=0.0, upload_dataset=False, bbox_interval=-1, save_period=-1, artifact_alias='latest', freeze=[0], v5_metric=False, world_size=1, global_rank=-1, save_dir='runs\\train\\yolov7-custom4', total_batch_size=8)
tensorboard: Start with 'tensorboard --logdir runs/train', view at localhost:6006/
hyperparameters: lr0=0.01, lrf=0.1, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=0.05, cls=0.3, cls_pw=1.0, obj=0.7, obj_pw=1.0, iou_t=0.2, anchor_t=4.0, fl_gamma=0.0, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.2, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0, paste_in=0.0, loss_ota=1
wandb: Install Weights & Biases for YOLOR logging with 'pip install wandb' (recommended)
fatal: not a git repository (or any of the parent directories): .git
Traceback (most recent call last):
File "C:\Users\Arsh\Desktop\arshaim\yolov7-custom\utils\google_utils.py", line 26, in attempt_download
assets = [x['name'] for x in response['assets']] # release assets
KeyError: 'assets'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Arsh\Desktop\arshaim\yolov7-custom\train.py", line 616, in
train(hyp, opt, device, tb_writer)
File "C:\Users\Arsh\Desktop\arshaim\yolov7-custom\train.py", line 86, in train
attempt_download(weights) # download if not found locally
File "C:\Users\Arsh\Desktop\arshaim\yolov7-custom\utils\google_utils.py", line 31, in attempt_download
tag = subprocess.check_output('git tag', shell=True).decode().split()[-1]
File "C:\ProgramData\Anaconda3\envs\yolov7\lib\subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "C:\ProgramData\Anaconda3\envs\yolov7\lib\subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'git tag' returned non-zero exit status 128.
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/ec2-user/anaconda3/envs/yolov7_custom/lib/python3.9/site-packages/cv2/qt/plugins" even though it was found.
What should be done for this error?
Looks like you are running the script on a system with only CLI (without GUI). You would not be able to use functions that use the graphical output (such as cv2.imshow()).
@@TheCodingBug i'm using SageMaker terminal in AWS, what i can do in this case?
your channel is gold mine
I am glad you found it helpful.
I am using same method but show wrong output like above the image show clock to predicted every image . How to solve the problem?
Amazing my friend thank you for posting this
Hi. I’m having an error while training.
AssertionError: Label class 15 exceeds no=1 in data/custom_data.yaml. Possible class labels are 0-0.
Not sure how to solve this.
i am also having the same issue how to resolve?
great one appreciate your efforts, thanks a lot
Can I use labelme instead of labelImg? Whenever I use labelImg rectbox, it automatically terminates. Also whenever I install pip, the new directory 'labels' does not appear
Use label studio instead
How to install label studio
@@ArunkumarN-dg1fz pip install label-studio
Then run it using command
label-studio
Hello, thanks for this video, straight to the point and no time wasted, I just wanna ask after the first training of custom dataset. how do i add more dataset unto the first trained custom dataset yolo? do i use the best weights if i wanna continue adding more dataset to improve accuracy and more classes? becuz i wanna train my yolo while it retains the previous data is was trained with without starting from scratch, so i was wondering if u could help me with that. Thank you alot :)
I couldn't install torchvision and torch. I do the same thing but I got an error. How can I fix this issue?
Very clear! Such a nice video :)
I just have a few questions...
Would it be possible to do the inference with the pretrained weights (for instance, base yolov7) detecting only one class (for instance, person; or car)?
In case it is, could yo please explain how?
Regards
Yes it's possible. Follow pretrained yolo v7 tutorial (if you haven't already) and use flag
--classes 0
to detect person class only. Detail about this flag is discussed here th-cam.com/video/K_OGcfXwskc/w-d-xo.html
Thank you so much! Now I am facing another problem...
For my custom dataset, my images are non squared, they are 1280x720. I saw a flag "--rect" in order to show I am not using squared images for training. How should I define the "--img-size" flag? I don't think it is just typing 1280 720; but I don't find anything relevant surfing on the Internet.
Thank you for this amazing video. But, I am having some problems. When I run detect.py, no bounding box appears. Where is the problem coming from? I have Detectron and OpenCV installed. Are these necessary to visualize bounding boxes? I hope you can help me.
Detectron is not necessary. Opencv is.
With regards to no bounding box, check precision and recall graphs in training folder (where best.pt file is located). If it has really small values, the model is struggling to learn and you need more data for training.
@@TheCodingBug Actually I wanted to test the detection with pre-trained weights by calling "python detect.py --weights yolov7.pt --source inference/images/horses.jpg --img 640". But, no bounding boxes appears in horses.jpg.
I have approximately 2000 images for 4 classes. I trained the model in YOLOv5, thanks to your videos. I got 0.65-0.70 mAP. I trained the model in YOLOv7, but precision and recall stayed under 0.001 too low.
I guess the problem comes from former issue. Is there any idea to solve this?
@@tugbayildizli3828 Check the other video for pretrained model. th-cam.com/video/n2mupnfIuFY/w-d-xo.html
See if it works properly. If not, try updating Nvidia drivers for GPU usage or try CPU device instead of GPU.
@@TheCodingBug Thank you for your response. I used CUDA 11.3. I installed CUDA 10.2 and the problem solved.
@@TheCodingBug Hi SIr, I'm on the same situation. What does it means "...you need more data for traing"? Maybe more images (I have 57 images on Train folder). Thanks in advance
very helpful, thank you a lot.
I am getting AssertionError: Label class 12 exceeds nc=1 in data/custom-data.yaml. Possible class labels are 0-0
You have specified number of classes as 1 but have more classes in labels
Hello, I am trying to train a model on custom plant images the model gets trained but does not detect correctly and makes no bounding box, is it because of underfitting, because I have only 60 images of a plant specie, is there any way to train the model with low number of images
please if i would use the weights of the first training and run the model another time with more data should i modify in the commande the weight yolov7.pt with best.pt of the privious model and that's it ?
Yes. Also, delete labels.cache files in train and val folders before starting training on new data.
@@TheCodingBug okk thank you so muchh
I am getting this type of error what could be the reason
assert mlc < nc, 'Label class %g exceeds nc=%g in %s. Possible class labels are 0-%g' % (mlc, nc, opt.data, nc - 1)
AssertionError: Label class 15 exceeds nc=5 in data/custom.yaml. Possible class labels are 0-4
In your annotations, you have class label 15 but you've mentioned number of classes = 4.
@@TheCodingBug no i have five classes and same number of classes i have mention in cfg and coco file
Please make a video on how to custom train already custom trained model
for example : I trained model for detecting trash and wants to improve the accuracy, so I again want to train the model with different dataset
Hello good sir, I'm trying to train multiple objects at once but I'm getting "AssertionError: Label class 2 exceeds nc=2 in data/custom_data.yaml. Possible class labels are 0-1". I've already change number of classes to 2. What have went wrong here?
i am having the same issue how did you resolve?
hello could you please help me, i train dataset but train also show 0 label in the box. and when i try to test, there is no bounding box label. whats wrong with my dataset ?
What's your PC specs? I wanna know just to get a rough idea of compute time in training
I am using GTX 1060 Laptop with coreI7 and 16GB DDR4 RAM.
@@TheCodingBug oh, well the ram information is less relevant.
What's the VRAM on the 1060?
It would seem my 3060 desktop gpu is an ideal choice as I can train yolo on it in a relatively shorter time!
@TragicGFuel 1060 is 6GB.
3060 is faster, probably 2x.
@@TheCodingBug after some reasearch it seems that the VRAM being 12GB is a real boost to the training.
The fact that I can overclock it is also a bonus.
I get this error when i try to train
No loop matching the specified signature and casting was found for ufunc greater
Can I please know the reason?
hello great video. Question: how the official YOLOv7 wants the bounding box format to be? Just like COCO format [xmin, ymin, width, height] or like previous YOLOs [xcenter, ycenter, width, height]?
It says: ERROR: Could not find a version that satisfies the requirement torch==1.11.0+cu113 (from versions: none)
ERROR: No matching distribution found for torch==1.11.0+cu113
when i try to install requirements_gpu.txt
Install latest version of pytorch gpu with the command taken directly from official website.
But won't it exceed the required Version?
If not pls give the line I needed
You'd be able to find previous versions there too. But in my experience, latest version is still compatible.
@@TheCodingBug thank you
Thanks for sharing your knowledge
Hey there.
I got an error while executing the command to train even when I followed the exact same steps shown in the video. This is the error:
assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested' # check availability
AssertionError: CUDA unavailable, invalid device 0 requested
Can u please tell how to rectify it
@thecoddingbug help me
Hello brother , can you please let me know what is the software you used to modify the official files ? At 7.25 .
Please reply soon , I need it urgently for my University Project
Sublime text.
Excellent video. Is there an easy way to estimate the distance to detected vehicles?
If you have a stero camera you can measure detected object distance. Yolo is giving coordinates of objects. Stero camera can use this coordinates and can take distance. We are working on autonoums car and we are detecting traffic sign and their distance for writing best algorithms.
I followed this tutorial but after training, there are no bounding boxes appearing in the image. Any idea why is that?
I am having the same issue......are you able to solve it?
My lebels are generated by labelImg, but why the system log corrupted: 100%, and it can not go traing....
At the final step of running the custom object detector part I get an error saying that 1.jpeg does not exist when I am positive that I have it in the yolov7-custom folder. Any suggestions pls
Check if it's extension really is jpeg.
@@TheCodingBug
Traceback (most recent call last):
File "C:\Users\alexa\OneDrive\Documents\Comp Sci\YOLOv7_Custom\yolov7-custom\detect.py", line 195, in
detect()
File "C:\Users\alexa\OneDrive\Documents\Comp Sci\YOLOv7_Custom\yolov7-custom\detect.py", line 57, in detect
dataset = LoadImages(source, img_size=imgsz, stride=stride)
File "C:\Users\alexa\OneDrive\Documents\Comp Sci\YOLOv7_Custom\yolov7-custom\utils\datasets.py", line 138, in __init__
raise Exception(f'ERROR: {p} does not exist')
Exception: ERROR: C:\Users\alexa\OneDrive\Documents\Comp Sci\YOLOv7_Custom\yolov7-custom\1.jpeg does not exist
This is the error message that I get
@@TheCodingBug I checked if the extension was jpeg and it was
I solved the problem that change path(english+my own language -> only english)
Thank you so much! What does workers = 1 mean in the training command? Appreciate your help
Number of workers for data loading.
Can we do this in tensorflow, because i already have cuda 11.2 and cudnn 8.1. But i am not getting gpu support for pytorch
At the time of testing it can not detect any picture and video
Hey, can you tell what is the format for annotation which yolov7 accepts, I cannot use labelmg as it is company work. I saw on google the format it accepts is class,x_centre,y_centre,w,h all normalized. Even after using this format I am not getting any detections. Can you help me by telling the format which yolov7 accepts.
Edit - I figured my annotation format is correct, but still I am not able to get even a single detection on any image. what do you think might be the reason??
hi, can i ask yuo which yolov8 version should I choose to train the model on a custom dataset? (yolov8m, yolov8l, ...)
I use colab to train it, but it's not good. my mAP@.5:.95: just "0.3x" i follow your step, epochs 100 batch_size 8
should i train more epochs? or add more images?
Add more images.
@@TheCodingBug ok thank you!! I watch in 10:27 you just add less than 10 images in training, your mAP@.5:.95: have 0.6x in 10:47
I have a little confuse, how much images need to add.
@@remiel0731 I have 10 images in validation, for training, I have 50+ images.
@@TheCodingBug Sorry to bother you. I'm realize than I just need to give more images to help it make great that's all, don't think to much....😂😂
hello sir. thank you for the explanation. i try to deploy with my 30 minutes video duration but turns out the detection video becomes 16 minutes. does it related to fps?
Thank you so much, You solve my problem with your video. I wish you could do also real-time detection with camera :(
Use --source 0 instead of video file for camera.
how we convert/export this model to tflite model for using in edge device
How to train model for multiple classes??
th-cam.com/video/gRAyOPjQ9_s/w-d-xo.html
Follow this method to create multi class dataset and train yolov7 or yolov8
Is there a way in Yolo not just to Annotate , but also to remove Background ? Where i can find?
No it's not possible without semantic segmentation.
@@TheCodingBug OK, thank you👍🏻, but which repository should I use ?
getting an error when trying to train about no labels existing, even though the images were labelled and are in the correct dir, tried searching online and coming up at a loss - scanning images and labels... 0 found, 126 missing, 0 empty, 0 corrupted: 100% - AssertionError: train: no labels in data\train\Images.cache. Can not train without labels.
Your labels in "data\train\labels" folder must be in txt format. Check if they are in .xml format and change them to .txt format.
Hello, i use 457 images for training and 196 for validation, but i have MAP very low 0.064!! please any recommandation?
What's the object?
I sent u à message on patreon.
Hello Sir, have you planned to do similar videos regarding the new Yolov8? It should be very interesting
Great video. Thanks
Brother please help
If the program detects i want an alarm
But I don't know what to write i 'if' condition (what will be name of the detected image from the video)
requirment_gpu.txt is not found sir what should i do now
Thats because you skipped the video :)
I created it myself. So you need to do it too. Watch: (5:50)
How much gpu memory is required to run on local system. Is 2GB is enough to train with 1000 images.
Maybe if you use batch size of 2 or 4, it would work on 2GB GPU.
You are a hero.
hello sir ! sir when i run it show error ..."indices should be either on cpu or on the same device as the indexed tensor (cpu)
sir plz reply i will be very thanful
Awesome, thank you!
Hi, nice video. Really Helpful. But I have a problem when training. I have this error:
MP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
I searched around and they say the solution is to install all packages without MKL support:
conda install nomkl
is this a good solution? I mean is it because my CPU is old? It is Intel(R) Core(TM) i7-7700 CPU
I am not sure. Never encountered this error.
@@TheCodingBug Oh ok, I will try it on a new comp and see what happen. Thanks for the reply.
Just an update in case someone had the same issue as me. I found out what the problem was. It is because of torchaudio package which was installed on my env. I noticed that in this video you remove torchaudio from the installation whereas in one of your other first videos you just copied the line from pytorch website which has torchaudio in it. I basically remake the env without torchaudio and everything works fine. Thanks again for the well made tutorial.
@@stephencolbert934 I am glad you were able to solve the problem.
@@stephencolbert934 hello can u give more info? I have the same problem and i dont know what i should change... ;/
Holy shit this was amazing
how can I do this training faster using my computer's GPU.Can you help me?
when I run the detect.py, its not producing the bounding box around the object.
I was having the same issue.
Go to runs > train folder and look at the graphs.
In my case , I was not getting the box because it wasn’t learning.
You may have to add more pictures and labels.
@@alejandroguerra6755 That's exactly why. I am running on a low end GPU so I didn't train it long. Lowering confidence parameter from 0.5 to 0.1 did produce the box.
Thanks for the video!
ModuleNotFoundError: no module named ‘numpy’
I have installed numpy plz help this is occurring on the python train command section
Hi, this is a very nice video man! I have a question, is it possible to convert this model to TFLite following the same steps that you did on YOLO v4 video? Thanks a lot!
No. That only works for tensorflow 2.3.1.
@@TheCodingBug Okay, thanks
how to run model on opencv pythnon script??
Excuse me. Do this work with live camera detection?
Just use --source 0 instead of video file.
I am getting this error when i run the final line
AssertionError: CUDA unavailable, invalid device 0 requested
You do not have cuda supported GPU. Remove --device parameter.
Any suggestions for getting my mAP values up? Almost all my mAP 0.5s are very low numbers for each epoch and it doesn't detect the jack sparrow face even at --conf 0.1
Hey, could you solve it??
How to create that empty script ?? plz anyone tell
Simply create a new text file with extension .py
Thanks for making this video. I am facing problem in installing "torch==1.11.0+cu113" due to restriction i am not able to solve it , getting SSL error. In my system torch==1.13.0+cu113 is already present but its not working for the code. My model get train for 3 epoch than it shows the "Nvidia driver error". Please suggest something i would be grateful to you.
Just update the driver.
@@TheCodingBug Thanks for replying.
I already have “Nvidia driver” installed.
Is there any requirements of specific torch versions I.e 1.11 or can I use the existing toch of 1.13 version. Which is already available
@@ravichoudhary2365 Install the latest version.
@@ravichoudhary2365 Check 5:09
Hi Sir, as told you in the recent past, thank you so much for your effort producing this awesome minicourses. I'd like so much if you could produce a Yolov7 or Yolov8 detect video for Raspberry Pi. What's your thought regarding this idea?
I do same as you but no box drawn on the image.
Use threshold 0.2 instead of 0.5
I’m having the same issue. The training occurs, but when I go to the detect folder , there is no box.
How did you solved this issue ?
pepsi.yaml
train: ./pepsi/train
val: ./pepsi/val
test: ./pepsi/test
# number of classes
nc: 1
# class names
names: ['pepsi']
@@amrzakaria5290 you added pepsi.yaml on the top of the file?
Is there an issue if I don’t have CUDA ?
My code works , but it won’t show me any boxes
See graphs of training. The model isn't learning anything. The values for iou or precision recall curves must be very low. Increase training images.
hello, i have a question why is my mAP very low like the accuracy is only 0.2-0.3 did i miss any modifications? ive ran 3 training already but the accuracy is very bad :(
Did you solve it?
awasome, thank you
At 2:40 you mention that, you only annotate 60 images, does that mean you deleted around 240 images and basically a total of 60 annotated images are then divided into train and val sets ??
yes you have considered only 60 - 48 in train and 12 in val - which is interesting. I wonder if it's just because of the nature of the class in this context or is more generalised.
It's because of the nature of the class. It's just for the demo. For any deployable model, you should go for more.... Many more images per class.
@@TheCodingBug do we need classes.txt if we have more than one class, I mean how would the model know which class a given (image, label) pair correspond to ?
@@AmitKumar-hm4gx we do mention class names in data/dataset.yaml.
@@TheCodingBug no I did see that, I was just wondering how a model understands an (image, label) pair - is it through the names of the images and annotations being the same as the class name apart from the number that is suffixed for each image
why does my mAP is going up and down and cant reach 0.95?
No labels in data\train\imagenew.cache. Can not train without labels. I am getting this errror even though I followed all the above steps
Your path to train is wrong. I never used imagenew anywhere.
Great tutorial!
Great tutorial, but when I start training I get this error:
(ModuleNotFoundError: No module named 'numpy')
I tried installing numpy with (pip install numpy) but it tells me (Requirement already satisfied: numpy), I did everything you did properly but how can I fix this?
how to count and save result in database
Hey Man, thanks for the great vid!
I'm having issues with my mAP values, they are extremely low. I'm training on a dataset with 70 images and labels. I've run the training model a few times from 100 epochs to 1000 epochs yet still my recall (0.1-0.5) and mAP graphs are very low (between 0.001 and 0.0015). No bounding boxes appear on the test image (on custom object detector run) unless I use an extremely low confidence (0.001). Although a bounding box does appear, it just covers the entire image (not the requested custom object).
Any ideas what I could do to solve this issue? I would highly appreciate it, Thanks.
These many images work for one object. But if there are multiple objects, and that too complex ones, 70 images are too few.
You can try training yolov7 tiny and see if it improves mAP.
@@TheCodingBug Thanks for the quick reply! I'm training a relatively simple single object. I'll run a training set on my data using the yolov7 tiny model and see if that helps. Thanks for the suggestion my friend!
@@TheCodingBug can you answer please how to select the best number of images to train with
@@chaimacham9414 100 images for 1 object is a good starting point.
thank you so much for your video it is really really helpful
File "C:\capstone\yolov7_custom\yolov7-custom\train.py", line 592, in
device = select_device(opt.device, batch_size=opt.batch_size)
File "C:\capstone\yolov7_custom\yolov7-custom\utils\torch_utils.py", line 71, in select_device
assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested' # check availability
AssertionError: CUDA unavailable, invalid device 0 requested
What should be done for this error?
You do not have cuda installed (or do not have nvidia GPU).
If you have nvidia GPU, update the drivers and install pytorch with cuda support.
Remove -device 0 from command line argument when you run the program
you have to recreate a new environment and then redownload pytorch in that environment and then try the training cmd. it works for me.
@@dhruvinkanani670 could you help me, I get error
Cum_counts = np.cumsum(no.greater(counts,0,dtype=np.int64))
TypeError: No loop matching the specified signature and casting was found for ufunc greater.
@@isnaayu_m could you fix this error?
Hi there... can we have a conversation about object detection? would love to show you what we are building and to understand how OD can boost our project.
Hello. Let's connect on Facebook. facebook.com/BugCodingThe