pjreddie / darknet

Convolutional Neural Networks
http://pjreddie.com/darknet/
Other
25.77k stars 21.33k forks source link

Running on one CPU core #752

Closed HaloDude closed 6 years ago

HaloDude commented 6 years ago

I am running YOLO on my 4770K and GTX 970 and it runs at 14 FPS which is not bad. However, upon further investigation, I discovered that the GPU is only under 70%-75% load with 2 gigs of memory used (so there are horsies to spare), but my CPU is using only one core at 100% all the time and all the other cores are at idle. It seems like in my case the CPU is a bottleneck. Does YOLO only work with one core? Is anyone else having the same issue? Or did I do something wrong?

Thanks!

HaloDude commented 6 years ago

Figured it out. OPENMP=1 in Makefile to enable multi threading

WZRPW commented 6 years ago

hi, do you have a clue to invoke the multi-threading mode for YOLO/Darknet Windows Version?

AlexeyAB commented 6 years ago

@Iamthegeekdavid In this repository: https://github.com/AlexeyAB/darknet Yolo uses multi-threading and AVX automatically on Windows.

abhi5691 commented 4 years ago

Hi @AlexeyAB

I am using the darknet framework you provide via https://github.com/AlexeyAB/darknet. I built on Linux (ubuntu 18.04) using cmake in default configuration. I could easily train yolov4 tiny, but when I try training yolov3 or yolov3-tiny, the training aborts immediately after the message 'Create 6 permanent cpu-threads' I presume it is something related to multi-threading that is not configured right, can you guide me based on this or more details are needed?

It'll be a great help

AlexeyAB commented 4 years ago

You are something doing wrong. It works well.

mayurnarsude commented 4 years ago

Even I am facing the same problem as @abhi5691 . the training aborts immediately after the message 'Create 6 permanent cpu-threads' I checked for possible mistakes stated by other on this problem. Were you able to get past this problem @abhi5691 ??

alan840706 commented 4 years ago

I have same problem. @AlexeyAB Can you check your code?

abhi5691 commented 4 years ago

No @mayurnarsude still stuck.. I believe there is a bug in code somehow especially since v4 trains flawlessly for me.. Same process seems not to work for v3 while @AlexeyAB stresses it should work. I am confused too.

pratikwagh commented 4 years ago

@AlexeyAB @abhi5691 @mayurnarsude Any help on this 'the training aborts immediately after the message 'Create 6 permanent cpu-threads' I am also facing the same issue

anchalgupta2412 commented 4 years ago

@abhi5691 @mayurnarsude @alan840706 Problem is with max batches. If you are starting from scratch, then it will not be a problem. In case you are using some pre-trained weights, then increase the number of max batches because pre-existing weights are already trained upto max batches.

07hokage commented 4 years ago

Check the train.txt and test.txt files. If these files are empty, then it has nothing to train and hence stops after the line 'Create 6 permanent cpu-threads' without any error.

abhi5691 commented 4 years ago

@anchalgupta2412 thanks for pointing this out. It was indeed the max iterations when using pre-trained weights.

ROBYER1 commented 3 years ago

@Iamthegeekdavid In this repository: https://github.com/AlexeyAB/darknet Yolo uses multi-threading and AVX automatically on Windows.

Am I missing something here? Makefile in that repository has OPENMP = 0 as well as GPU = 0 and all others here: https://github.com/AlexeyAB/darknet/blob/master/Makefile

Is it meant to run with OPENMP and GPU even when they are left at 0 as they are in your repository?

blankenshipc commented 2 years ago

I am stuck here with yolov4 as well. My test/train.txt are not empty and I have enables OPENMP=1. I have disabled gpu and opencv mainly bc of horrific install issues. Is there something else to check/adjust to have this run with only CPU?