神经网络模型中遇到Segementation falut的解决办法

最近在跑深度学习网络模型的过程中经常会遇到Segementation fault的问题。也尝试了很多解决办法,说一下我认为是有效的两种方法。

方法一:将torch torchvision torchaudio重装,直接在pytorch官网可以获取安装命令,重装完之后遇到Segementation Fault的频率少了一点,但是还是有时候会遇见这样的问题,于是我又发现了方法二。

方法二:主要是我在复现BSPNet的过程中遇到的,在跑模型的过程中。encoder中的最后一个Conv3d总是出现问题,当利用gpu跑的时候就会出现Segementation问题,用cpu的话倒是不会出现这样的问题。

(不用gpu跑模型也是一个解决方法,但是毕竟很多模型为了速度还是要利用cuda的)。

这时可以将该层的输入和网络参数记录下来,之后重启kernel,然后在命令行构造同样大小输入和网络层,然后将输入传递给网络层(记得模型和数据都要放到cuda上),第一次运行的时候会卡一会,但是之后就会不那么卡,这时再跑模型就不会遇见Segementation fault的问题了。

具体原理我也搞不懂,希望有高人可以在评论区解释一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值