Strange evaluation output when evaluating
See original GitHub issueDescribe the bug Hi guys, I saw some strange evaluation output when evaluating, as shown below,
+------------+-----+------+--------+-------+
| class | gts | dets | recall | ap |
+------------+-----+------+--------+-------+
| helicopter | 77 | 106 | 1.000 | 1.000 |
| c130 | 318 | 362 | 0.997 | 0.997 |
| b2 | 6 | 15 | 1.000 | 1.000 |
| other | 76 | 145 | 0.961 | 0.946 |
| b52 | 73 | 142 | 0.986 | 0.986 |
| kc10 | 43 | 95 | 1.000 | 0.999 |
| c17 | 102 | 194 | 1.000 | 0.992 |
| command | 10 | 66 | 1.000 | 0.961 |
| c5 | 27 | 139 | 1.000 | 0.937 |
| f15 | 75 | 196 | 1.000 | 0.998 |
| kc135 | 130 | 237 | 1.000 | 0.998 |
| a10 | 22 | 45 | 1.000 | 0.998 |
| b1 | 78 | 133 | 1.000 | 0.998 |
| aew | 55 | 80 | 1.000 | 0.999 |
| p3 | 49 | 73 | 1.000 | 1.000 |
| f16 | 135 | 271 | 0.985 | 0.983 |
| p8 | 24 | 42 | 1.000 | 0.985 |
| f35 | 27 | 95 | 1.000 | 0.985 |
| f18 | 116 | 175 | 1.000 | 0.999 |
| v22 | 56 | 68 | 0.982 | 0.982 |
| f4 | 4 | 65 | 1.000 | 0.900 |
| f22 | 21 | 72 | 1.000 | 0.996 |
| globalhawk | 13 | 37 | 1.000 | 0.984 |
| u2 | 4 | 9 | 1.000 | 1.000 |
+------------+-----+------+--------+-------+
| mAP | | | | 0.984 |
+------------+-----+------+--------+-------+
It is strange that the AP would reach 1, which seems impossible in a real scenario.
Reproduction
- What command or script did you run?
python tools/voc_eval.py results.pkl configs/test_faster_rcnn_r50_fpn_1x_voc0712.py
- What dataset did you use? I use my own dataset in VOC format.
Environment
- Please run
python tools/collect_env.py
to collect necessary environment infomation and paste it here.
sys.platform: linux
Python: 3.7.4 (default, Aug 13 2019, 20:35:49) [GCC 7.3.0]
CUDA available: True
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 10.1, V10.1.243
GPU 0: GeForce RTX 2080 Ti
GCC: gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
PyTorch: 1.3.1
PyTorch compiling details: PyTorch built with:
- GCC 7.3
- Intel(R) Math Kernel Library Version 2019.0.4 Product Build 20190411 for Intel(R) 64 architecture applications
- Intel(R) MKL-DNN v0.20.5 (Git Hash 0125f28c61c1f822fd48570b4c1066f96fcb9b2e)
- OpenMP 201511 (a.k.a. OpenMP 4.5)
- NNPACK is enabled
- CUDA Runtime 10.1
- NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_37,code=compute_37
- CuDNN 7.6.3
- Magma 2.5.1
- Build settings: BLAS=MKL, BUILD_NAMEDTENSOR=OFF, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -fopenmp -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -O2 -fPIC -Wno-narrowing -Wall -Wextra -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Wno-stringop-overflow, DISABLE_NUMA=1, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=True, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_STATIC_DISPATCH=OFF,
TorchVision: 0.4.2
OpenCV: 4.1.1
MMCV: 0.2.15
MMDetection: 1.0rc1+e907139
MMDetection Compiler: GCC 7.4
MMDetection CUDA Compiler: 10.1
- You may add addition that may be helpful for locating the problem, such as
- How you installed PyTorch [e.g., pip, conda, source] By Conda commands.
Bug fix If you have already identified the reason, you can provide the information here. If you are willing to create a PR to fix it, please also leave a comment here and that would be much appreciated!
Issue Analytics
- State:
- Created 4 years ago
- Comments:9 (4 by maintainers)
Top Results From Across the Web
manipulate - Strange evaluating indication of output cells
This infinite evaluation is the result of "cross-linking" the two Dynamic expressions due to the failure to localize your Symbols with ...
Read more >Random function evaluating to strange output - Piston: Design Help ...
I'm trying to create a piston that turns lights at sunset, plus or minus 15 minutes. I'm using the random function (-15 +...
Read more >I am getting a strange output in C? - Stack Overflow
That operator first evaluates its first operand, then drops the result on the floor and proceeds to evaluate and return its second operand....
Read more >Strange Excel IF formula evaluation - worksheet function
Go to Excel 2010 Options > Advanced > and then uncheck Transition formula evaluation. Good find! According to this Microsoft KB article, "if ......
Read more >Part 5: Machine Translation Evaluation
extrinsic measures for evaluating the output of machine translation technology: ... with judgments of semantic adequacy sufficiently that (strange as the.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Not really, it doesn’t matter if all boxes have IoU greater than 0.5. You may refer to the computation of mAP: https://github.com/open-mmlab/mmdetection/blob/master/mmdet/core/evaluation/mean_ap.py
We cannot help since it is unclear about your custom dataset, your training, or anything else. Any value between 0 and 1 can be a valid mAP.