paddle-gpu: 1.8.4.post107
paddle: 1.8.1
服务器信息:nvidia-smi
部分代码:
use_cuda = True
place = fluid.CUDAPlace(0) if use_cuda else fluid.CPUPlace()
exe = fluid.Executor(place)
start_program = fluid.default_startup_program()
exe.run(start_program) # 一定要在 exe.run(start_program) 之后才能执行load_persistables加载保存的数据
报错内容:
报错段代码:
4条答案
按热度按时间pw136qt21#
您好,麻烦提供下完整复现代码,我们这边复现定位下问题,谢谢
b0zn9rqh2#
不好意思,完整的代码比较复杂。我罗列一下出问题的地方吧。
我通过查找,发现上面的问题与 opt.minimize(self.loss) 这段代码有关。我通过修改self.loss,程序会有所变化。
第一种情况:
self.loss = self.center_loss + self.iou_loss + self.cls_loss + 0.1 * self.l1loss
在CPU下,整个程序能运行。在GPU下就报上面的错。
第二种情况
self.loss = self.iou_loss + self.cls_loss + 0.1 * self.l1loss
在GPU下能运行
第三种情况
self.loss = self.center_loss + self.cls_loss
在GPU下能运行
第四种情况
self.loss = self.center_loss + self.iou_loss
在GPU下报上面的错误
第五种情况
self.loss = self.center_loss + 0.1 * self.l1loss
在GPU下报上面的错误
第六种情况
self.loss = self.center_loss + self.l1loss
在GPU下报上面的错误
所有loss的shape 都是(1,)的tensor,dtype=float32
vohkndzv3#
@shaofeifei11 你好,实现这个功能有参考哪部分代码吗?
每个loss函数都是没问题的,可以排查下计算loss的方式,centor_loss和l1 loss 是不是有冲突的地方
agxfikkp4#
损失函数
上面是我的损失函数代码,我通过修改 center_loss 中的 self.center_ness 就能够控制是否会报 cast raises an exception thrust::system::system_error, parallel_for failed: invalid configuration argument 这个错误。
下面代码GPU运行报错,错误就是该issue最上面的错误
下面代码GPU运行不报错
请问,我该从哪个方向入手去解决这个 self.center_ness 所引发的 cast raises an exception thrust::system::system_error, parallel_for failed: invalid configuration argument 问题呢?