windows系统中安装目标检测平台detectron2
更多内容,欢迎访问老五笔记
detectron2是Facebook研发并开源的目标检测平台,包含了大量业内最具代表性的目标检测、图像分割、关键点检测算法等。Detectron2基于新版的Pytorch进行更新,包含了更大的灵活性与扩展性。
笔者将在本文中介绍如何在windows系统中安装Detectron2
首先按照官方文件指导,只需要下载相关代码,然后pip 即可,具体两行命令如下:
git clone https://github.com/facebookresearch/detectron2.git
python -m pip install -e detectron2
笔者在执行第一行命令进行下载的时候,完全没有问题。但是第二行则直接报错,相关错误如下:
Requirement already satisfied: setuptools>=41.0.0 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (56.0.0)
Requirement already satisfied: werkzeug>=1.0.1 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (2.0.1)
Requirement already satisfied: grpcio>=1.24.3 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (1.43.0)
Requirement already satisfied: absl-py>=0.4 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (1.3.0)
Requirement already satisfied: google-auth<3,>=1.6.3 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (2.14.1)
Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (0.6.1)
Requirement already satisfied: protobuf<4,>=3.9.2 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (3.17.3)
Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (1.8.1)
Requirement already satisfied: markdown>=2.6.8 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (3.4.1)
Requirement already satisfied: requests<3,>=2.21.0 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (2.26.0)
Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (0.4.6)
Requirement already satisfied: wheel>=0.26 in d:\\python39\\lib\\site-packages (from tensorboard->detectron2==0.6) (0.38.4)
Requirement already satisfied: six in d:\\python39\\lib\\site-packages (from cycler>=0.10->matplotlib->detectron2==0.6) (1.16.0)
Requirement already satisfied: pyasn1-modules>=0.2.1 in d:\\python39\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard->detectron2==0.6) (0.2.8)
Requirement already satisfied: cachetools<6.0,>=2.0.0 in d:\\python39\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard->detectron2==0.6) (5.2.0)
Requirement already satisfied: rsa<5,>=3.1.4 in d:\\python39\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard->detectron2==0.6) (4.9)
Requirement already satisfied: requests-oauthlib>=0.7.0 in d:\\python39\\lib\\site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard->detectron2==0.6) (1.3.1)
Requirement already satisfied: importlib-metadata>=4.4 in d:\\python39\\lib\\site-packages (from markdown>=2.6.8->tensorboard->detectron2==0.6) (4.7.0)
Requirement already satisfied: certifi>=2017.4.17 in d:\\python39\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard->detectron2==0.6) (2021.5.30)
Requirement already satisfied: idna<4,>=2.5 in d:\\python39\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard->detectron2==0.6) (3.2)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in d:\\python39\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard->detectron2==0.6) (1.26.6)
Requirement already satisfied: charset-normalizer~=2.0.0 in d:\\python39\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard->detectron2==0.6) (2.0.4)
Requirement already satisfied: pywin32>=226 in d:\\python39\\lib\\site-packages (from portalocker->iopath<0.1.10,>=0.1.7->detectron2==0.6) (301)
Requirement already satisfied: zipp>=0.5 in d:\\python39\\lib\\site-packages (from importlib-metadata>=4.4->markdown>=2.6.8->tensorboard->detectron2==0.6) (3.5.0)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in d:\\python39\\lib\\site-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard->detectron2==0.6) (0.4.8)
Requirement already satisfied: oauthlib>=3.0.0 in d:\\python39\\lib\\site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard->detectron2==0.6) (3.2.2)
Building wheels for collected packages: fvcore, antlr4-python3-runtime, pycocotoolsBuilding wheel for fvcore (setup.py) ... doneCreated wheel for fvcore: filename=fvcore-0.1.5.post20221221-py3-none-any.whl size=61438 sha256=148e752c75e8b8249cd61300067a0865eb1d991d8b6d0976a97dbe1b258b0fedStored in directory: c:\\users\\condor\\appdata\\local\\pip\\cache\\wheels\\83\\42\\02\\66178d16e5c44dc26d309931834956baeda371956e86fbd876Building wheel for antlr4-python3-runtime (setup.py) ... doneCreated wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.9.3-py3-none-any.whl size=144586 sha256=8d81a5cc43b5baf0700291f1993519452c38cc9d4e51e1fbbb5108e9423d533bStored in directory: c:\\users\\condor\\appdata\\local\\pip\\cache\\wheels\\23\\cf\\80\\f3efa822e6ab23277902ee9165fe772eeb1dfb8014f359020aBuilding wheel for pycocotools (pyproject.toml) ... errorerror: subprocess-exited-with-error× Building wheel for pycocotools (pyproject.toml) did not run successfully.│ exit code: 1╰─> [16 lines of output]running bdist_wheelrunning buildrunning build_pycreating buildcreating build\\lib.win-amd64-cpython-39creating build\\lib.win-amd64-cpython-39\\pycocotoolscopying pycocotools\\coco.py -> build\\lib.win-amd64-cpython-39\\pycocotoolscopying pycocotools\\cocoeval.py -> build\\lib.win-amd64-cpython-39\\pycocotoolscopying pycocotools\\mask.py -> build\\lib.win-amd64-cpython-39\\pycocotoolscopying pycocotools\\__init__.py -> build\\lib.win-amd64-cpython-39\\pycocotoolsrunning build_extcythoning pycocotools/_mask.pyx to pycocotools\\_mask.cC:\\Users\\condor\\AppData\\Local\\Temp\\pip-build-env-61ev7sr7\\overlay\\Lib\\site-packages\\Cython\\Compiler\\Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: C:\\Users\\condor\\AppData\\Local\\Temp\\pip-install-6tnrh7ir\\pycocotools_07ef0386581d473a80b1cee866d0bc03\\pycocotools\\_mask.pyxtree = Parsing.p_module(s, pxd, full_module_name)building 'pycocotools._mask' extensionerror: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.ERROR: Failed building wheel for pycocotools
Successfully built fvcore antlr4-python3-runtime
Failed to build pycocotools
ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based projects
可以看到其中关键信息:
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
笔者经查询,解决方案如下:
第一步: 安装java jdk并设置系统变量和环境变量
第二步: 根据python版本选择Jpype进行安装 https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype
第三步: 安装Microsoft C++ 生成工具 - Visual Studio :https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
安装成功即可
我看到网上文章还提到继续安装pyhanlp
pip install pyhanlp
但是笔者这里安装的时候报错了,忽略该问题,直接跳转到上面安装Detectron2,发现成功安装。