Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【已解决】windows10 install utils.nms_rotated #224

Closed
UNeedCryDear opened this issue Mar 7, 2022 · 47 comments
Closed

【已解决】windows10 install utils.nms_rotated #224

UNeedCryDear opened this issue Mar 7, 2022 · 47 comments

Comments

@UNeedCryDear
Copy link

UNeedCryDear commented Mar 7, 2022

注意前提:cuda和cudnn以及显卡驱动安装正确的情况下,前面安装不正确先安装好。(最常见的问题就是30系和40系显卡需要安装cuda11.1及其以上的版本,这两个系列显卡已经不支持cuda10.x了)
目前这个问题已经解决,原因是编码的问题将Unix编码改成windows 编码,可以用vscode或者其他等软件打开,将Unix(LF)改成windows(CR LF)

还有这位老哥说的eps的修改,不过由于markdown语法的问题,这位老哥少了device前后的双下划线,增加上去就可以。
#149 (comment)

剩下的一些是根据报错位置将换行位置删除掉变成一行即可,例如原本是:
block_polys[threadIdx.x * 9 + 0] =
dev_polys[(threadsPerBlock * col_start + threadIdx.x) * 9 + 0];
去掉换行变成一行即可:
block_polys[threadIdx.x * 9 + 0] = dev_polys[(threadsPerBlock * col_start + threadIdx.x) * 9 + 0];

贴个我能编译成功的版本,再windows10下面直接替换poly_nms_cuda.cu即可。
如果torch>=1.11.x,请参考#512 中的修改
BD链接:https://pan.baidu.com/s/1yXr1eIVu0h9tNfnjYIhwdw
提取码:yolo
google drive: https://drive.google.com/file/d/13ScRXuBb3bc4SrH-Ku27jKuOi2jp9KJY/view?usp=sharing

编译完成后将utils/nms_rotated/build/lib.win-amd64-3.x有个nms_rotated_ext.cp3x-win_amd64.pyd的文件(x为你python3.x的版本)拷贝到utils/nms_rotated目录下即可运行整个代码

@KolyaIvankov
Copy link

I managed to build the extension on Widows 11, though there were a scope of problems. Here are some tips I'd like to share:

  • You need pytorch of version <1.10; version 1.11 does not have TCH;
  • Make sure you have only one cuda veriosion installed or mentioned in your PATH;
  • for some reason, cl does not recognize const double eps=1E-8; on line 24 of poly_nms_cuda.cu throwing an error. As a hack, I have replaced eps with the value 1E-8 at the only two places it is used (the sig function right below), and the whole thing worked for me.

@casperthuis
Copy link

Hi all,
Thanks for all your information already, I was wondering whether it would be possible to post the poly_nms_cuda.cu file on google drive to share aswell? I do not have access to baidu.

Thank you in advance!

@UNeedCryDear
Copy link
Author

@casperthuis

https://drive.google.com/file/d/13ScRXuBb3bc4SrH-Ku27jKuOi2jp9KJY/view?usp=sharing

@joish-li
Copy link

“编译完成后将utils/nms_rotated/build/lib.win-amd64-3.x有个nms_rotated_ext.cp3x-win_amd64.pyd的文件(x为你python3.x的版本)拷贝到utils/nms_rotated目录下即可运行整个代码”
大佬,做完这一步我运行detect.py报错
File "D:\YOLOV5\yolov5_obb-master\detect.py", line 251, in
main(opt)
File "D:\YOLOV5\yolov5_obb-master\detect.py", line 246, in main
run(**vars(opt))
File "D:\YOLOV5\anaconda\envs\yolo_obb\lib\site-packages\torch\autograd\grad_mode.py", line 28, in decorate_context
return func(*args, **kwargs)
File "D:\YOLOV5\yolov5_obb-master\detect.py", line 79, in run
device = select_device(device)
File "D:\YOLOV5\yolov5_obb-master\utils\torch_utils.py", line 65, in select_device
assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested' # check availability
AssertionError: CUDA unavailable, invalid device 3 requested
大佬,这咋解决?CUDA已经成功安装,torchd等版本都是按照requirement文件弄的

@UNeedCryDear
Copy link
Author

UNeedCryDear commented Aug 30, 2022

assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested' # check availability
AssertionError: CUDA unavailable, invalid device 3 requested

你这都报错了,哪来的cuda安装好了

@joish-li
Copy link

assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested' # check availability
AssertionError: CUDA unavailable, invalid device 3 requested

你这都报错了,哪来的cuda安装好了

import torch
torch.cuda.is_available()
True

大佬,这样不是安装成功了吗?

@UNeedCryDear
Copy link
Author

UNeedCryDear commented Aug 30, 2022

大佬,这样不是安装成功了吗?

那就是你的device设置错误了,你设置3的话表示你目前有4张显卡,你在用第四张

@joish-li
Copy link

大佬,这样不是安装成功了吗?

那就是你的device设置错误了,你设置3的话表示你目前有4张显卡,你在用第四张

不是的大佬QAQ,就只有一张显卡,应该是0才对,我不知道为什么是3,纯纯的萌新,不知道在哪里改

@UNeedCryDear
Copy link
Author

UNeedCryDear commented Aug 30, 2022

不是的大佬QAQ,就只有一张显卡,应该是0才对,我不知道为什么是3,纯纯的萌新,不知道在哪里改

parser.add_argument('--device', default='3', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')

@hukaixuan19970627 默认值改下吧

@joish-li
Copy link

不是的大佬QAQ,就只有一张显卡,应该是0才对,我不知道为什么是3,纯纯的萌新,不知道在哪里改

parser.add_argument('--device', default='3', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')

@hukaixuan19970627 默认值改下吧

跪谢大佬,只盯着报错的torch_utils.py看了,把下面的调参忽略了。。。

@ibtehajali67
Copy link

注意前提:cuda和cudnn以及显卡驱动安装正确的情况下,前面安装不正确先安装好 目前这个问题已经解决,原因是编码的问题将Unix编码改成windows 编码,可以用notepad++(右下角位置)等软件打开,将Unix(LF)改成windows(CR LF)

还有这位老哥说的eps的修改,不过由于markdown语法的问题,这位老哥少了device前后的双下划线,增加上去就可以。 #149 (comment)

剩下的一些是根据报错位置将换行位置删除掉变成一行即可,例如原本是: block_polys[threadIdx.x * 9 + 0] = dev_polys[(threadsPerBlock * col_start + threadIdx.x) * 9 + 0]; 去掉换行变成一行即可: block_polys[threadIdx.x * 9 + 0] = dev_polys[(threadsPerBlock * col_start + threadIdx.x) * 9 + 0];

贴个我能编译成功的版本,再windows10下面直接替换poly_nms_cuda.cu即可。

BD链接:https://pan.baidu.com/s/1yXr1eIVu0h9tNfnjYIhwdw 提取码:yolo google drive: https://drive.google.com/file/d/13ScRXuBb3bc4SrH-Ku27jKuOi2jp9KJY/view?usp=sharing 编译完成后将utils/nms_rotated/build/lib.win-amd64-3.x有个nms_rotated_ext.cp3x-win_amd64.pyd的文件(x为你python3.x的版本)拷贝到utils/nms_rotated目录下即可运行整个代码

I have replaced that file and my error is resolved, Thank you @UNeedCryDear

@huangqi111
Copy link

Can you share your nms_rotated_ext.cp3x-win_amd64.pyd file with me, I keep compiling failures

@UNeedCryDear
Copy link
Author

Can you share your nms_rotated_ext.cp3x-win_amd64.pyd file with me, I keep compiling failures

It's not that I don't want to give it to you, but the compiled files generated by different system environments can't be used. This can only be generated by yourself, unless your environment is the same as mine.

@huangqi111
Copy link

huangqi111 commented Feb 24, 2023 via email

Alex-Schaefer added a commit to Alex-Schaefer/yolov5_obb_update that referenced this issue Mar 27, 2023
hukaixuan19970627#224 nur Torch 110
Deshalb kombiniert mit THC entfernen Update auf Torch111
@hecheng000
Copy link

注意前提:cuda和cudnn以及显卡驱动安装正确的情况下,前面安装不正确先安装好 目前这个问题已经解决,原因是编码的问题将Unix编码改成windows 编码,可以用notepad++(右下角位置)等软件打开,将Unix(LF)改成windows(CR LF)

还有这位老哥说的eps的修改,不过由于markdown语法的问题,这位老哥少了device前后的双下划线,增加上去就可以。 #149 (comment)

剩下的一些是根据报错位置将换行位置删除掉变成一行即可,例如原本是: block_polys[threadIdx.x * 9 + 0] = dev_polys[(threadsPerBlock * col_start + threadIdx.x) * 9 + 0]; 去掉换行变成一行即可: block_polys[threadIdx.x * 9 + 0] = dev_polys[(threadsPerBlock * col_start + threadIdx.x) * 9 + 0];

贴个我能编译成功的版本,再windows10下面直接替换poly_nms_cuda.cu即可。

BD链接:https://pan.baidu.com/s/1yXr1eIVu0h9tNfnjYIhwdw 提取码:yolo google drive: https://drive.google.com/file/d/13ScRXuBb3bc4SrH-Ku27jKuOi2jp9KJY/view?usp=sharing 编译完成后将utils/nms_rotated/build/lib.win-amd64-3.x有个nms_rotated_ext.cp3x-win_amd64.pyd的文件(x为你python3.x的版本)拷贝到utils/nms_rotated目录下即可运行整个代码

你好 我是win10系统,可以分享下你的nms_rotated_ext.cp3x-win_amd64.pyd文件吗

@UNeedCryDear
Copy link
Author

@qqdalao 前提条件先确定下你的cuda环境配置正确。你如果是本地编译出来的文件,说明你是编译通过了,只不过找不到这个模块。
如果你用的是pycharm,可以将utils/nms_rotated这个文件夹,鼠标右键有个将目录标记为-》源 根。
如果是非pycahrm,可以学yolo本身那样,通过sys.path.add(path)的方式加入,在utils/nms_rotated/nms_rotated_warpper.py的开头部分加入,可以将前面获取file和path的部分代码全部拷贝过去试试看。

sys.path.append(str(ROOT)) # add ROOT to PATH

@qqdalao
Copy link

qqdalao commented Jun 30, 2023

大佬,我怎么确定cuda环境配置正确。我是用conda直接安装的

@hecheng000
Copy link

hecheng000 commented Jun 30, 2023 via email

@qqdalao
Copy link

qqdalao commented Jun 30, 2023

import torch
import torchvision

import torch_geometric

print(torch.cuda.is_available())
print(torch.version)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
True
1.12.1
11.3
8302
大佬,运行是这样

@hecheng000
Copy link

hecheng000 commented Jun 30, 2023 via email

@qqdalao
Copy link

qqdalao commented Jun 30, 2023

(dx) E:\WYH\yolov5_obb-master\DOTA_devkit>python setup.py build_ext --inplace
polyiou.cpp
polyiou.cpp(1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
polyiou.cpp(89): error C2059: 语法错误:“if”
polyiou.cpp(90): error C2059: 语法错误:“if”
polyiou.cpp(91): error C2065: “n1”: 未声明的标识符
polyiou.cpp(91): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
polyiou.cpp(91): error C2440: “初始化”: 无法从“int”转换为“int [1]”
polyiou.cpp(91): note: 没有转换为数组类型,但有转换为数组的引用或指针
polyiou.cpp(92): error C2065: “n2”: 未声明的标识符
polyiou.cpp(92): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
polyiou.cpp(92): error C2440: “初始化”: 无法从“int”转换为“int [1]”
polyiou.cpp(92): note: 没有转换为数组类型,但有转换为数组的引用或指针
polyiou.cpp(94): error C2059: 语法错误:“for”
polyiou.cpp(94): error C2143: 语法错误: 缺少“)”(在“;”的前面)
polyiou.cpp(94): error C2143: 语法错误: 缺少“;”(在“<”的前面)
polyiou.cpp(94): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
polyiou.cpp(94): error C2143: 语法错误: 缺少“;”(在“++”的前面)
polyiou.cpp(94): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
polyiou.cpp(94): error C2086: “int i”: 重定义
polyiou.cpp(94): note: 参见“i”的声明
polyiou.cpp(94): error C2059: 语法错误:“)”
polyiou.cpp(94): error C2143: 语法错误: 缺少“;”(在“{”的前面)
polyiou.cpp(94): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
polyiou.cpp(99): error C2059: 语法错误:“return”
polyiou.cpp(100): error C2059: 语法错误:“}”
polyiou.cpp(100): error C2143: 语法错误: 缺少“;”(在“}”的前面)
polyiou.cpp(105): error C2143: 语法错误: 缺少“;”(在“{”的前面)
polyiou.cpp(105): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX86\x64\cl.exe' failed with exit code 2 就是我在安装这个的时候会出现这个问题,会有影响嘛?,然后刚刚那个RuntimeError: Not compiled with GPU support 会在训练一次后产生

@ibtehajali67
Copy link

Can you share your nms_rotated_ext.cp3x-win_amd64.pyd file with me, I keep compiling failures
There is a link for my file .pyd on windows 10

https://drive.google.com/file/d/1YRxEzfBbIFdVkRJAYDOxFngryzrEqw8R/view?usp=sharing

@UNeedCryDear
Copy link
Author

@qqdalao 你这个是安装错误了,没有编译成功。你下载下替换文件试试看。如果是torch1.11及其之后的版本,你需要改下其他的东西,你可以看下440的这个解决方案试试#440

@hecheng000
Copy link

hecheng000 commented Jul 8, 2023 via email

@YsanZyh
Copy link

YsanZyh commented Jul 29, 2023

注意前提:cuda和cudnn以及显卡驱动安装正确的情况下,前面安装不正确先安装好。(最常见的问题就是30系和40系显卡需要安装cuda11.1及其以上的版本,这两个系列显卡已经不支持cuda10.x了) 目前这个问题已经解决,原因是编码的问题将Unix编码改成windows 编码,可以用vscode或者其他等软件打开,将Unix(LF)改成windows(CR LF)

还有这位老哥说的eps的修改,不过由于markdown语法的问题,这位老哥少了device前后的双下划线,增加上去就可以。 #149 (comment)

剩下的一些是根据报错位置将换行位置删除掉变成一行即可,例如原本是: block_polys[threadIdx.x * 9 + 0] = dev_polys[(threadsPerBlock * col_start + threadIdx.x) * 9 + 0]; 去掉换行变成一行即可: block_polys[threadIdx.x * 9 + 0] = dev_polys[(threadsPerBlock * col_start + threadIdx.x) * 9 + 0];

贴个我能编译成功的版本,再windows10下面直接替换poly_nms_cuda.cu即可。

BD链接:https://pan.baidu.com/s/1yXr1eIVu0h9tNfnjYIhwdw 提取码:yolo google drive: https://drive.google.com/file/d/13ScRXuBb3bc4SrH-Ku27jKuOi2jp9KJY/view?usp=sharing 编译完成后将utils/nms_rotated/build/lib.win-amd64-3.x有个nms_rotated_ext.cp3x-win_amd64.pyd的文件(x为你python3.x的版本)拷贝到utils/nms_rotated目录下即可运行整个代码

感谢大佬,找了一堆没解决,按这个直接成功了。

@Loading-xxx
Copy link

纯小白求解答,前面说的编译.cu,请问是怎么编译啊,搜了好多帖子,卡了好几天了。

@UNeedCryDear
Copy link
Author

@Loading-xxx 使用项目前要学会看一下项目的install或者build的说明,基本上都会告知怎么构建项目

https://github.com/hukaixuan19970627/yolov5_obb/blob/master/docs/install.md#install

image

@Loading-xxx
Copy link

@Loading-xxx 使用项目前要学会看一下项目的install或者build的说明,基本上都会告知怎么构建项目

https://github.com/hukaixuan19970627/yolov5_obb/blob/master/docs/install.md#install

image

到pip install -r requirements.txt这一步我都没问题,卡在setup.py这一步,报错Microsoft Visual C++ 14.0 or greater is required.我下载了Mircosoft C++ build tools又开始报新的错。上面讲到的编译.cu是在这一步编译吗,用什么工具编译呀。求解答,感谢!!

@UNeedCryDear
Copy link
Author

@Loading-xxx
新的错是什么错?详细的报错信息要给出,而不是模棱两可。

如果你自己解决不了,就详细给出编译的环境信息是什么(包括系统信息,python,torch,torchvision,显卡信息,cuda版本信息等等相关信息),如果是环境问题导致的,你这些信息已给出来基本上就能知道是哪里的问题,如果不确定具体问题,有时间精力什么的可以帮你复现一下问题怎么解决,你新手我可以理解,但是请下次提问的时候最好能先给出这些信息,包括但不限于所有提问的地方。
另外,目前这个项目不建议高版本的torch和cuda,兼容性问题是最难搞定的问题。

最后编译工具就是直接python编译,至于python调用c++编译器什么的你不用去管它,你只要有安装下c++的编译工具就行

@Loading-xxx
Copy link

@UNeedCryDear
你好,我是根据install.md创建的环境,具体版本如下:

image
image

在setup.py develop这一步,一开始报错是这样的:
image

在我安装VS building tools之后是这样的:
image
中间有特别长一段像下面这样,只截取了一部分:
image
最后是这样的:
image

安装vs building tools的选择如下:
image

现在就完全迷惑了,求解答 ing,感谢!!!

@UNeedCryDear
Copy link
Author

UNeedCryDear commented Oct 27, 2023

最后一图太模糊了,看不清你选了哪些

报错的意思是你安装的vs 编译工具版本不对。你需要安装2015-2019之间的才对,你是不是安装vs2022的msvc了。
另外如果你不需要vs,不做相关开发的话,不需要全部安装vs,选择单个组件,往下拉,在编译器生成工具里面里面找到下面zhege这个安装就行
image

@Loading-xxx
Copy link

是的,我安装了默认的2022版本
太感谢了!!!我再试一下
所以说,我用链接里的.cu文件,替换原仓库中的文件,重装VS工具之后,接着setup.py 那一步就行吗

@UNeedCryDear
Copy link
Author

对的,如果还报msvcVB版本错误的话,就需要将vs2022的那个msvc先卸载掉,然后安装刚刚截图给你的2017或者2019的这个msvc
。最后替换文件到setup这里开始。另外,如果你是torch1.11.x或者更高的版本,你需要去看下另外的这个链接中的方案#151

@BuFanZHANG
Copy link

是的,我安装了默认的2022版本 太感谢了!!!我再试一下 所以说,我用链接里的.cu文件,替换原仓库中的文件,重装VS工具之后,接着setup.py 那一步就行吗

好兄弟,你这样做成功了吗。我的哥,你的回复对我很重要。

@Loading-xxx
Copy link

是的,我安装了默认的2022版本 太感谢了!!!我再试一下 所以说,我用链接里的.cu文件,替换原仓库中的文件,重装VS工具之后,接着setup.py 那一步就行吗

好兄弟,你这样做成功了吗。我的哥,你的回复对我很重要。

image
我这样是可以的

@BuFanZHANG
Copy link

是的,我安装了默认的2022版本 太感谢了!!!我再试一下 所以说,我用链接里的.cu文件,替换原仓库中的文件,重装VS工具之后,接着setup.py 那一步就行吗

好兄弟,你这样做成功了吗。我的哥,你的回复对我很重要。

image 我这样是可以的
好的,我去试试

@BuFanZHANG
Copy link

是的,我安装了默认的2022版本 太感谢了!!!我再试一下 所以说,我用链接里的.cu文件,替换原仓库中的文件,重装VS工具之后,接着setup.py 那一步就行吗

好兄弟,你这样做成功了吗。我的哥,你的回复对我很重要。

image 我这样是可以的

好兄弟可以,我的也可以了

@YsanZyh
Copy link

YsanZyh commented Nov 23, 2023

好的 如果是linux系统的话是不会存在编译问题吗

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2023年05月15日 15:58 | | 收件人 | @.> | | 抄送至 | @.>@.> | | 主题 | Re: [hukaixuan19970627/yolov5_obb] 【已解决】windows10 install utils.nms_rotated (Issue #224) | 你好 我是win10系统,可以分享下你的nms_rotated_ext.cp3x-win_amd64.pyd文件吗 不是我不想分享,而是环境不一样无法保证一定可以运行,你还不如按照教程直接编译。如果是torch1.12.x及其以上的版本,你需要找一下issue里面有别人提到的后面几个版本的修改。我这个是适用1.7.0~1.10的修改,后面的版本还是有一些不一样的地方的 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

请问Linux系统怎么安装 nms_rotated 库?我运行 python setup.py build_ext --inplace 之后生成的是 以.so格式的文件 nms_rotated_ext.cpython-37m-x86_64-linux-gnu.so
之后运行predict.py报错

@UNeedCryDear
Copy link
Author

请问Linux系统怎么安装 nms_rotated 库?我运行 python setup.py build_ext --inplace 之后生成的是 以.so格式的文件 nms_rotated_ext.cpython-37m-x86_64-linux-gnu.so 之后运行predict.py报错

linux下面的so文件相当于windows下面的dll文件,也就是动态链接库在不同平台的格式。运行报错是什么报错?找不到这个模块还是其他的报错,不是所有的报错都是由于这个引起的,你需要给出详细的报错信息。如果是找不到这个链接库的话,你可以试一下软链接或者通过python的sys模块将其路径加入环境变量。

@YsanZyh
Copy link

YsanZyh commented Nov 23, 2023

请问Linux系统怎么安装 nms_rotated 库?我运行 python setup.py build_ext --inplace 之后生成的是 以.so格式的文件 nms_rotated_ext.cpython-37m-x86_64-linux-gnu.so 之后运行predict.py报错

linux下面的so文件相当于windows下面的dll文件,也就是动态链接库在不同平台的格式。运行报错是什么报错?找不到这个模块还是其他的报错,不是所有的报错都是由于这个引起的,你需要给出详细的报错信息。如果是找不到这个链接库的话,你可以试一下软链接或者通过python的sys模块将其路径加入环境变量。

你好,报错内容是:
File "/yolov7_obb/utils/nms_rotated/nms_rotated_wrapper.py", line 4, in
from . import nms_rotated_ext
ImportError: /yolov7_obb/utils/nms_rotated/nms_rotated_ext.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev
意思应该是 .so 文件是未定义符号

请问Linux中运行 python setup.py build_ext --inplace 之后生成的就是.so文件吗,之前在Windows下生成的是.pyd文件

@UNeedCryDear
Copy link
Author

UNeedCryDear commented Nov 23, 2023

@YsanZyh

  1. 不是跟你说了吗,so就是动态链接库,相当于windows下面常见的dll,pyd是python的在windows下面的动态链接库格式
  2. 你这个报错可能是gcc或者g++的版本问题,你可以试着更新下看看,具体要哪个版本我就不是很清楚了。
  3. 也有可能是环境冲突导致的,你自己检查一下cuda,cudnn,torch版本之间是否兼容。

@Wei-Wu233
Copy link

注意前提:cuda和cudnn以及显卡驱动安装正确的情况下,前面安装不正确先安装好。(最常见的问题就是30系和40系显卡需要安装cuda11.1及其以上的版本,这两个系列显卡已经不支持cuda10.x了) 目前这个问题已经解决,原因是编码的问题将Unix编码改成windows 编码,可以用vscode或者其他等软件打开,将Unix(LF)改成windows(CR LF)

还有这位老哥说的eps的修改,不过由于markdown语法的问题,这位老哥少了device前后的双下划线,增加上去就可以。 #149 (comment)

剩下的一些是根据报错位置将换行位置删除掉变成一行即可,例如原本是: block_polys[threadIdx.x * 9 + 0] = dev_polys[(threadsPerBlock * col_start + threadIdx.x) * 9 + 0]; 去掉换行变成一行即可: block_polys[threadIdx.x * 9 + 0] = dev_polys[(threadsPerBlock * col_start + threadIdx.x) * 9 + 0];

贴个我能编译成功的版本,再windows10下面直接替换poly_nms_cuda.cu即可。

BD链接:https://pan.baidu.com/s/1yXr1eIVu0h9tNfnjYIhwdw 提取码:yolo google drive: https://drive.google.com/file/d/13ScRXuBb3bc4SrH-Ku27jKuOi2jp9KJY/view?usp=sharing 编译完成后将utils/nms_rotated/build/lib.win-amd64-3.x有个nms_rotated_ext.cp3x-win_amd64.pyd的文件(x为你python3.x的版本)拷贝到utils/nms_rotated目录下即可运行整个代码

大哥牛逼!!!

@SUNaSMILE
Copy link

求大佬解答,卡在编译python setup.py develop这一步,报错Microsoft Visual C++ 14.0 or greater is required.,下载了Mircosoft C++ build tools201版本后还是报同样的错误。
其他说明:编译的环境:显卡、cuda、cudnn、torch版本都没问题(因为用同样环境运行成功过yolov5)。
Uploading 2.png…

@UNeedCryDear
Copy link
Author

@SUNaSMILE
报同样错误说明还是没有找到msvc的构建工具,你有重新启动电脑吗(一般安装msvc相关的环境之后都会提示你重启的,如果没有可以试试先试试重启CMD,或者虚拟环境之类的,不行重启下电脑看看),还有一个就是像前面那位一样安装错了msvc的版本(或者x86和x64选择错误),要求是14.0及其以上,也就vs2015的构建工具即可,最高一般到2019,再高的2022就不是很建议了。另外也和你的python版本相关,不同的python版本可能需要对应的构建工具,如果你不确定的话,可以将vc build tools版本多安装几个看下。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests