tenorflow-GPU не будет использовать графический процессор - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь заставить Keras CNN работать на GPU, но это не так, и я не могу понять, как.

Вывод из nvidia-smi:

Sat Jun 22 22:28:01 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.116                Driver Version: 390.116                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|   0  GeForce GT 755M     Off  | 00000000:01:00.0 N/A |                  N/A |
| N/A   79C    P0    N/A /  N/A |    179MiB /  1991MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GT 755M     Off  | 00000000:07:00.0 N/A |                  N/A |
| N/A   64C    P0    N/A /  N/A |      2MiB /  1999MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
|    1                    Not Supported                                       |
+-----------------------------------------------------------------------------+

Я использую этот скрипт, запускаемый с python3, чтобы увидеть устройства, на которых работает tf:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

Вывод из него я получаю:

2019-06-22 21:17:07.250488: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-06-22 21:17:07.269140: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcuda.so.1
2019-06-22 21:17:07.327260: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1005] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-06-22 21:17:07.328750: I tensorflow/compiler/xla/service/platform_util.cc:197] StreamExecutor cuda device (0) is of insufficient compute capability: 3.5 required, device is 3.0
2019-06-22 21:17:07.329374: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1005] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-06-22 21:17:07.330012: I tensorflow/compiler/xla/service/platform_util.cc:197] StreamExecutor cuda device (1) is of insufficient compute capability: 3.5 required, device is 3.0
2019-06-22 21:17:07.330278: F tensorflow/stream_executor/lib/statusor.cc:34] Attempting to fetch value instead of handling error Internal: no supported devices found for platform CUDA
Aborted (core dumped)

Исходя из этого, я понимаю, что не могу использовать правильную версию CUDA, поскольку мой GPU (GeForce 755M) имеет вычислительную способность 3.0, а поскольку требуется 3.5, где-то должна быть несовместимость. На веб-сайте NVIDIA я прочитал, что мне нужна CUDA 9.0 для совместимости с возможностью вычислений 3.0, но мой CUDA - 9.0. Выход nvcc -V:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

В чем здесь проблема, и как я могу ее решить, чтобы тензорный поток работал на GPU?

...