I am unable to run the accuracy tests for the DNN module. Many other modules run ok, but DNN fails because it can't find many files. For example
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_mobilenet_v1_coco_2017_11_17.pb
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_mobilenet_v1_coco_2017_11_17.pb
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_mobilenet_v2_coco_2018_03_29.pb
My guess is there is some undocumented step to find these files. They are not in the opencv_extra repo. For example, a file named dnn/tensorflow_inception_graph.pb that is needed does not exist in the repo. The answer is probably simple, I just can't find it in the wiki, forums, readme, etc.
When the answer is clear, I recommend a README be put into the main DNN folder in the extras repo, and in the wiki here on github.
System information (version)
- OpenCV => 4.5.3
- Operating System / Platform => Microsoft Windows [Version 10.0.19043.1165]
- Compiler => MSVC 2019 v16.11.0
Detailed description
- git clone opencv
- git checkout 4.5.3
- git clone opencv_extra
- git checkout matching 4.5.3
- config and compile opencv with DNN and building tests
- Set both
OPENCV_DNN_TEST_DATA_PATH and OPENCV_TEST_DATA_PATH are set to my local clone of the extra repo
- Run the test
opencv_test_dnn.exe --gtest_filter=*Tensor*
Result
Note: Google Test filter = *Tensor*
[==========] Running 320 tests from 5 test cases.
[----------] Global test environment set-up.
[----------] 3 tests from Test_TensorFlow
[ RUN ] Test_TensorFlow.read_inception
[ SKIP ] OpenCV tests: Can't find data file: dnn/tensorflow_inception_graph.pb
[ OK ] Test_TensorFlow.read_inception (1 ms)
[ RUN ] Test_TensorFlow.inception_accuracy
[ SKIP ] OpenCV tests: Can't find data file: dnn/tensorflow_inception_graph.pb
[ OK ] Test_TensorFlow.inception_accuracy (0 ms)
[ RUN ] Test_TensorFlow.two_inputs
[ OK ] Test_TensorFlow.two_inputs (1 ms)
[----------] 3 tests from Test_TensorFlow (4 ms total)
[----------] 8 tests from DNNTestNetwork
[ RUN ] DNNTestNetwork.MobileNet_SSD_v1_TensorFlow/0, where GetParam() = OCV/OCL
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_mobilenet_v1_coco_2017_11_17.pb
[ OK ] DNNTestNetwork.MobileNet_SSD_v1_TensorFlow/0 (8 ms)
[ RUN ] DNNTestNetwork.MobileNet_SSD_v1_TensorFlow/1, where GetParam() = OCV/OCL_FP16
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_mobilenet_v1_coco_2017_11_17.pb
[ OK ] DNNTestNetwork.MobileNet_SSD_v1_TensorFlow/1 (8 ms)
[ RUN ] DNNTestNetwork.MobileNet_SSD_v1_TensorFlow_Different_Width_Height/0, where GetParam() = OCV/OCL
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_mobilenet_v1_coco_2017_11_17.pb
[ OK ] DNNTestNetwork.MobileNet_SSD_v1_TensorFlow_Different_Width_Height/0 (8 ms)
[ RUN ] DNNTestNetwork.MobileNet_SSD_v1_TensorFlow_Different_Width_Height/1, where GetParam() = OCV/OCL_FP16
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_mobilenet_v1_coco_2017_11_17.pb
[ OK ] DNNTestNetwork.MobileNet_SSD_v1_TensorFlow_Different_Width_Height/1 (8 ms)
[ RUN ] DNNTestNetwork.MobileNet_SSD_v2_TensorFlow/0, where GetParam() = OCV/OCL
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_mobilenet_v2_coco_2018_03_29.pb
[ OK ] DNNTestNetwork.MobileNet_SSD_v2_TensorFlow/0 (9 ms)
[ RUN ] DNNTestNetwork.MobileNet_SSD_v2_TensorFlow/1, where GetParam() = OCV/OCL_FP16
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_mobilenet_v2_coco_2018_03_29.pb
[ OK ] DNNTestNetwork.MobileNet_SSD_v2_TensorFlow/1 (8 ms)
[ RUN ] DNNTestNetwork.Inception_v2_SSD_TensorFlow/0, where GetParam() = OCV/OCL
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_inception_v2_coco_2017_11_17.pb
[ OK ] DNNTestNetwork.Inception_v2_SSD_TensorFlow/0 (8 ms)
[ RUN ] DNNTestNetwork.Inception_v2_SSD_TensorFlow/1, where GetParam() = OCV/OCL_FP16
[ SKIP ] OpenCV tests: Can't find data file: dnn/ssd_inception_v2_coco_2017_11_17.pb
[ OK ] DNNTestNetwork.Inception_v2_SSD_TensorFlow/1 (8 ms)
[----------] 8 tests from DNNTestNetwork (74 ms total)
[----------] 276 tests from Test_TensorFlow_layers
[ RUN ] Test_TensorFlow_layers.reduce_mean/0, where GetParam() = OCV/OCL
[ OK ] Test_TensorFlow_layers.reduce_mean/0 (10 ms)
[ RUN ] Test_TensorFlow_layers.reduce_mean/1, where GetParam() = OCV/OCL_FP16
[ OK ] Test_TensorFlow_layers.reduce_mean/1 (2 ms)
...
[ RUN ] Test_TensorFlow_nets.EAST_text_detection/0, where GetParam() = OCV/OCL
[ SKIP ] OpenCV tests: Can't find data file: dnn/frozen_east_text_detection.pb
[ OK ] Test_TensorFlow_nets.EAST_text_detection/0 (1 ms)
[ RUN ] Test_TensorFlow_nets.EAST_text_detection/1, where GetParam() = OCV/OCL_FP16
[ SKIP ] OpenCV tests: Can't find data file: dnn/frozen_east_text_detection.pb
[ OK ] Test_TensorFlow_nets.EAST_text_detection/1 (1 ms)
[ RUN ] Test_TensorFlow_nets.EAST_text_detection/2, where GetParam() = OCV/CPU
[ SKIP ] OpenCV tests: Can't find data file: dnn/frozen_east_text_detection.pb
Expected
No skips of missing files. OK test passed for all results.
Issue submission checklist
I am unable to run the accuracy tests for the DNN module. Many other modules run ok, but DNN fails because it can't find many files. For example
My guess is there is some undocumented step to find these files. They are not in the opencv_extra repo. For example, a file named
dnn/tensorflow_inception_graph.pbthat is needed does not exist in the repo. The answer is probably simple, I just can't find it in the wiki, forums, readme, etc.When the answer is clear, I recommend a README be put into the main DNN folder in the extras repo, and in the wiki here on github.
System information (version)
Detailed description
OPENCV_DNN_TEST_DATA_PATHandOPENCV_TEST_DATA_PATHare set to my local clone of the extra repoopencv_test_dnn.exe --gtest_filter=*Tensor*Result
Expected
No skips of missing files. OK test passed for all results.
Issue submission checklist
forum.opencv.org, Stack Overflow, etc and have not found solution