Windows下安装pycocotools
Date: 2020/10/11Author: CW在做 detection 任务时,我们通常会使用 mAP 作为评估指标,要计算 mAP,我们要先计算出 Recall(召回率) 和 Precision(精度),而这两者的计算需要先统计出 TP、FP 以及 TP+FN。然而,coco api 已封装了这一系列的计算与实现,能让我们很方便地使用。既然这么香,我就试着在windows上安装看,谁知安装过程还花费了我一些功夫,于是我打算在本文中记录下这个安装过程,日后有需要的朋友们也可以此作为参考。下载源码安装由于原作者没考虑到windows下的安装(windows内心独白:我就不配拥有姓名!?),于是我找到了另一个开源版本:pycocotools源码。
pycocotools将该项目 git clone 下来,打开命令行终端cmd,然后进入项目的 cocoapi/PythonAPI 目录,运行(以下方式2选1):# install pycocotools locallypython setup.py build_ext --inplace-----------------------------------------------------------------# install pycocotools to the Python site-packagespython setup.py build_ext install验证打开python终端,输入:import pycocotoolsfrom pycocotools.coco import COCOfrom pycocotools.cocoevalimport COCOeval问题解决1. 安装过程报错error: command 'cl.exe' failed: No such file or directory// 或者error: Unable to find vcvarsall.bat// 或者error: Microsoft Visual C++ 14.0 is required.遇到以上错误,是因为缺少Visual C++ 编译环境,作者在项目的README中有提到:On Windows, you must have the Visual C++ 2015 build tools on your path.在项目README中有提供下载链接,下载后按默认指示安装即可解决该问题。2. 导入模块报错ImportError: No module named 'pycocotools._mask'这个错误在项目的README中也有提到,通常是由于当前处于刚刚下载的源码目录 cocoapi/PythonAPI 中,因此导入模块时首先从本地导入,从而出错 。
No module named 'pycocotools._mask'解决方法是退出当前目录,或者把这个刚下载下来的 cocoapi 文件夹放到其他路径,或删掉,再次进行验证就能成功了。