CV-ZhangXin / LDConv

75 stars 2 forks source link

/pytorch/aten/src/ATen/native/cuda/ScatterGatherKernel.cu:115: operator(): block: [1169,0,0], thread: [58,0,0] Assertion `idx_dim >= 0 && idx_dim < index_size && "index out of bounds"` failed. #10

Open gitdog-0110 opened 2 months ago

gitdog-0110 commented 2 months ago

您好,使用yolov8的这个模块,为什么在window和linux下不一样,本地window运行起来之后,放到服务器(linux)上去跑,会出错。 错误如下:

Validating runs/detect/train91/weights/best.pt... Ultralytics YOLOv8.1.9 🚀 Python-3.8.19 torch-1.8.0+cu111 CUDA:0 (NVIDIA A40, 45634MiB) YOLOv8-smb summary (fused): 192 layers, 2861633 parameters, 0 gradients /pytorch/aten/src/ATen/native/cuda/ScatterGatherKernel.cu:115: operator(): block: [1169,0,0], thread: [58,0,0] Assertion idx_dim >= 0 && idx_dim < index_size && "index out of bounds" failed. /pytorch/aten/src/ATen/native/cuda/ScatterGatherKernel.cu:115: operator(): block: [1169,0,0], thread: [59,0,0] Assertion idx_dim >= 0 && idx_dim < index_size && "index out of bounds" failed. ...... RuntimeError: CUDA error: device-side assert triggered

debug了一下,是在模型中间某一层的AKConv,代码是这一行出现的错误,x_offset = x.gather(dim=-1, index=index).contiguous().view(b, c, h, w, N)

所用的环境 linux :CUDA Version: 11.4 python=3.8 torch=1.8.0+cu111 CUDA Version: 12.3 window:CUDA Version: 12.3 python=3.8 torch=1.8.0+cu111 CUDA Version: 11.4 请问这是什么原因啊,期待回复

CV-ZhangXin commented 2 months ago

@gitdog-0110 尽量保持在同一台设备上训练和验证吧,两个平台之间有兼容性问题。我以前用过Linux跑,权重拿到过Window上进行验证,没得问题。你把index这个参数去掉呢?

gitdog-0110 commented 2 months ago

@gitdog-0110 尽量保持在同一台设备上训练和验证吧,两个平台之间有兼容性问题。我以前用过Linux跑,权重拿到过Window上进行验证,没得问题。你把index这个参数去掉呢?

您好,在同一个平台上训练和验证的,最初是在linux上跑的,但是有错误,所以我用自己电脑试了一下,没什么问题,就想问一下您有没有遇到过类似的问题,index并不是我的参数,应该是cuda中报错的提示

gitdog-0110 commented 2 months ago

@gitdog-0110 尽量保持在同一台设备上训练和验证吧,两个平台之间有兼容性问题。我以前用过Linux跑,权重拿到过Window上进行验证,没得问题。你把index这个参数去掉呢?

你好,请问你的设备比如CUDA Version和环境 torch、python是什么呀?yolov8对CUDA Version版本有很高的要求吗