PyTorch错误定位系列之CUDA error: device-side assert triggered

PyTorch错误定位系列之CUDA error: device-side assert triggered

Introduction

本栏目只是提供一些自己遇到的错误的解决思路。

Background

我昨天写了个模型加了focal loss可以训练,今天换了一批数据,尼玛第二个epoch就报了上面标题这个错误。

Solution

经过本人,本菜鸡的大量调研(google),发现该错误可以总结为tensor溢出了或者下溢了。

所以按着这个思路,我就尝试把我加的focal loss给去掉了,换成了正常的nn.CrossEntropyLoss 就尼玛能正常了。

因此,我猜测这回真的遇到了数值溢出。因为在我抄过来的focal loss中有一个torch.exp的操作,由于写得时间过早(2周前),我想不起来是原作者就这样还是我改的有问题。 最终,我就的方法就是用nn.CrossEntropyLoss,嘿嘿嘿。

开玩笑哈,知道问题,我们就知道往哪里改了。

改,我肯定要改的!!

Reference

  1. CUDA error: device-side assert triggered解决方案
  2. PyTorch 错误 RuntimeError: CUDA error: device-side assert triggered

你可能感兴趣的:(PyTorch,深度学习框架,pytorch,深度学习,python)