• win10配置CenterNet环境


    最近在复现CenterNet时,碰到很多问题,花费了两天多的时间,但最后都一一解决了

    一、准备

    1.环境

    Window10+VS2019+CUDA11.1+Python3.8+Pytorch1.8.0+Anaconda3+Pycharm

    显卡:GTX2060;

    2.论文

    论文原文:https://arxiv.org/pdf/1904.07850.pdf(Objects as Points)

    代码:https://github.com/xingyizhou/CenterNet

    二、配置环境

    下面所有的命令行都是在Pcharm中的Terminal中进行,主要执行的文件的环境就好

    1.配置anaconda3+python3.8

    anaconda安装

    conda create -n CenterNet python=3.6  # 
    activate CenterNet  # 切换环境至CenterNet
    
    • 1
    • 2

    这里安装好anaconda3+python3.8后,主要查看是否配置好环境变量。

    2.安装CUDA和CUDANN

    在选择CUDA时一定要考虑好Pytorch、CUDA、驱动和显卡之间的版本关系,

    CUDA安装及配置

    3.安装Pytorch

    在CenterNet环境中

    conda install pytorch==1.8.0 torchvision==0.9.0
    
    • 1

    安装好后,运行下列代码,查看安装是否完成

    import torch
    print(torch.version.cuda)
    print(torch.__version__)
    
    print(torch.cuda.is_available()) #查看cuda是否可用
    
    print(torch.cuda.device_count()) #查看可行的cuda数目
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    请添加图片描述

    4.安装CenterNet必备库

    在CenterNet环境中

    pip install  requirements.txt
    
    • 1

    5.安装Visual Studio 2019

    VS2019安装及配置

    这个教程只看安装部分就好,安装好要查看是否配置好环境变量

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dt7bb1RI-1660014880100)(C:/Users/13611/AppData/Roaming/Typora/typora-user-images/image-20220809110343916.png)]

    三、编译NMS

    cd CenterNet\src\lib\external
    python setup.py build_ext --inplace
    
    • 1
    • 2

    这里有问题出现:在编译NMS时,**cl: 命令行error D8021 :无效的数值参数“/Wno-cpp”请看踩坑2

    四、编译DCNv2

    先在文件夹中删除自带的DCNv2,在下面这个文件夹下,直接删除就好

    CenterNet\src\lib\models\network

    然后在Pycharm中,

    cd CenterNet\src\lib\models\networks
    git clone https://github.com/lbin/DCNv2/tree/pytorch_1.9
    cd DCNv2
    python setup.py build develop
    
    • 1
    • 2
    • 3
    • 4

    五、运行dome.py

    cd CenterNet/src
    python demo.py ctdet --demo ../images/17790319373_bd19b24cfc_k.jpg --load_model ../models/ctdet_coco_dla_2x.pth --debug 2
    python demo.py multi_pose --demo ../images/17790319373_bd19b24cfc_k.jpg --load_model ../models/multi_pose_dla_3x.pth --debug 2
    
    • 1
    • 2
    • 3

    运行过程中会在线下载ctdet_coco_dla_2x.pth,multi_pose_dla_3x.pth文件,可能会出现HTTP request请求超时报错。这里的两个文件,第一个是物体检测的,第二个是人体姿态检测的。

    解决办法:事先下载好以上两个文件,放入项目models文件夹下.

    若已经将文件下载至本地后,运行demo.py还是会在线下载模型,注释pose_dla_dcn文件中的第313,314行代码:

    在这里插入图片描述

    到这里就运行成功了。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CHgtHsWn-1660014880101)(C:/Users/13611/AppData/Roaming/Typora/typora-user-images/image-20220809111330377.png)]

    六、踩坑

    1.在编译DCNv2时,RuntimeError: Error compiling objects for extension

    python setup.py build develop
    
    • 1

    出现:RuntimeError: Error compiling objects for extension

    把DCNv2文件换为:

    https://github.com/lbin/DCNv2/tree/pytorch_1.9

    里面的pytorch可以在master中更改版本,我用的是pytorch1.8,这里pytorch1.9也可以用。

    2.在编译NMS时,cl: 命令行error D8021 :无效的数值参数“/Wno-cpp”

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YjqyJAyU-1660014880101)(C:/Users/13611/AppData/Roaming/Typora/typora-user-images/image-20220808223544131.png)]

    这一行代码注释掉

    3.在编译DCNv2时,出现lc.exe有关问题

    2.在编译NMS时,cl: 命令行error D8021 :无效的数值参数“/Wno-cpp”

    [外链图片转存中…(img-YjqyJAyU-1660014880101)]

    这一行代码注释掉

    3.在编译DCNv2时,出现lc.exe有关问题

    这里请查看VS2019的环境变量是否配置好,重启一下。

  • 相关阅读:
    学生信息管理系统(Python)完整版
    基于netmap的用户态协议栈(一)
    探索艾利特机器人丨EC66在物流行业的应用
    python-xml文件读写
    使用tailwindcss来构建以及引入外部组件
    Ceres 数值导数 (NumericDerivatives)进阶
    CentOS 安装HTTP代理服务器 Squid
    Redis非关系型数据库
    随笔记:重新认识 else if
    Redis高级特性和应用(发布 订阅、Stream)
  • 原文地址:https://blog.csdn.net/qq_46067306/article/details/126243942