首页 > 编程知识 正文

run-time error 713(cuda运行不稳定)

时间:2023-05-06 01:38:45 阅读:65054 作者:17

项目场景:定义python语言、GPU环境、神经网络后初始化神经网络,训练模型前出现cat数据、异常: runtime error 3360 cuda runtime error

问题说明:在虚拟试穿项目中,这里外层型号名称: Pix2PixHDModel,嵌套型号: G1、G2、u盘、G3。 因此,在最外层模型Pix2PixHDModel的前向函数中,在处理前向传播的过程中,基于嵌套模型或第一个输入数据,生成G1 _ in=torch.cat (pre _ clothes _ mask

运行时错误3360 cuda运行时错误(77 ) : anillegalmemoryaccesswasencounteredatxxxx 3360运行时错误(77 )或更低

原因分析和解决方案:1)问题分析1 )输入cat并连接的每个对象的形状可能不匹配。

解决方案:检查每个对象的shape。 print(248,pre_clothes_mask.shape,clothes.shape,all_clothes_label.shape,pose.shape 256,192 ) ) TT

2 )问题分析2 )拼接的各个对象可能不再存在于同一类型的设备中。 例如,某些数据存在于cpu存储器中,而某些数据存在于gpu的存储器中。

解决方法:查看各对象设备: print(248,pre_clothes_mask.device,clothes.device,all_clothes_label.device,pose.device ) 消除问题2。

3 )问题分析3 )可能拼接的各对象的数据类型不一致。

解决方案:检查每个对象的数据的数据类型。 print(248,pre_clothes_mask.type )、clothes.type )、all_clothes_label.type、poope打印: 248 torch

4 )问题分析4 )基于前面三个问题排除时,在拼接的各对象中,有对象的数据要素也可能出现不正确的值。

解决方案:组织目标数据元素,查看是否存在错误的元素。

首先检查数据集的准确性,人体解析标签label、人物模型image、关键热图pose、裤子color、该裤子的轮廓数据edge可以正常显示并输入。

显示正常且无错误表示数据集没有问题。

在将数据输入模型之前的预处理中,检查预处理后的值是否正常合法。

如果都没有问题的话,就有可能无法进行误报时的正确对位。 在运行之前:添加CUDA_LAUNCH_BLOCKING=1,以确保正确识别cuda运行错误。 然后,再次进行故障诊断,确定正确的位置。 masked _ label=masked _ label.scatter _ (1,) label_map*(1-clothes_mask ) ).data.long .

关于scatter_,请参考此blog。

5 )以上没有调查你代码的具体问题,或者没有解决问题。 只能试着换成高版本的框架。

找出错误的可能性,在问题分析1、2、3、4、5中找出问题的原因,应对解决方法,修正错误。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。