windows环境安装miniconda、pytorch及visual studio编译DCNv2过程问题梳理记录

1、环境安装:gdal cudatoolkit torch torchvision torchaudio
首先是镜像源配置,全面配置结果如下,通过清华镜像源网站获取(anaconda tsinghua),获取镜像源网址:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

miniconda3安装:
网站地址:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?C=S&O=A
或者(windows下载)
https://docs.conda.io/en/latest/miniconda.html
VS code下载网站:
https://code.visualstudio.com/download

Visual Studio 安装:
https://visualstudio.microsoft.com/zh-hans/downloads/
在这里插入图片描述
点击网址进入如上网页,点击community(社区版可免费下载,功能够用),进入如下页面:
在这里插入图片描述
这时会弹出右上角的下载任务,可直接下载,这是引导安装应用的,同时,根据需求,也可选择“仅选择所需的组件”来下载安装。打开下载好的exe文件,从“可用”可用看到安装引导,一般最上面的是最新的版本。如果想装历史版本,可以往下拉
在这里插入图片描述

在这里插入图片描述

安装库的问题:

windows直接通过conda命令限制库的版本和获取源(conda-forge、nvidia)来安装cudatoolkit 等库会报错,找不到合适的版本,主要原因是windows很容易装成cpu版本,而且无法获取到相关版本库,可以通过conda search xx来排查是否有合适版本的库,若搜不到,说明目前的源下不了,需要通过其他方法安装。

在这里的windows上安装时根据上述问题,我做了一些改变,采用pip 直接安装某些库,不使用conda
在这里插入图片描述

安装命令(好像是这个):

pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

cudatoolkit好像是单独安装的,用的conda search cudatoolkit -c pytorch找的合适版本进行安装,从下可发现并没有11.1版本的cudatoolkit
再用conda search cudatoolkit -c conda-forge就能找到更多的资源,如下:

(base) PS C:\Users> conda search cudatoolkit
Loading channels: done
# Name                       Version           Build  Channel
cudatoolkit                      8.0               4  anaconda/pkgs/main
cudatoolkit                      9.0               1  anaconda/pkgs/main
cudatoolkit                      9.2               0  anaconda/pkgs/main
cudatoolkit                 10.0.130               0  anaconda/pkgs/main
cudatoolkit                 10.1.168               0  anaconda/pkgs/main
cudatoolkit                 10.1.243      h74a9793_0  anaconda/pkgs/main
cudatoolkit                  10.2.89      h74a9793_0  anaconda/pkgs/main
cudatoolkit                  10.2.89      h74a9793_1  anaconda/pkgs/main
cudatoolkit                 11.0.221      h74a9793_0  anaconda/pkgs/main
cudatoolkit                   11.3.1      h59b6b97_2  anaconda/pkgs/main

(base) PS C:\Users> conda search cudatoolkit -c conda-forge
Loading channels: done
# Name                       Version           Build  Channel
cudatoolkit                      8.0               4  anaconda/pkgs/main
cudatoolkit                      9.0               1  anaconda/pkgs/main
cudatoolkit                      9.2               0  anaconda/pkgs/main
cudatoolkit                  9.2.148     h08c830c_10  conda-forge
cudatoolkit                  9.2.148      h08c830c_6  conda-forge
cudatoolkit                  9.2.148      h08c830c_7  conda-forge
cudatoolkit                  9.2.148      h08c830c_8  conda-forge
cudatoolkit                  9.2.148      h08c830c_9  conda-forge
cudatoolkit                 10.0.130               0  anaconda/pkgs/main
cudatoolkit                 10.0.130     h5327add_10  conda-forge
cudatoolkit                 10.0.130      h5327add_6  conda-forge
cudatoolkit                 10.0.130      h5327add_7  conda-forge
cudatoolkit                 10.0.130      h5327add_8  conda-forge
cudatoolkit                 10.0.130      h5327add_9  conda-forge
cudatoolkit                 10.1.168               0  anaconda/pkgs/main
cudatoolkit                 10.1.243     h3826478_10  conda-forge
cudatoolkit                 10.1.243      h3826478_6  conda-forge
cudatoolkit                 10.1.243      h3826478_7  conda-forge
cudatoolkit                 10.1.243      h3826478_8  conda-forge
cudatoolkit                 10.1.243      h3826478_9  conda-forge
cudatoolkit                 10.1.243      h74a9793_0  anaconda/pkgs/main
cudatoolkit                  10.2.89      h74a9793_0  anaconda/pkgs/main
cudatoolkit                  10.2.89      h74a9793_1  anaconda/pkgs/main
cudatoolkit                  10.2.89     hb195166_10  conda-forge
cudatoolkit                  10.2.89      hb195166_6  conda-forge
cudatoolkit                  10.2.89      hb195166_7  conda-forge
cudatoolkit                  10.2.89      hb195166_8  conda-forge
cudatoolkit                  10.2.89      hb195166_9  conda-forge
cudatoolkit                   11.0.3     h3f58a73_10  conda-forge
cudatoolkit                   11.0.3      h3f58a73_6  conda-forge
cudatoolkit                   11.0.3      h3f58a73_7  conda-forge
cudatoolkit                   11.0.3      h3f58a73_8  conda-forge
cudatoolkit                   11.0.3      h3f58a73_9  conda-forge
cudatoolkit                 11.0.221      h74a9793_0  anaconda/pkgs/main
cudatoolkit                   11.1.1     heb2d755_10  conda-forge
cudatoolkit                   11.1.1      heb2d755_6  conda-forge
cudatoolkit                   11.1.1      heb2d755_7  conda-forge
cudatoolkit                   11.1.1      heb2d755_9  conda-forge
cudatoolkit                   11.2.0      h608a323_7  conda-forge
cudatoolkit                   11.2.0      h608a323_8  conda-forge
cudatoolkit                   11.2.1      h7a7aa70_8  conda-forge
cudatoolkit                   11.2.2     h933977f_10  conda-forge
cudatoolkit                   11.2.2      h933977f_8  conda-forge
cudatoolkit                   11.2.2      h933977f_9  conda-forge
cudatoolkit                   11.3.1     h280eb24_10  conda-forge
cudatoolkit                   11.3.1      h280eb24_9  conda-forge
cudatoolkit                   11.3.1      h59b6b97_2  anaconda/pkgs/main
cudatoolkit                   11.4.2     h0e0bcb6_10  conda-forge
cudatoolkit                   11.4.2      h0e0bcb6_9  conda-forge
cudatoolkit                   11.5.0      hfde6d1b_9  conda-forge
cudatoolkit                   11.5.1     hac7d16d_10  conda-forge
cudatoolkit                   11.5.1      hac7d16d_9  conda-forge
cudatoolkit                   11.6.0     hc0ea762_10  conda-forge
cudatoolkit                   11.6.0      hc0ea762_9  conda-forge
cudatoolkit                   11.7.0     ha6f8bbd_10  conda-forge

所以cudatoolkit的安装命令可以是:

conda install cudatoolkit==11.1 -c conda-forge

安装gdal可以直接用conda装:

conda install gdal==3.0.2

到这大部分的库基本安装好了,调用gpu测试也成功了,说明安装正确

>>> import torch
>>> torch.cuda.is_available()
True

后面就是装一些其他的小型库,pycocotools、ipdb、scipy等,主要是pycocotools安装遇到了问题,也解决了,后面就是框架编译了

框架编译

编译的内容主要有两部分,一部分是dcn,另一部分是框架的配置文件。
框架的配置文件编译基本上问题不大,因为这个编译只是为了保护代码,在环境正确的情况下,编译生成相关文件(linux是.so,windows是.pyd),包括模型、配置参数文件,编译好后拷出,与测试数据和文件放在同一级目录下即可。
另要注意一点,两个编译的地方使用的编译文件setup.py不一样,都采用如下编译命令:

python setup.py build

执行完成后会把内容生在一个build文件夹下

重点是dcn的编译,出现的问题较多,根据经验,首先是cuda不是虚拟环境的cudatoolkit,是软件cuda,对版本要求严格,此处是cuda11.1
第二个是visual studio 2017 编译C语言文件需要用到,安装时用社区版就行,要仔细找到社区版,安装需要通过单个组件安装,主要安装选择如下:
在这里插入图片描述

在这里插入图片描述

在安装好了cuda11.1和vs2017后再去编译dcn,结果就没有报错了
cuda版本问题会报错:

这个错是没有装cuda软件,不是虚拟环境里的
dcn_v2 windows编译 Not compiled with GPU support

下面这个是vs版本不对,不能排除cuda版本是否合适

dependency error之类的依赖错误
还提示了vs版本应采用20172019
RuntimeError: Error compiling objects for extension

下面这个错安装py32file库 pip install py32file

ImportError: DLL load failed while importing win32file: 找不到指定的模块

下面这个错需要安装proj,conda install -c conda-forge proj
安装之后要把PROJ的路径在代码里声明,在windows下,其路径一般是:

os.environ['PROJ_LIB'] = r"C:\Users\be_yo\.conda\envs\base\Library\share\proj"

注意windows读路径要加r在前面

windows RROR 1: PROJ: pj_obj_create: Cannot find proj.db
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清梦枕星河~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值