自從幾天以來我就面臨這個問題。我不知道我犯了什麼錯誤。我的代碼是冗長的,無法生育這裏的一切用tensorflow訓練神經網絡後產生Nans
下面是結果在第一種情況:
Accuracy: 0.1071 Error: 1.45003
Accuracy: 0.5149 Error: 0.259084
Accuracy: 0.7199 Error: 0.197301
Accuracy: 0.7934 Error: 0.138881
Accuracy: 0.8137 Error: 0.136115
Accuracy: 0.8501 Error: 0.15382
Accuracy: 0.8642 Error: 0.100813
Accuracy: 0.8761 Error: 0.0882854
Accuracy: 0.882 Error: 0.0874575
Accuracy: 0.8861 Error: 0.0629579
Accuracy: 0.8912 Error: 0.101606
Accuracy: 0.8939 Error: 0.0744626
Accuracy: 0.8975 Error: 0.0775732
Accuracy: 0.8957 Error: 0.0909776
Accuracy: 0.9002 Error: 0.0799101
Accuracy: 0.9034 Error: 0.0621196
Accuracy: 0.9004 Error: 0.0752576
Accuracy: 0.9068 Error: 0.0531508
Accuracy: 0.905 Error: 0.0699344
Accuracy: 0.8941 Error: nan
Accuracy: 0.893 Error: nan
Accuracy: 0.893 Error: nan
我曾嘗試過各種東西,但未能找出在我犯了一個錯誤。
1)更改交叉熵的計算,以不同的東西
self._error = -tf.reduce_sum(y*pred+ 1e-9))
self._error = -tf.reduce_sum(y*pred)
self._error = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=pred, labels=y))
self._error = tf.reduce_mean(-tf.reduce_sum(y * tf.log(pred+1e-8),reduction_indices=1))
out = tf.nn.softmax_cross_entropy_with_logits(logits = pred, labels=y)
self._error= tf.reduce_mean(out)
我已經嘗試了所有的優化 - SGD - 亞當 - adagrad - rmsprop
我都用了默認提供的優化通過張量流動並手動應用不同的參數。
我試圖1.0和0.0
重量::指向我已經即使學習速率小到0.00001
偏置檢查
與tf.truncated_normal_initializer(STDDEV = 0.1初始化, D型= tf.float32)
網絡:
FC784 - FC256 - FC128 - FC10
我也嘗試過不同的變體。
激活函數:
- RELU - 雙曲正切 - 漏RELU tf.maximum(輸入,0.1 *輸入)
數據:
MNIST數據集通過用255除以歸一化數據集來自Keras。
我知道這個問題是在各種各樣的stackoverflow問題,我已經嘗試了所有的方法建議der和我的知識,他們都沒有幫助過我。
由於某種原因,有時設備會給出「無」的答案,這很正常,但如何處理? NAN等於「尚未準備好」,「資源繁忙」,「值溢出」等。所有的資源訪問都得到了'延遲',例如:你在計算機上得到延遲'1/CPU_CLOCK'。檢查您的設備功能... ** 0/None = NAN ** – dsgdfg
我已經在3-4個系統中運行代碼。我用過cpu和gpu,情況也是一樣。 –