Tensorflow 2.0rc未检测到GPU

2024-06-23 03:21:15 发布

您现在位置:Python中文网/ 问答频道 /正文

TF2当前未检测到GPU,我从TF1.14迁移,其中使用

tf.keras.utils.multi_gpu_model(model=model, gpus=2)

正在返回错误

^{pr2}$

运行nvidia-smi返回以下信息

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67       Driver Version: 418.67       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla K80           Off  | 00000000:09:00.0 Off |                    0 |
| N/A   46C    P0    62W / 149W |      0MiB / 11441MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla K80           Off  | 00000000:0A:00.0 Off |                    0 |
| N/A   36C    P0    71W / 149W |      0MiB / 11441MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   2  Tesla K80           Off  | 00000000:86:00.0 Off |                    0 |
| N/A   38C    P0    58W / 149W |      0MiB / 11441MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   3  Tesla K80           Off  | 00000000:87:00.0 Off |                    0 |
| N/A   31C    P0    82W / 149W |      0MiB / 11441MiB |     73%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

也是我的TF版本,是为cuda构建的

2.0.0-rc0

请让我知道我做错了什么,这样我就能修好它。在


Tags: defaultmodelgpuversiontfusageutilsmulti
2条回答

CUDA应该是10.0版本,而不是10.1版本

我建议你-

  1. 请先检查你的Cuda版本。确保它是10.0。

  2. 如果是10.0,那么检查你的TF版本是否是GPU版本。

  3. 检查TF是否可以使用命令访问gpu

value = tf.test.is_gpu_available(
    cuda_only=False,
    min_cuda_compute_capability=None
)
print ('***If TF can access GPU: ***\n\n',value) # MUST RETURN True IF IT CAN!!
  1. 我想前2点你已经处理好了。如果TF也可以访问您的gpu,那么正如您在Value error中所看到的,它实际上有gpu的名称。我不能说tf.keras.utils.multi_gpu_model()函数,因为我没有在TF中使用它。但我建议您使用with tf.device('/gpu:0'):。在这里面你可以调用你的model或者定义模型。在
  2. 如果第4点也不起作用,那么只需添加以下行
^{pr2}$

并删除with tf.device('/gpu:0')

相关问题 更多 >

    热门问题