我只是研究訓練DNN的最佳精度。我知道,爲了推理,即使是壓縮的8位精度也應該可以工作。對於訓練,我們需要更高精度的數字。 深度學習(fp16,fp32或fp64)的最佳精度是多少? 我可能會爲此使用tensorflow-gpu。訓練典型深度神經網絡的最佳精度是多少?
0
A
回答
0
這取決於您對「最佳」的評估函數:您的焦點訓練時間(精度更低,速度更快),準確性(精度更低,精度更低)還是其他資源?這也取決於模型的複雜性和拓撲結構。
ConvNet(MNIST)在8位浮點數上會很好;訓練速度更快,並且準確度差異(如果有的話)將是微不足道的。如果你轉向更加相互依賴和脆弱的東西(可能是內核飢餓的GNN),那麼你會注意到丟失到8位的準確性會降低。
再次根據您的需要,您可以通過降低到8位浮點數來節省訓練時間,但是可以通過擴大模型(卷積層中的更多內核)少量來恢復一些丟失的精度。
2
在大多數情況下,最佳精度是float32。 float64會使gpu上的執行速度明顯變慢。另一方面,除非你有特斯拉p100 GPU,否則使用float16不會使執行速度更快。
相關問題
- 1. 我需要多少圖片來訓練深度神經網絡
- 2. 不能訓練深度自動編碼器神經元網絡
- 3. 訓練神經網絡
- 4. 訓練神經網絡的最佳方法是什麼?
- 5. Python:深度神經網絡
- 6. 神經網絡模型訓練錯誤
- 7. 使用Tensorflow的深度神經網絡精度低
- 8. 在tensorflow中訓練深度神經網絡時的納米損失教程
- 9. TensorFlow中的前訓練神經網絡
- 10. OCR的訓練前饋神經網絡
- 11. 保存訓練的神經網絡
- 12. 嘈雜的神經網絡訓練集
- 13. 神經網絡訓練中的MSE
- 14. Matlab:神經網絡訓練的問題
- 15. 神經網絡訓練標準:如何訓練多個類別(即形狀和顏色)沒有過度訓練
- 16. 神經網絡訓練平臺梯度下降
- 17. 爲什麼神經網絡因爲梯度而停止訓練?
- 18. 窗口的深度神經網絡
- 19. 神經網絡訓練即將停止
- 20. 何時停止訓練神經網絡?
- 21. 神經網絡訓練方法
- 22. 反向傳播訓練神經網絡
- 23. 神經網絡訓練連續值
- 24. 神經網絡訓練不夠好
- 25. 如何訓練OCR神經網絡?
- 26. 在matlab中訓練神經網絡
- 27. 人工神經網絡PSO訓練
- 28. 運行訓練卷積神經網絡
- 29. 在Ruby中訓練神經網絡
- 30. Encog神經網絡訓練java太慢
我大部分時間看到的是float32,不知道是否所有的操作都是用float64實現的但是 –
這個問題比如https://github.com/tensorflow/tensorflow/issues/13097 –