Python配置TensorFlow-GPU環境(筆記II)-2019.03.04

       由於之前電腦問題導致系統重裝,需要重新安裝了GPU版的TensorFlow來跑人臉識別的代碼,發現安裝過程中與上一次筆記的不同了(有了新的版本匹配),這次是新的配置說明。

系統:Windows10

GPU:NVIDIA GeForce GTX 1050 Ti

Python:Anaconda3-5.0.0-Windows-x86_64,在win上安裝py3.6版本。

TensorFlow:tensorflow_gpu-1.13.1

CUDA:CUDA10.0

cudnn:https://developer.nvidia.com/rdp/cudnn-download(需要註冊)

這次安裝主要遇到一個問題,用簡單的代碼進行測試:

       安裝完成之後,導入TensorFlow庫沒有問題,但是調用GPU設備時就報錯提示找不到設備。

運行錯誤:InvalidArgumentError (see above for traceback): Cannot assign a device for operation add: Operation was explicitly assigned to /device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/device:CPU:0 ]. Make sure the device specification refers to a valid device.
     [[node add (defined at <ipython-input-3-3158f2cabb05>:6)  = Add[T=DT_FLOAT, _device="/device:GPU:0"](a, b)]]

百度翻譯:InvalidArgumentError(有關回溯,請參閱上面的內容):無法爲操作分配設備add:操作已顯式分配給/device:gpu:0,但可用設備是[/job:localhost/replica:0/task:0/device:cpu:0]。確保設備規格引用了有效的設備。

[節點添加(定義於<ipython-input-3-3158f2cabb05>:6)=add[t=dt_float,_device=“/device:gpu:0”](a,b)]

       後來使用了幾種方式,問題終於解決了。

  1. 把代碼中的“with tf.device('/gpu:0'):”改爲了“with tf.device(None):”。
  2. tf.Session中config = tf.ConfigProto(allow_soft_placement=True) ,allow_soft_placement爲True時當GPU調用不了時會默認選擇CPU調用,而爲False時爲選擇調用GPU。
  3.  檢查安裝Cuda 和 cuDNN安裝是否有問題,若沒問題,卸載tensorflow(CPU與GPU版),再次重裝了tensorflow-gpu。
  4. 檢查GPU是否有開啓。 


 

文章未經博主同意,禁止轉載!


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章