在训练过程中使用tf.nn.softmax_cross_entropy_with_logits时,结果经常给出nan或异常大的交叉熵值。
(Windows 7 64 位 Python 3.6 (Anaconda 4.4.0) Tensorflow 1.4 NVIDIA Titan X Pascal CUDA 8.0 CUDNN 6.0。)
Epoch00 交叉熵:1.288 L2_loss:1247.340 成本:32.489
Epoch01 交叉熵:0.936 L2_loss:1019.474 成本:23.868
Epoch02 交叉熵:0.550 L2_loss:880.814 成本:14.669
Epoch03 交叉熵:0.331 L2_loss:796.639 成本:9.435
Epoch04 CrossEntropy: nan L2_loss: nan 成本: nan
Epoch05 CrossEntropy: nan L2_loss: nan 成本: nan
但这不会发生在另一台计算机上。完全相同的代码,相同的数据。
(Windows 7 64 位 Python 3.6(Anaconda 4.4.0)Tensorflow 1.3 NVIDIA GeForce GTX TITAN X CUDA 8.0 CUDNN 7.0)
Epoch00 交叉熵:1.277 L2_loss:1247.637 成本:32.244
Epoch01 交叉熵:0.938 L2_loss:1018.631 成本:23.917
Epoch02 交叉熵:0.575 L2_loss:878.269 成本:15.250
Epoch03 交叉熵:0.345 L2_loss:795.507 成本:9.766
Epoch04 交叉熵:0.240 L2_loss:741.619 成本:7.226
Epoch05 交叉熵:0.193 L2_loss:704.291 成本:6.051
我也在 Linux Envinronment 中尝试过,但结果会给出 nan 或 big 交叉熵值。有人对这个问题有任何想法吗?