We train a classifier model ,run it in pc or darknet without nnpack in arm cpu the result is:
_darknet_alexeyAB/darknet classifier predict dataset.data darknet.cfg darknet_last.weights 1590749416321855_number.jpg
layer filters size/strd(dil) input output
0 conv 16 3 x 3/ 1 256 x 256 x 3 -> 256 x 256 x 16 0.057 BF
1 max 2 x 2/ 2 256 x 256 x 16 -> 128 x 128 x 16 0.001 BF
2 conv 32 3 x 3/ 1 128 x 128 x 16 -> 128 x 128 x 32 0.151 BF
3 max 2 x 2/ 2 128 x 128 x 32 -> 64 x 64 x 32 0.001 BF
4 conv 64 3 x 3/ 1 64 x 64 x 32 -> 64 x 64 x 64 0.151 BF
5 max 2 x 2/ 2 64 x 64 x 64 -> 32 x 32 x 64 0.000 BF
6 conv 128 3 x 3/ 1 32 x 32 x 64 -> 32 x 32 x 128 0.151 BF
7 max 2 x 2/ 2 32 x 32 x 128 -> 16 x 16 x 128 0.000 BF
8 conv 256 3 x 3/ 1 16 x 16 x 128 -> 16 x 16 x 256 0.151 BF
9 max 2 x 2/ 2 16 x 16 x 256 -> 8 x 8 x 256 0.000 BF
10 conv 512 3 x 3/ 1 8 x 8 x 256 -> 8 x 8 x 512 0.151 BF
11 max 2 x 2/ 2 8 x 8 x 512 -> 4 x 4 x 512 0.000 BF
12 conv 1024 3 x 3/ 1 4 x 4 x 512 -> 4 x 4 x1024 0.151 BF
13 avg 4 x 4 x1024 -> 1024
14 conv 15 1 x 1/ 1 1 x 1 x1024 -> 1 x 1 x 15 0.000 BF
15 softmax 15
Total BFLOPS 0.965
Loading weights from darknet_last.weights...
seen 64
Done!
256 256
1590749416321855_number.jpg: Predicted in 0.221806 seconds.
letterE: 0.999997
seven: 0.000001
It is correct result . But we run same model ,same picture it is wrong result:
../darknet classifier predict dataset.data darknet.cfg darknet_last.weights 1590749416321855_number.jpg
OpenCV isn't used
batch = 1, time_steps = 1, train = 0
layer filters size/strd(dil) input output
0 conv 16 3 x 3/ 1 256 x 256 x 3 -> 256 x 256 x 16 0.057 BF
1 max 2x 2/ 2 256 x 256 x 16 -> 128 x 128 x 16 0.001 BF
2 conv 32 3 x 3/ 1 128 x 128 x 16 -> 128 x 128 x 32 0.151 BF
3 max 2x 2/ 2 128 x 128 x 32 -> 64 x 64 x 32 0.001 BF
4 conv 64 3 x 3/ 1 64 x 64 x 32 -> 64 x 64 x 64 0.151 BF
5 max 2x 2/ 2 64 x 64 x 64 -> 32 x 32 x 64 0.000 BF
6 conv 128 3 x 3/ 1 32 x 32 x 64 -> 32 x 32 x 128 0.151 BF
7 max 2x 2/ 2 32 x 32 x 128 -> 16 x 16 x 128 0.000 BF
8 conv 256 3 x 3/ 1 16 x 16 x 128 -> 16 x 16 x 256 0.151 BF
9 max 2x 2/ 2 16 x 16 x 256 -> 8 x 8 x 256 0.000 BF
10 conv 512 3 x 3/ 1 8 x 8 x 256 -> 8 x 8 x 512 0.151 BF
11 max 2x 2/ 2 8 x 8 x 512 -> 4 x 4 x 512 0.000 BF
12 conv 1024 3 x 3/ 1 4 x 4 x 512 -> 4 x 4 x1024 0.151 BF
13 avg 4 x 4 x1024 -> 1024
14 conv 15 1 x 1/ 1 1 x 1 x1024 -> 1 x 1 x 15 0.000 BF
15 softmax 15
Total BFLOPS 0.965
avg_outputs = 162369
Loading weights from darknet_last.weights...
seen 64, trained: 160050 K-images (2500 Kilo-batches_64)
Done! Loaded 16 layers from weights-file
classes = 15, output in cfg = 15
256 256
1590749416321855_number.jpg: Predicted in 116.049000 milli-seconds.
one: 0.146572
two: 0.143859
We train a classifier model ,run it in pc or darknet without nnpack in arm cpu the result is:
_darknet_alexeyAB/darknet classifier predict dataset.data darknet.cfg darknet_last.weights 1590749416321855_number.jpg layer filters size/strd(dil) input output 0 conv 16 3 x 3/ 1 256 x 256 x 3 -> 256 x 256 x 16 0.057 BF 1 max 2 x 2/ 2 256 x 256 x 16 -> 128 x 128 x 16 0.001 BF 2 conv 32 3 x 3/ 1 128 x 128 x 16 -> 128 x 128 x 32 0.151 BF 3 max 2 x 2/ 2 128 x 128 x 32 -> 64 x 64 x 32 0.001 BF 4 conv 64 3 x 3/ 1 64 x 64 x 32 -> 64 x 64 x 64 0.151 BF 5 max 2 x 2/ 2 64 x 64 x 64 -> 32 x 32 x 64 0.000 BF 6 conv 128 3 x 3/ 1 32 x 32 x 64 -> 32 x 32 x 128 0.151 BF 7 max 2 x 2/ 2 32 x 32 x 128 -> 16 x 16 x 128 0.000 BF 8 conv 256 3 x 3/ 1 16 x 16 x 128 -> 16 x 16 x 256 0.151 BF 9 max 2 x 2/ 2 16 x 16 x 256 -> 8 x 8 x 256 0.000 BF 10 conv 512 3 x 3/ 1 8 x 8 x 256 -> 8 x 8 x 512 0.151 BF 11 max 2 x 2/ 2 8 x 8 x 512 -> 4 x 4 x 512 0.000 BF 12 conv 1024 3 x 3/ 1 4 x 4 x 512 -> 4 x 4 x1024 0.151 BF 13 avg 4 x 4 x1024 -> 1024 14 conv 15 1 x 1/ 1 1 x 1 x1024 -> 1 x 1 x 15 0.000 BF 15 softmax 15 Total BFLOPS 0.965 Loading weights from darknet_last.weights... seen 64 Done! 256 256 1590749416321855_number.jpg: Predicted in 0.221806 seconds. letterE: 0.999997 seven: 0.000001
It is correct result . But we run same model ,same picture it is wrong result:
../darknet classifier predict dataset.data darknet.cfg darknet_last.weights 1590749416321855_number.jpg OpenCV isn't used batch = 1, time_steps = 1, train = 0 layer filters size/strd(dil) input output 0 conv 16 3 x 3/ 1 256 x 256 x 3 -> 256 x 256 x 16 0.057 BF 1 max 2x 2/ 2 256 x 256 x 16 -> 128 x 128 x 16 0.001 BF 2 conv 32 3 x 3/ 1 128 x 128 x 16 -> 128 x 128 x 32 0.151 BF 3 max 2x 2/ 2 128 x 128 x 32 -> 64 x 64 x 32 0.001 BF 4 conv 64 3 x 3/ 1 64 x 64 x 32 -> 64 x 64 x 64 0.151 BF 5 max 2x 2/ 2 64 x 64 x 64 -> 32 x 32 x 64 0.000 BF 6 conv 128 3 x 3/ 1 32 x 32 x 64 -> 32 x 32 x 128 0.151 BF 7 max 2x 2/ 2 32 x 32 x 128 -> 16 x 16 x 128 0.000 BF 8 conv 256 3 x 3/ 1 16 x 16 x 128 -> 16 x 16 x 256 0.151 BF 9 max 2x 2/ 2 16 x 16 x 256 -> 8 x 8 x 256 0.000 BF 10 conv 512 3 x 3/ 1 8 x 8 x 256 -> 8 x 8 x 512 0.151 BF 11 max 2x 2/ 2 8 x 8 x 512 -> 4 x 4 x 512 0.000 BF 12 conv 1024 3 x 3/ 1 4 x 4 x 512 -> 4 x 4 x1024 0.151 BF 13 avg 4 x 4 x1024 -> 1024 14 conv 15 1 x 1/ 1 1 x 1 x1024 -> 1 x 1 x 15 0.000 BF 15 softmax 15 Total BFLOPS 0.965 avg_outputs = 162369 Loading weights from darknet_last.weights... seen 64, trained: 160050 K-images (2500 Kilo-batches_64) Done! Loaded 16 layers from weights-file classes = 15, output in cfg = 15 256 256 1590749416321855_number.jpg: Predicted in 116.049000 milli-seconds. one: 0.146572 two: 0.143859
the model and test images is there: classifier_model.zip