最近在复现一个图像分割的小项目,用PyTorch写的时候,训练到第3个epoch左右loss就突然变成NaN了,学习率已经调到1e-4还是这样。同样的数据和网络结构,我用TensorFlow(Keras)跑就完全正常,loss一直稳定下降。检查了输入数据没有脏数据,也试过加梯度裁剪,但还是会NaN。想问下大家,PyTorch和TensorFlow在默认的梯度计算或初始化上有什么容易踩的坑吗?比如BN层或者Adam的eps设置?还是说我的loss函数(Dice+BCE)在PyTorch里需要特殊处理?实在有点迷茫,求指点。