Faster RCNN提取图片中的object feature

第一次使用FasterRCNN,尝试使用开源的代码来实现object feature extraction。看了网上有很多的博文都是复现和介绍FasterRCNN,或者直接使用torchvision里面的包,这里我介绍下使用Facebook MMF实现的FasterRCNN,包括安装和使用。

第一步,建立conda环境并安装python、pytorch和torchvision,MMF要求python>=3.7,pytorch>=1.6。如果有同学不了解conda的环境构建,可以参考我的另一篇文章。此外,安装时注意各软件版本之间的匹配,否则容易出错。

第二步,执行一下命令,在conda环境下安装MMF。主要还是参考官网

git clone https://github.com/facebookresearch/mmf.git
cd mmf
pip install --editable .

第三步,在conda环境下安装maskrcnn,按照如下命令。记住,这里的maskrcnn是较新版本,避免了很多问题。

conda install ipython

pip install ninja yacs cython matplotlib

conda install pycocotools

# 安装maskrcnn
git clone https://gitlab.com/vedanuj/vqa-maskrcnn-benchmark.git
cd vqa-maskrcnn-benchmark/
python setup.py build develop # 该命令执行前需要删除build/文件夹,否则会遇到GPU编译问题

# 安装cv2
pip install opencv-python  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

第四步,执行特征抽取代码。详见参考

如果执行过程中,出现了如下问题,我们需要进一步解决:

if torch._six.PY3:AttributeError: module ‘torch._six‘ has no attribute ‘PY3‘

则,我们需要进入相应的文件,并修改内容 torch._six.PY3 为 torch._six.PY37:

vi maskrcnn-benchmark/utils/imports.py

# 修改:
if torch._six.PY3:
    import importlib
    import importlib.util
    import sys

# 修改后:
if torch._six.PY37:
    import importlib
    import importlib.util
    import sys

② 如果没有apex模块

ModuleNotFoundError: No module named 'apex'

则我们需要安装该模块,通过以下方式:

git clone https://github.com/NVIDIA/apex
cd apex
python3 setup.py install

③  无法使用GPU进行支持:

这时候的问题很可能是你的CUDA环境地址没有配置,导致使用GPU时无法寻找到CUDA。我们使用以下命令进行验证:

import torch
from torch.utils.cpp_extension import CUDA_HOME
print(torch.cuda.is_available(), CUDA_HOME)

# 输出应该是True, XXXX/cudaXXX。如果是别的信息,就是错误。

当典型的输出CUDA_HOME=None时,说明CUDA环境没有配置。此时,我们需要将其加到系统中:命令行输入vim ~/.bashrc,然后在末尾加入:

export PATH=/usr/local/cuda-XXX/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-XXX/lib64:$LD_LIBRARY_PATH

# XXX是指你的CUDA版本,如我的CUDA版本是10.2,此时输入
export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH

然后,命令行输入source ~/.bashrc使之有效。接着,重新安装maskrcnn,(记住安装之前删掉build/文件夹)。之后,我们就可以愉快的使用了。

或者下载后送入相应的文件夹进行安装。

参考文献:

https://github.com/facebookresearch/maskrcnn-benchmark/blob/main/INSTALL.md

https://gitlab.com/vedanuj/vqa-maskrcnn-benchmark/-/tree/master/
https://github.com/facebookresearch/mmf/blob/main/tools/scripts/features/extract_features_vmb.py
https://github.com/ronghanghu/vqa-maskrcnn-benchmark-m4c
https://blog.csdn.net/weixin_42782150/article/details/109820615
https://blog.csdn.net/u013679159/article/details/104288338

你可能感兴趣的:(深度学习,pytorch,python,git)