Tensorflow學習筆記6:解決tensorflow訓練過程中GPU未調用問題


1、發現問題
目前模型訓練一次需要11秒左右,懷疑GPU沒有成功調用

查看GPU是否成功調用,nvidia-smi,nvidia-smi 命令解讀

發現沒有相關GPU的進程在跑,GPU沒有被調用,什么問題?需要去查找下原因,首先想到的是我們的tensorflow版本是否是GPU版本的。
 
2、查看tensorflow版本

顯示默認調用的是CPU,然后tensorflow版本為1.7.0,在查閱的時候發現調用GPU還和cuda 和 cudnn有關

先來查看下我們的cuda版本

版本為8.0,看看是否和我們的tensorflow版本有沖突,參考:TensorFlow GPU 版本總結

顯示1.5版本以上,需cuda 9.0版本,而我們的tensorflow版本為1.7,理論上是需要cuda 9.0以上的版本,現在有兩個思路:
1、升級cuda版本;
2、降級tensorflow版本。
網上初略查了下,升級cuda可能遇到的問題會比較多,下面我們采用第2種思路
 
3、降級tensorflow版本到1.4
pip install tensorflow-gpu==1.4.0
 
測試跑的是GPU還是CPU
import numpy
import tensorflow as tf
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))
之后就會出現詳細的信息:

然后設置train.py里面的文件,不同模塊找不同模塊的train.py文件,在object_detection模塊修改一下內容:

修改為False即可,在運行模塊,可以發現速度快了很多

服務器終端輸入:nvidia-smi,發現已經有相關GPU的進程在跑

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM