windows10搭建c++与python混合编程DCNv2错误处理

  • python版本是3.6,cuda版本 10.1 update2(之前cuda版本是10.2一直不对,后来查找是10.1 update2,具体有没有作用)
  • 报错没有安装ninja

通过python安装ninja

pip install ninja
  •  找不到cl.exe

    \utils\cpp_extension.py:305: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。warnings.warn(f’Error checking compiler version for {compiler}: {error}’)

找到该行代码,windows下使用的c++是'MINIMUM_MSVC_VERSION'

    try:
        if sys.platform.startswith('linux'):
            minimum_required_version = MINIMUM_GCC_VERSION
            versionstr = subprocess.check_output([compiler, '-dumpfullversion', '-dumpversion'])
            version = versionstr.decode().strip().split('.')
        else:
            minimum_required_version = MINIMUM_MSVC_VERSION
            compiler_info = subprocess.check_output(compiler, stderr=subprocess.STDOUT)
            match = re.search(r'(\d+)\.(\d+)\.(\d+)', compiler_info.decode().strip())
            version = (0, 0, 0) if match is None else match.groups()
    except Exception:
        _, error, _ = sys.exc_info()
        warnings.warn(f'Error checking compiler version for {compiler}: {error}')
        return False

 在文档中找到版本要求,对应该版本的MSVC

MINIMUM_MSVC_VERSION = (19, 0, 24215)

我安装的VS2017,下载 VS2017 installer VS2017下载地址和安装教程(图解) (biancheng.net)http://c.biancheng.net/view/456.html

需要将cl.exe路径添加到环境变量中

 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86

具体什么报错忘了,python环境中执行了着个语句

(torch) D:\maskrcnn-benchmark>call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.6
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

 还有一个报错 utils\cpp_extension.py:189: UserWarning: Error checking compiler version for cl: 'utf-8' codec can't decode byte 0xd3 in position 0: invalid continuation byte

utf-8格式不正确,找到文件对应位置,修改为gbk格式,compiler_info.decode('gbk')

 报错It seems that the VC environment is activated but DISTUTILS_USE_SDK is not set

在vs2017命令行中执行

set DISTUTILS_USE_SDK=1

如果还报错,删除build文件夹、_ext.cp36-win_amd64.pyd文件,重新生成,

修改pyd文件为_ext.pyd,import _ext 之前添加_ext路径,因为python调用pyd路径有时会找不到

sys.path.append(r'D:\..\..\models\dla\DCNv2')
import _ext as _backend

直接执行文件不报错,但是通过别的文件进行引用还是有问题,待解决

参考连接:

(17条消息) pytorch c++混编报错 Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件。_study_&的博客-CSDN博客_c++系统找不到指定的文件怎么办

[Votenet 源码]1 运行demo 编译出错解决过程 - 知乎 (zhihu.com)

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Windows上安装dcnv2,您需要按照以下步骤进行操作: 1. 首先,您需要安装NVIDIA GPU驱动程序。请确保您的计算机上已安装最新版本的NVIDIA GPU驱动程序。 2. 接下来,您需要安装CUDA Toolkit。dcnv2需要CUDA支持才能正常工作。您可以从NVIDIA官方网站下载并安装适用于您的GPU的CUDA Toolkit。 3. 安装cuDNN库。cuDNN是一个GPU加速库,用于深度神经网络。您可以从NVIDIA开发者网站下载适用于您的CUDA版本的cuDNN库,并按照安装说明进行安装。 4. 下载并安装Anaconda。Anaconda是一个常用的Python发行版,它包含了许多科学计算和深度学习所需的包和工具。 5. 创建并激活一个虚拟环境。打开Anaconda Prompt(在开始菜单中搜索Anaconda Prompt),然后使用以下命令创建一个名为dcnv2的虚拟环境: ```shell conda create -n dcnv2 python=3.8 ``` 然后激活该虚拟环境: ```shell conda activate dcnv2 ``` 6. 安装PyTorch和TorchVision。在激活的虚拟环境中运行以下命令: ```shell conda install pytorch torchvision cudatoolkit=xx.x -c pytorch ``` 注意,将"xx.x"替换为您安装的CUDA版本对应的数字。例如,如果您安装了CUDA 11.0,则应使用"cudatoolkit=11.0"。 7. 安装其他依赖项。在虚拟环境中运行以下命令安装其他必需的Python包: ```shell pip install opencv-python pillow matplotlib ``` 8. 下载并安装dcnv2。您可以从dcnv2的GitHub存储库中下载源代码,并按照其中的说明进行安装和配置。 完成以上步骤后,您应该能够成功在Windows上安装dcnv2。请确保按照上述步骤中的说明进行操作,并根据具体情况调整相关参数和版本号。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值