AlexeyAB / darknet

YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet )
http://pjreddie.com/darknet/
Other
21.75k stars 7.96k forks source link

Cudnn=1 gives wrong classification #390

Closed ahsan856jalal closed 6 years ago

ahsan856jalal commented 6 years ago

When I test classifier with cudnn=1, extraction.weights, darknet19.weights etc are giving me wrong classification but as I change my makefile to cudnn=0, they give me right classification. So my question is that will it worsen the pre-trained model if I train my detector even with darknet19_448.conv.23 weights with cudnn=1 . Regards

AlexeyAB commented 6 years ago

For training yolo-voc.2.0.cfg you should use darknet19_448.conv.23. But for training tiny-yolo-voc.cfg you can train without pre-trained weights or you should use tiny-yolo-voc.conv.13: https://github.com/AlexeyAB/darknet/issues/389#issuecomment-365925496


I successfully ran with cuDNN: darknet.exe classifier predict cfg/imagenet1k.data cfg/darknet19_448.cfg darknet19_448.weights

Using Windows 7x64, CUDA 9.1 and cuDNN 7. What CUDA and cuDNN version do you use, and what GPU do you use?

D:\Darknet2\darknet\build\darknet\x64>darknet.exe classifier predict cfg/imagene
t1k.data cfg/darknet19_448.cfg darknet19_448.weights
layer     filters    size              input                output
    0 conv     32  3 x 3 / 1   448 x 448 x   3   ->   448 x 448 x  32
    1 max          2 x 2 / 2   448 x 448 x  32   ->   224 x 224 x  32
    2 conv     64  3 x 3 / 1   224 x 224 x  32   ->   224 x 224 x  64
    3 max          2 x 2 / 2   224 x 224 x  64   ->   112 x 112 x  64
    4 conv    128  3 x 3 / 1   112 x 112 x  64   ->   112 x 112 x 128
    5 conv     64  1 x 1 / 1   112 x 112 x 128   ->   112 x 112 x  64
    6 conv    128  3 x 3 / 1   112 x 112 x  64   ->   112 x 112 x 128
    7 max          2 x 2 / 2   112 x 112 x 128   ->    56 x  56 x 128
    8 conv    256  3 x 3 / 1    56 x  56 x 128   ->    56 x  56 x 256
    9 conv    128  1 x 1 / 1    56 x  56 x 256   ->    56 x  56 x 128
   10 conv    256  3 x 3 / 1    56 x  56 x 128   ->    56 x  56 x 256
   11 max          2 x 2 / 2    56 x  56 x 256   ->    28 x  28 x 256
   12 conv    512  3 x 3 / 1    28 x  28 x 256   ->    28 x  28 x 512
   13 conv    256  1 x 1 / 1    28 x  28 x 512   ->    28 x  28 x 256
   14 conv    512  3 x 3 / 1    28 x  28 x 256   ->    28 x  28 x 512
   15 conv    256  1 x 1 / 1    28 x  28 x 512   ->    28 x  28 x 256
   16 conv    512  3 x 3 / 1    28 x  28 x 256   ->    28 x  28 x 512
   17 max          2 x 2 / 2    28 x  28 x 512   ->    14 x  14 x 512
   18 conv   1024  3 x 3 / 1    14 x  14 x 512   ->    14 x  14 x1024
   19 conv    512  1 x 1 / 1    14 x  14 x1024   ->    14 x  14 x 512
   20 conv   1024  3 x 3 / 1    14 x  14 x 512   ->    14 x  14 x1024
   21 conv    512  1 x 1 / 1    14 x  14 x1024   ->    14 x  14 x 512
   22 conv   1024  3 x 3 / 1    14 x  14 x 512   ->    14 x  14 x1024
   23 conv   1000  1 x 1 / 1    14 x  14 x1024   ->    14 x  14 x1000
   24 avg                       14 x  14 x1000   ->  1000
   25 softmax                                        1000
   26 cost                                           1000
Loading weights from darknet19_448.weights...
 seen 32
Done!
Enter Image Path: dog.jpg
448 448
dog.jpg: Predicted in 0.020000 seconds.
malamute: 0.841539
Eskimo dog: 0.044991
Siberian husky: 0.026070
dogsled: 0.006565
keeshond: 0.004889
Enter Image Path: