2017-05-07 188 views
0

我有一個新的安裝Windows 10和安裝tensorflow-gpu(我想我應該做成功),因爲我運行示例代碼,我看到gpu0使用如下:tensorflow-gpu安裝但不用於計算

>>> import tensorflow as tf 
>>> # Creates a graph. 
... 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) 
>>> # Creates a session with log_device_placement set to True. 
... sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) 
2017-05-08 02:10:35.354149: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations. 
2017-05-08 02:10:35.354283: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE2 instructions, but these are available on your machine and could speed up CPU computations. 
2017-05-08 02:10:35.355376: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations. 
2017-05-08 02:10:35.355835: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations. 
2017-05-08 02:10:35.356245: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations. 
2017-05-08 02:10:35.356629: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations. 
2017-05-08 02:10:35.356977: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations. 
2017-05-08 02:10:35.357376: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations. 
2017-05-08 02:10:35.765058: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:887] Found device 0 with properties: 
name: GeForce GTX 1080 Ti 
major: 6 minor: 1 memoryClockRate (GHz) 1.607 
pciBusID 0000:01:00.0 
Total memory: 11.00GiB 
Free memory: 9.12GiB 
2017-05-08 02:10:35.765151: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:908] DMA: 0 
2017-05-08 02:10:35.765851: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:918] 0: Y 
2017-05-08 02:10:35.780335: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:977] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0) 
Device mapping: 
/job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0 
2017-05-08 02:10:36.157808: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\direct_session.cc:257] Device mapping: 
/job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0 

>>> # Runs the op. 
... print(sess.run(c)) 
MatMul: (MatMul): /job:localhost/replica:0/task:0/gpu:0 
2017-05-08 02:10:46.297244: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\simple_placer.cc:841] MatMul: (MatMul)/job:localhost/replica:0/task:0/gpu:0 
b: (Const): /job:localhost/replica:0/task:0/gpu:0 
2017-05-08 02:10:46.299024: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\simple_placer.cc:841] b: (Const)/job:localhost/replica:0/task:0/gpu:0 
a: (Const): /job:localhost/replica:0/task:0/gpu:0 
2017-05-08 02:10:46.302386: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\simple_placer.cc:841] a: (Const)/job:localhost/replica:0/task:0/gpu:0 
[[ 22. 28.] 
[ 49. 64.]] 

但是當我運行的深學習的代碼,全部用於GPU的內存,但GPU的負載幾乎爲0的CPU裝在20%左右(之前安裝tensorflow-GPU中, CPU加載是100%),學習的時間比使用CPU快一點。

可能是什麼原因?請給我一些進步,非常感謝你

回答

1

該行gpu:0 - >設備:0,名稱:GeForce GTX 1080 Ti,pci總線ID:0000:01:00.0 表明計算正在完成gpu。 用途不是太高的原因可能是因爲相對於GPU的能力沒有太多的處理。

+0

但計算時間大於2000秒,所以我認爲它應該有很多數據/進程的GPU運行? –

+0

我假設你的意思是2000毫秒/ 2秒。原因是數據正在從CPU轉移到GPU,然後在GPU計算結果後,它被髮送回CPU。爲了從GPU中看到更多的好處,我建議使用更大的數據集並比較CPU和GPU的速度/負載。 –

+0

@ Sohaib-Arift,感謝您的幫助,我只是一個初學者,我面臨的問題可能是非常基礎的。我真的意味着2000秒,GPU負載只是<5%。在改變「steps_per_epoch」的某些設置之後,GPU加載大約爲70%,速度要快得多,但仍需要大於200秒才能完成訓練。有什麼方法可以知道我的cuDnn庫安裝正確嗎? (除了沒有錯誤地運行一切) –

相關問題