hukaixuan19970627 / yolov5_obb

yolov5 + csl_label.(Oriented Object Detection)(Rotation Detection)(Rotated BBox)基于yolov5的旋转目标检测
GNU General Public License v3.0
1.81k stars 425 forks source link

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

Closed UNeedCryDear closed 2 years ago

UNeedCryDear commented 2 years ago

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

还有这位老哥说的eps的修改,不过由于markdown语法的问题,这位老哥少了device前后的双下划线,增加上去就可以。 https://github.com/hukaixuan19970627/yolov5_obb/issues/149#issuecomment-1009604945

剩下的一些是根据报错位置将换行位置删除掉变成一行即可,例如原本是: 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,请参考https://github.com/hukaixuan19970627/yolov5_obb/issues/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 commented 2 years ago

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:

casperthuis commented 2 years ago

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 commented 2 years ago

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

joish-li commented 2 years ago

“编译完成后将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 commented 2 years ago

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

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

joish-li commented 2 years ago

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 commented 2 years ago

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

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

joish-li commented 2 years ago

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

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

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

UNeedCryDear commented 2 years ago

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

https://github.com/hukaixuan19970627/yolov5_obb/blob/b00c3f245e50e7a80460a1b949d22ea7dfeb27a0/detect.py#L219

@hukaixuan19970627 默认值改下吧

joish-li commented 2 years ago

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

https://github.com/hukaixuan19970627/yolov5_obb/blob/b00c3f245e50e7a80460a1b949d22ea7dfeb27a0/detect.py#L219

@hukaixuan19970627 默认值改下吧

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

ibtehajali67 commented 1 year ago

注意前提: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 commented 1 year ago

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

UNeedCryDear commented 1 year ago

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 commented 1 year ago

I followed the requirements of the issue, and nothing was right, so I want to try it with the compilation results from your side  

黄琪 @.***

 

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年2月24日(星期五) 下午2:46 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [hukaixuan19970627/yolov5_obb] 【已解决】windows10 install utils.nms_rotated (Issue #224)

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.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

hecheng000 commented 1 year ago

注意前提: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 commented 1 year ago

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

不是我不想分享,而是环境不一样无法保证一定可以运行,你还不如按照教程直接编译。如果是torch1.12.x及其以上的版本,你需要找一下issue里面有别人提到的后面几个版本的修改。我这个是适用1.7.0~1.10的修改,后面的版本还是有一些不一样的地方的

hecheng000 commented 1 year ago

好的 如果是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: @.***>

hecheng000 commented 1 year ago

我没解决啊

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2023年06月30日 16:20 | | 收件人 | @.> | | 抄送至 | @.>@.> | | 主题 | Re: [hukaixuan19970627/yolov5_obb] 【已解决】windows10 install utils.nms_rotated (Issue #224) |

Traceback (most recent call last): File "E:/WYH/yolov5_obb-master/train.py", line 635, in main(opt) File "E:/WYH/yolov5_obb-master/train.py", line 530, in main train(opt.hyp, opt, device, callbacks) File "E:/WYH/yolov5_obb-master/train.py", line 373, in train compute_loss=compute_loss) File "D:\Anaconda\envs\dx\lib\site-packages\torch\autograd\grad_mode.py", line 27, in decorate_context return func(args, kwargs) File "E:\WYH\yolov5_obb-master\val.py", line 206, in run out = non_max_suppression_obb(out, conf_thres, iou_thres, labels=lb, multi_label=True, agnostic=single_cls) # list(n, [xylsθ, conf, cls]) θ ∈ [-pi/2, pi/2) File "E:\WYH\yolov5_obb-master\utils\general.py", line 853, in non_max_suppressionobb , i = obb_nms(rboxes, scores, iou_thres) File "E:\WYH\yolov5_obb-master\utils\nms_rotated\nms_rotated_wrapper.py", line 41, in obb_nms inds = nms_rotated_ext.nms_rotated(dets_th, scores, iou_thr) RuntimeError: Not compiled with GPU support 大佬,出现了这个问题,然后我看nms_rotated_wrappe中显示没有nms_rotated_ext,并且我在utils\nms_rotated中有nms_rotated_ext.cp37-win_amd64

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

UNeedCryDear commented 1 year ago

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

qqdalao commented 1 year ago

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

hecheng000 commented 1 year ago

运行看看是不是输出true,csdn上有

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2023年06月30日 21:54 | | 收件人 | @.> | | 抄送至 | @.>@.> | | 主题 | Re: [hukaixuan19970627/yolov5_obb] 【已解决】windows10 install utils.nms_rotated (Issue #224) |

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

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

qqdalao commented 1 year ago

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 commented 1 year ago

你这个应该没啥问题吧

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2023年06月30日 22:17 | | 收件人 | @.> | | 抄送至 | @.>@.> | | 主题 | Re: [hukaixuan19970627/yolov5_obb] 【已解决】windows10 install utils.nms_rotated (Issue #224) |

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 大佬,运行是这样

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

qqdalao commented 1 year ago

(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 commented 1 year ago

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 commented 1 year ago

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

hecheng000 commented 1 year ago

你解决了吗

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2023年06月30日 16:20 | | 收件人 | @.> | | 抄送至 | @.>@.> | | 主题 | Re: [hukaixuan19970627/yolov5_obb] 【已解决】windows10 install utils.nms_rotated (Issue #224) |

Traceback (most recent call last): File "E:/WYH/yolov5_obb-master/train.py", line 635, in main(opt) File "E:/WYH/yolov5_obb-master/train.py", line 530, in main train(opt.hyp, opt, device, callbacks) File "E:/WYH/yolov5_obb-master/train.py", line 373, in train compute_loss=compute_loss) File "D:\Anaconda\envs\dx\lib\site-packages\torch\autograd\grad_mode.py", line 27, in decorate_context return func(args, kwargs) File "E:\WYH\yolov5_obb-master\val.py", line 206, in run out = non_max_suppression_obb(out, conf_thres, iou_thres, labels=lb, multi_label=True, agnostic=single_cls) # list(n, [xylsθ, conf, cls]) θ ∈ [-pi/2, pi/2) File "E:\WYH\yolov5_obb-master\utils\general.py", line 853, in non_max_suppressionobb , i = obb_nms(rboxes, scores, iou_thres) File "E:\WYH\yolov5_obb-master\utils\nms_rotated\nms_rotated_wrapper.py", line 41, in obb_nms inds = nms_rotated_ext.nms_rotated(dets_th, scores, iou_thr) RuntimeError: Not compiled with GPU support 大佬,出现了这个问题,然后我看nms_rotated_wrappe中显示没有nms_rotated_ext,并且我在utils\nms_rotated中有nms_rotated_ext.cp37-win_amd64

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

YsanZyh commented 1 year ago

注意前提: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 commented 11 months ago

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

UNeedCryDear commented 11 months ago

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

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

image

Loading-xxx commented 11 months ago

@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 commented 11 months ago

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

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

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

Loading-xxx commented 11 months ago

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

image image

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

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

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

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

UNeedCryDear commented 11 months ago

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

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

Loading-xxx commented 11 months ago

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

UNeedCryDear commented 11 months ago

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

BuFanZHANG commented 10 months ago

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

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

Loading-xxx commented 10 months ago

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

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

image 我这样是可以的

BuFanZHANG commented 10 months ago

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

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

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

BuFanZHANG commented 10 months ago

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

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

image 我这样是可以的

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

YsanZyh commented 10 months ago

好的 如果是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 commented 10 months ago

请问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 commented 10 months ago

请问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 commented 10 months ago

@YsanZyh

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

注意前提: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 commented 10 months ago

求大佬解答,卡在编译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 commented 10 months ago

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