最近在复现一个图像分割的模型,用PyTorch写的时候训练到第3个epoch左右loss就突然变成NaN了,学习率已经调到1e-4还是这样。同样的网络结构和数据,我用TensorFlow+Keras写了一遍,训练就很稳定。检查了输入数据没有NaN,也试过加梯度裁剪,但还是会炸。想问下大家,PyTorch和TensorFlow在数值稳定性上有什么容易踩的坑吗?比如默认的初始化方式、loss计算方式这些,是不是有什么细节我没注意到?实在有点迷茫,求指点。
最近在复现一个图像分割的模型,用PyTorch写的时候训练到第3个epoch左右loss就突然变成NaN了,学习率已经调到1e-4还是这样。同样的网络结构和数据,我用TensorFlow+Keras写了一遍,训练就很稳定。检查了输入数据没有NaN,也试过加梯度裁剪,但还是会炸。想问下大家,PyTorch和TensorFlow在数值稳定性上有什么容易踩的坑吗?比如默认的初始化方式、loss计算方式这些,是不是有什么细节我没注意到?实在有点迷茫,求指点。
暂无回复,快来抢沙发吧