我正在使用Nvidia Digits Box與GPU(Nvidia GeForce GTX Titan X)和Tensorflow 0.6來訓練神經網絡,並且一切正常。但是,當我使用nvidia-smi -l 1
檢查Volatile GPU Util
時,我注意到它只有6%,我認爲大部分計算都在CPU上,因爲我注意到運行Tensorflow的進程佔用了大約90%的CPU使用量。結果是培訓過程非常緩慢。我想知道是否有辦法充分利用GPU而不是CPU來加速培訓過程。謝謝!Tensorflow 0.6 GPU Issue
0
A
回答
3
我懷疑你的某處存在瓶頸(就像這個github issue) - 你有一些沒有GPU實現的操作,所以它被放在CPU上,並且GPU由於數據傳輸而空閒。例如,直到最近reduce_mean
沒有在GPU上實現,並且在此之前Rank
沒有在GPU上實現,並且它被許多操作符隱式地使用。
有一次,我看到一個網絡從fully_connected_preloaded.py緩慢,因爲有一個Rank
操作系統放在CPU上,因此在每一步都會觸發從GPU到CPU的整個數據集的傳輸。
爲了解決這個問題,我首先建議升級到0.8,因爲它有更多的GPU用於整數輸入(reduce_prod
用於整數輸入,reduce_mean
等)。
然後,您可以使用log_device_placement=True
創建您的會話,並查看是否有任何操作放在CPU或GPU上,導致每步的傳輸過多。
經常有在不具備GPU實現輸入管道(如parse_example
)OPS,我發現它的幫助有時使用with tf.device("/cpu:0"):
塊
相關問題
- 1. Tensorflow contrib.learn.Estimator multi-GPU
- 2. TensorFlow Data Starved GPU
- 3. Tensorflow不使用GPU
- 4. TensorFlow GPU,CUDA_ERROR_LAUNCH_FAILED on tf.one_hot()
- 5. tensorflow多GPU訓練
- 6. Tensorflow:在GPU和CPU
- 7. GPU上的Tensorflow OOM
- 8. Tensorflow-GPU錯誤 - Pycharm
- 9. Tensorflow GPU OOM錯誤
- 10. GPU + CPU Tensorflow訓練
- 11. Tensorflow GPU /多GPU如何分配內存?
- 12. TensorFlow從多個GPU選擇GPU使用
- 13. 防止TensorFlow訪問GPU?
- 14. TensorFlow GPU時代優化?
- 15. TensorFlow-Slim多GPU訓練
- 16. GPU tensorflow運行問題
- 17. TensorFlow:多GPU配置(性能)
- 18. GPU tensorflow安裝問題
- 19. Tensorflow-GPU無法導入
- 20. tensorflow的Mac OS GPU支持
- 21. Tensorflow多GPU性能不好
- 22. ram not tensorflow檢測gpu
- 23. tensorflow-gpu通過pip超時
- 24. TensorFlow只適用於GPU 0
- 25. TensorFlow GPU CUDA CUDDN錯誤
- 26. TensorFlow似乎不使用GPU
- 27. TensorFlow GPU支持Mac - OpenCL的
- 28. Tensorflow不想使用GPU
- 29. Tensorflow與GPU和CUDA v5.5
- 30. tensorflow多GPU共享變量
感謝你的偉大的答案引腳整個輸入管道CPU!在完成一些分析工作後,我注意到'tensor.eval(session = ...,feed_dict = ...)'花費的時間太長,並且隨着代碼運行時間的增加,時間消耗也會增加。 (順便說一下,我使用的是Tensorflow 0.6,我試圖將它升級到0.8,但是我遇到了問題 - 我想這可能是Tensorflow 0.8的bug: http://stackoverflow.com/questions/36877559/tensorflow-0-8-import-and-export-output-tensors-problems。我還想知道如果我仍然繼續使用,我是否可以改進'tensor.eval()'的使用0.6) –