当前位置:   article > 正文

RuntimeError错误的几个可能原因记录和解决方法_runtimeerror: [enforce fail at c:\actions-runner\_

runtimeerror: [enforce fail at c:\actions-runner\_work\pytorch\pytorch\build

在训练时,常遇到RuntimeError错误,提示Memory或者RAM不足,甚至受到buy an new RAM的嘲笑!记录一下所遭遇的报错的原因和解决办法,希望对大家有所帮助,也欢迎大家在评论区补充和纠正。

 

【Q】DataLoader 函数num_workers 设置过大,线程过多,过多占用Cpu,导致报错memory不足。

【A】改小num_workers 即可, 参考值4 ,8 。

 

【Q】DataLoader 函数batch_size设置过大,过多占用Gpu,导致爆显存。

【A】改小batch_size即可, 参考值1,4 ,8 ,16。

 

【Q】运行时间过长,缓存过多导致内存或者显存溢出。

【A】清除缓存,事实上在pytorch机制中是会自动清除缓存的,但是人工清除有时也有用,代码如下:

  1. try:
  2. main() # the code may result error
  3. except RuntimeError as exception:
  4. if "memory" in str(exception):
  5. print("WARNING: out of memory")
  6. if hasattr(torch.cuda, 'empty_cache'):
  7. torch.cuda.empty_cache()
  8. else:
  9. raise exception

 

【Q】网络结构设计不合理,或者部分网络参数过大,计算量过大。

【A】查看是不是代码实现网络时候出现纰漏,本人就在设计池化层时,将加法写成了乘法,导致参数陡增,训练时爆显存。可以适当修改网络结构,减少参数,训练速度也会快些。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/546005
推荐阅读
相关标签
  

闽ICP备14008679号