Windows实现M2Det遇到的错误

错误1:AttributeError: ‘MSVCCompiler’ object has no attribute ‘compiler’:

好不容易下载个Git成功运行 sh make.sh,结果又来个AttributeError: ‘MSVCCompiler’ object
has no attribute ‘compiler’,如图:
在这里插入图片描述
研究了半天发现是因为源代码由linux环境下的compiler编译,但在Windows对应的是MSVCCompiler,并不支持!解释如图所言:

在这里插入图片描述
想哭…果然Windows跑个算法还是太强求了…但我还是秉承着不放弃的心态!找了个解决办法!据说有gcc就能运行,so…我去下载了个MinGW在Windows下安装gcc…直接点击文字吧…这是我看了那么多文章,找到的最容易实现的方法了。
然而这只是个开端~~~我也开始想放弃了…

错误2:ModuleNotFoundError: No module named ‘utils.nms.cpu_nms’:

解决了上面这个问题很快就迎来这个新问题,如图:
在这里插入图片描述
这都不是事,网上有详细的解释。只要将.pyx文件(linux环境)转为.pyd文件(windows环境),Windows的python就可以支持导入。
写一个setup.py文件,代码如下:

import sys

sys.path.insert(0, "..")

from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize
from Cython.Distutils import build_ext
import numpy as np

# ext_module = cythonize("Test.pyx")  # Test.pyx为需要转换的文件
ext_module = Extension(
    "Test",
    ["Test.pyx"],
    extra_compile_args=["/openmp"],
    extra_link_args=["/openmp"],
)

setup(
    cmdclass={'build_ext': build_ext},
    ext_modules=[ext_module],
    include_dirs=[np.get_include()]
)

运行输入指令:

python setup.py build_ext --inplace

运行结束会得到一个.pyd文件和一个.c文件,还有个build文件夹,这就成功了。.pyd文件就是我们想要的,将之前的.pyx文件替换即可…

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值