I am using opencv dnn to run a mobilenet-ssd 300x300 20 classes caffe model, on windows 7 and visual studio 2015. Anyone has any idea what efficiency should be expected on windows 7? According to this page it takes approximately 23 ms to do a single forward pass on Linux. But on my computer it takes about 180 ms to do a single forward pass, which seems too slow. My cpu is Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz.
During my building of opencv, opencl was disabled. MKL was provided:
Other third-party libraries:
Intel IPP: 2017.0.3 [2017.0.3]
at: C:/OpenCV/opencv_build_4.0.0/3rdparty/ippicv/ippicv_win
Intel IPP IW: sources (2017.0.3)
at: C:/OpenCV/opencv_build_4.0.0/3rdparty/ippicv/ippiw_win
Lapack: YES (C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018.3.210/windows/mkl/lib/intel64/mkl_intel_lp64.lib C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018.3.210/windows/mkl/lib/intel64/mkl_sequential.lib C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2018.3.210/windows/mkl/lib/intel64/mkl_core.lib)
But it seemed MKL did not accelerate dnn at all in my test.
From this link, people tried to use MKL to replace cv:: gemm in dnn. It was fixed in opencv_contrib. After dnn being promoted to the main repository, the source code seems changed a lot. So does the current opencv support using MKL in dnn? If not, does anyone know how to change the current source code to use MKL to accelerate dnn, as tricks in the link? Thanks.