簡體   English   中英

內部錯誤:cudaGetDevice() 失敗。 狀態:運行時初始化錯誤 tensorflow

[英]InternalError: cudaGetDevice() failed. Status: initialization error when running tensorflow

我最近買了一台新的 Windows 計算機,它配備了 GPU (NVIDIA Quadpro P4200) 用於工作。 我希望運行一些舊代碼,但現在利用 GPU。我正在嘗試使用 Tensorflow 運行 LSTM model 進行文本分類。讓我提前為可能太多的信息道歉,我只是在迷路了,不知道問題出在哪里。 另外,誠然,我對這方面的一些更技術性的方面知之甚少。

我目前有以下版本:

\# Name                    Version                   Build  Channel  
tensorflow                2.6.0           gpu_py39he88c5ba_0  
tensorflow-base           2.6.0           gpu_py39hb3da07e_0  
tensorflow-estimator      2.6.0              pyh7b7c402_0  
tensorflow-gpu            2.6.0                h17022bd_0  

cudatoolkit               11.3.1               h59b6b97_2

cudnn                     8.2.1                cuda11.3_0

另外,當我運行 nvidia-smi 時,我得到:

+-----------------------------------------------------------------------------+  
| NVIDIA-SMI 419.17       Driver Version: 419.17       CUDA Version: 10.1     |  
|-------------------------------+----------------------+----------------------+  
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |  
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |  
|===============================+======================+======================|  
|   0  Quadro P4200       WDDM  | 00000000:01:00.0 Off |                  N/A |  
| N/A   51C    P8     8W /  N/A |    111MiB /  8192MiB |      0%      Default |  
+-------------------------------+----------------------+----------------------+  

當我運行 nvcc --version 時,我得到:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Nov_18_09:52:33_Pacific_Standard_Time_2021
Cuda compilation tools, release 11.5, V11.5.119
Build cuda_11.5.r11.5/compiler.30672275_0

當我查看 Windows 設備管理器並查看驅動程序時,它會列出版本:25.21.14.1917

當我運行我的代碼時,出現以下錯誤:

InternalError: cudaGetDevice() failed. Status: initialization error

我用谷歌搜索了解決方案,發現有幾個建議我使用不同版本的 cudatoolkit、cudnn 和 tensorflow。我嘗試了幾個選項,包括恢復到 cudatoolkit 10.1 和 cudnn 7.6.5,這需要使用舊版本的 tensorflow 和 python 3.8 (以上是使用 3.9)。 當我進行這些更改時,tensorflow 似乎根本沒有檢測到我的 GPU。

我想我會要求我們的 IT 部門從這里更新我的 GPU 驅動程序,但是我有點擔心這可能無法解決我的問題(並可能使問題變得更糟?)。

更新

我得到了一切工作。 我想將其保留在這里以防其他人遇到類似問題會很有用。

所以,問題確實是我需要使用舊版本的 cudatoolkit。 我所做的是安裝 cudatoolkit 10.1。 但是在安裝tensorflow-gpu 2.3的時候需要使用pip install而不是conda install。 不知道為什么。

因此,簡而言之,為了讓舊版本的 tensorflow 識別我的 GPU,我需要使用 pip 安裝所有軟件包(盡管我確實使用 conda 安裝了 cudatoolkit 和 cudnn……所有其他軟件包似乎都需要 pip)。

在這里重復上面的答案:

我得到了一切工作。 我想將其保留在這里以防其他人遇到類似問題會很有用。

所以,問題確實是我需要使用舊版本的 cudatoolkit。 我所做的是安裝 cudatoolkit 10.1。 但是在安裝tensorflow-gpu 2.3的時候需要使用pip install而不是conda install。 不知道為什么。

因此,簡而言之,為了讓舊版本的 tensorflow 識別我的 GPU,我需要使用 pip 安裝所有軟件包(盡管我確實使用 conda 安裝了 cudatoolkit 和 cudnn……所有其他軟件包似乎都需要 pip)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM