训练网络报错:RuntimeError: cuda runtime error (710) : device-side assert triggered at /pytorch/aten/src/THC/generic/THCTensorScatterGather.cu:380
terminate called after throwing an instance of 'c10::Error'
what(): CUDA error: device-side assert triggered (insert_events at /pytorch/c10/cuda/CUDACachingAllocator.cpp:569)
原因:标签(label)越界
方法:输入
CUDA_LAUNCH_BLOCKING=1 python train.py
会出现错误具体产生信息
/pytorch/aten/src/THC/THCTensorScatterGather.cu:188: void THCudaTensor_scatterFillKernel(TensorInfo<Real, IndexType>, TensorInfo<long, IndexType>, Real, int, IndexType) [with IndexType = unsigned int, Real = float, Dims = -1]: block: [72,0,0], thread: [32,0,0] Assertion `indexValue >= 0 && indexValue < tensor.sizes[dim]` failed.
可以看出是Assertion `indexValue >= 0 && indexValue < tensor.sizes[dim]这个断定错误,也就是说标签出现了小于0或者大于总数的情况,越界了。我调试后发现确实类别打标签时有个设定是大于预设的类别总数的,修改了此标签,问题解决。
报错
的原因是,在
pytorch
中做损失函数计算时,标签为(batch,height,width),如果类别为10类,那么其中的值应该 为 0~9,即:
0<= value<=C-1,其中C为通道数,或类别数
我的类别为10类,其中的值为1~10,所以只需要减1即可,如下所示。
c_loss = nn.CrossEntropyLoss()
labels_v = labels_v-1
loss0 = c_loss(d0, labels_v.long())
主要是因为你训练数
在github上看别人的代码,用别人的数据集跑通了,满心欢喜的换自己的数据集,修改了一番后,发现遇到了莫名其妙的错误,如下
Traceback (most recent
ca
ll last):
File "train_discriminator.py", line 167, in <module>
main()
File "train_discriminator.py...
已解决
Pytorch
GPU设备断言问题
Runtime
Error
:
CUDA
error
:
device
-s
ide
assert
trigger
ed
CUDA
kernel
error
s mi
最近在研究分类网络MSD-Net,打算跑cifar10和cifar100数据集来复现一下论文的研究结果。
GitHub:MSD-Net的
Pytorch
版
总体代码写完后,跑cifar10数据集非常完美,分类准确率比ResNet和DenseNet都有提升。但是跑cifar100数据集的时候就报了题目的错
C:/w/1/s/windows/
pytorch
/aten/src/THCUNN/ClassNLLCriterion.cu:106: block: [0,0,0], thread: [31,0,0] Asse
训练模型
报错
Runtime
Error
:
cuda
runtime
error
(710) :
device
-s
ide
assert
trigger
ed
at /
pytorch
/aten/src/THC/generic/THCTensorMath.cu:29
原因:标签(label)越界,一般从0开始
方法:更改你的标签值,从0开始
target_names = ['__label__1', '__label__2', '__label__3', '__label__4', '__label__
文章目录背景解决参考
博主在运行训练网络的程序时,出现
Runtime
Error
:
cuda
runtime
error
(710) :
device
-s
ide
assert
trigger
ed
at /py
分类的类别数设置错误
修改后,即可。
感谢大佬博主文章:传送门
Runtime
Error
:
CUDA
error
:
device
-s
ide
assert
trigger
ed
CUDA
kernel
error
s might be asynchronously report
ed
at some other API
ca
ll,so the stacktrace below might be incorrect.
For debugging cons
ide
r passing
CUDA
_LAUNCH_BLOCKING=1.
总是遇到如下的
报错
,之前一直也没有记录解决的过程,今天记录一下,避免以后再踩坑
pytorch
/aten/src/ATen/native/
cuda
/Loss.cu:106: operator(): block: [0,0,0], thread: [0,0,0]
Assert
ion `input_val >= zero && input_val <= one` fai
led
.
/
pytorch
/aten/src/ATen/native/
cuda
/Loss.cu:106: opera
======> Epoch 0 starting train.
Traceback (most recent
ca
ll last):
File "train_exbase.py", line 326, in <module>
main(args, logger)
File "train_exbase.py", line 217, in main
train(args, train_loader, model, criterion, optimizer, epoch,
Runtime
Error
:
CUDA
error
:
device
-s
ide
assert
trigger
ed
在
pytorch
训练的时候遇到这个错误,查询一下原因的确是标签越界,这里与Python起始是从0有关。需要对标签进行细心的处理才可以。但是这里要讲解的不是这个,而是我是在预测位置点何来的标签越界??
下面讲解这个错误处理办法:
Runtime
Error
:
CUDA
error
:
device
-s
ide
assert
trigger
ed
首先检查自己的标签是否从0开...
对于
pytorch
,在进行训练的时候,突然报了
Runtime
Error
:
CUDA
error
:
device
-s
ide
assert
trigger
ed
错误,根据网上的大部分解决方案,这个错误一般是出现在“数组越界”的情况,这里不是说具体的真的是数组越界,只是泛指这一类的,访问的地址超过了最长范围了。
但是为了确定具体的错误,仅仅靠上面那个错误提示是不够的,所以我们想要它显示具体的错误信息,这个时候想要判断出错的地方,我们需要在运行代码的时候,在命令前面加上
CUDA
_LAUNCH_BLOCKING
cuda
runtime
error
(59) :
device
-s
ide
assert
trigger
ed
at /
pytorch
/aten/src/THC/generat
ed
/../generic/T HCTensorMathPointwise.cu:265
解决方案:...
yolact
Runtime
Error
:
CUDA
error
:
device
-s
ide
assert
trigger
ed
是指在运行yolact模型时出现了
CUDA
错误,具体为设备端断言触发。根据引用[3]所述,这个错误通常是由于代码中出现了索引越界导致的。然而,定位到
报错
位置并不能直接找到错误的根本原因,也无法从
报错
信息中得知具体的解决方案。
为了解决这个问题,可以尝试使用CPU而非GPU运行代码。这样一来,就可以通过
报错
信息较容易地找到错误的位置和原因。在将代码切换回GPU运行之前,先解决错误,并确保代码不会出现索引越界的问题。
另外,根据引用的建议,还可以通过调整batch_size的大小来减少显存的使用量。此外,使用item()属性来获取torch变量的标量值也可以减少显存的占用。
综上所述,解决yolact
Runtime
Error
:
CUDA
error
:
device
-s
ide
assert
trigger
ed
的方法是:
1. 尝试使用CPU而非GPU运行代码,通过
报错
信息定位错误位置和原因,并解决索引越界问题。
2. 调整batch_size的大小以减少显存的使用量。
3. 使用item()属性来获取torch变量的标量值,减少显存的占用。
请根据具体情况尝试这些解决方法,以解决该错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [
Runtime
Error
:
CUDA
error
:
device
-s
ide
assert
trigger
ed
](https://blog.csdn.net/HPU_CPD/article/details/126592019)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_m
ed
ium":"distribute.pc_search_result.none-task-
ca
sk-2~all~insert_
ca
sk~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [
pytorch
模型提示超出内存
Runtime
Error
:
CUDA
out of memory.](https://download.csdn.net/download/weixin_38552305/14884908)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_m
ed
ium":"distribute.pc_search_result.none-task-
ca
sk-2~all~insert_
ca
sk~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [
Runtime
Error
:
CUDA
error
:
device
-s
ide
assert
trigger
ed
Pytorch
框架代码运行错误解决方案(亲测有效!...](https://blog.csdn.net/weixin_42112050/article/details/120455407)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_m
ed
ium":"distribute.pc_search_result.none-task-
ca
sk-2~all~insert_
ca
sk~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
pytorch报错:ValueError: num_samples should be a positive integer value, but got num_samples=0
35389