当前位置:   article > 正文

windows10系统CenterNet环境搭建及踩坑记录_centernet win10

centernet win10

看了网上许多windows10下的搭建教程,关于pytorch环境搭建和nms , DCNv2的编译较为粗略,对无基础的小伙伴非常不友好,花费了三天,终于成功运行demo.py。在此根据回忆记录搭建过程。
CenterNet项目源码下载


项目环境

win10 + cuda10 + anaconda3 + pytorch1.2.0 + vs2017 + python3.6

一、 Anaconda3+Python3.6

1. 安装Anaconda3

安装教程可参考:Anaconda介绍、安装及使用教程

2.更换Anaconda镜像源

安装完成后,打开anaconda prompt,更换默认源为清华源,以便加快安装包的下载速度。
更换命令如下:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
conda config --show-sources  # 查看当前所有源
conda config --remove-key channels  # 恢复默认源
  • 1
  • 2

3.创建虚拟环境

为本次CenterNet项目创建项目同名虚拟环境Centernet,指定python版本3.6

conda create -n CenterNet python=3.6  # 
activate CenterNet  # 切换环境至CenterNet
  • 1
  • 2
conda env list # 查看环境列表
activate <env_name> # 切换环境
deactivate <env_name> # 退出环境
conda remove -n <env_name> -all  # 删除虚拟环境
  • 1
  • 2
  • 3
  • 4

4.踩坑1

:后期编译nms 和 DCNv2时,配置了vs2017环境变量后,还是有关于vs2017的报错。
后来猜测是不是与本机的 python环境冲突,系统自动使用了本机安装的python去编译。
尝试成功的解决措施:删除系统环境变量path中有关本机python的环境配置,将anaconda conda.exe和虚拟环境python.exe目录加到系统环境变量path中去,使用CenterNet虚拟环境中的python去编译nms 和 DCNv2。环境变量配置如下图所示:

在这里插入图片描述

二.安装CUDA10.0

安装CUDA,为下一步安装pytorch做准备。
在安装之前,有必要了解一下pytorch,cuda,显卡,驱动四者之间的关系,判断自己的机器是否支持CUDA10.0,若支持,下载CUDA10.0
在这里插入图片描述
安装验证:
在这里插入图片描述
注意:nvidia-smi的CUDA版本是指系统可以安装的最高版本,并不是真正的安装版本。
在这里插入图片描述

三.安装pytorch

CUDA安装验证成功后,接下来可以去pytorch官网下载pytorch1.2.0啦,官网给出的运行命令如下(-c python意思是使用默认源安装,速度非常慢,在此使用清华源安装,所以安装时去掉-c python):

安装(使用anaconda promt切换至虚拟环境CenterNet):

conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0
  • 1

在这里插入图片描述
编写test.py测试安装结果:

import torch    # 如正常则静默
a = torch.Tensor([1.])    # 如正常则静默
a.cuda()    # 如正常则返回"tensor([ 1.], device='cuda:0')"
  • 1
  • 2
  • 3

在这里插入图片描述

四.pip requirements.txt

pytorch安装成功,接下来使用pip安装requirements.txt,有关pip的换源方法不在这里赘述。

安装(使用anaconda promt切换至虚拟环境CenterNet):

pip install -r requirements.txt
  • 1

在这里插入图片描述

1.踩坑2

当我以为整个虚拟环境的搭建成功一大半的时候,这里我又又踩坑了,pip安装老是报错,并且还使用了本地的python环境和pip。
使用以下命令更新conda环境中的pip版本,成功解决问题:

python -m pip install --upgrade pip
  • 1

在这里插入图片描述

2.踩坑3

第二次在笔记本搭建时,按照踩坑2,我先更新了pip,结果又导致pip cannot import name scheme key。
解决办法:强制重新安装pip。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 
python get-pip.py --force-reinstall
  • 1
  • 2

python3.6可能会提示网址不对,根据提示修改网址重新curl即可

3.总结

至此,经过有又又又踩坑,项目的虚拟环境可算是搭建好了,尤其要注意conda环境与本地python环境的隔离。以上安装操作都要在conda虚拟环境CenterNet下进行。使用conda list查看下当前环境的安装情况:
在这里插入图片描述

五、安装Visual Studio 2017

这一步至关重要,决定后两个文件是否编译成功。可以先去看第六步:编译 nms 了解为什么要这样配置。
下载Visual Studio 2017

1.安装

要勾引C++与python开发安装
在这里插入图片描述

2.配置环境变量

去安装目录下找到cl.exe文件的位置,加入系统环境变量path中
在这里插入图片描述

六、编译 nms

按照网上的教程,编译nms

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

如果编译有问题的话,需要注释setup.py里面的这句代码

#extra_compile_args=["-Wno-cpp", "-Wno-unused-function"]
  • 1
'
运行

会一遍编译成功吗?当然不会!!!执行结果惨哭宝宝,收获如下踩坑4,5,6,7,8。
提示:看完所有踩坑再去一次性安装配置VS2017,这一步简直太重要了!!!

踩坑4

这一步和下一步编译DCNv2无需在anaconda prompt CenterNet环境里运行,参照踩坑1,设置好python环境变量,cd CenterNet\src\lib\external,用cmd直接运行编译命令。至于为什么,我也不知道,反正我是这样做成功的。

踩坑5

问题:没有编译器,不能编译
解决办法:安装VS2017

踩坑6

问题:安装完VS2017,找不到编译器位置或者出现有关cl.exe的错误
解决办法:配置环境变量

踩坑7

问题:报错Unable to find vcvarsall.bat
解决办法:在安装时勾引安装python开发环境

踩坑8

问题:报错LINK : fatal error LNK1158: 无法运行“rc.exe”
解决办法:解决无法运行“rc.exe”

以上踩坑5,6,7解决过程参照五:安装Visual Studio 2017。

七、 编译 DCNv2

先删除自带的DCNv2,重新clone一份新的

cd CenterNet\src\lib\models\networks
rm -rf DCNv2

git clone https://github.com/CharlesShang/DCNv2
cd DCNv2
  • 1
  • 2
  • 3
  • 4
  • 5

网上教程还需修改一行代码,现在DCNv2作者好像修复了这个问题,已经把代码改过了,不需要再修改了,直接编译。
强调:同踩坑4,注意使用cmd运行

python setup.py build develop
  • 1

八、运行demo.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行代码:
在这里插入图片描述
demo.py运行成功:
在这里插入图片描述
路漫漫其修远,搞了三天,总算是把demo.py跑通了,接下来开始下一步训练数据啦~~~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/850409
推荐阅读
相关标签
  

闽ICP备14008679号