Довольно понятно. Как и бесчисленное множество людей до и, вероятно, после меня, у меня появляется сообщение об ошибке Blas GEMM launch failed
при попытке вызвать model.fit()
.
Это вывод nvidia-smi
до вызова model.compile()
:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.50 Driver Version: 430.50 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:00:1E.0 Off | 0 |
| N/A 45C P0 74W / 149W | 0MiB / 11441MiB | 100% Default | <<<--- 0% Memory usage
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found | <<<--- nothing running
+-----------------------------------------------------------------------------+
И вывод nvidia-smi
после вызова model.compile()
(и непосредственно перед model.fit()
):
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.50 Driver Version: 430.50 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:00:1E.0 Off | 0 |
| N/A 45C P0 72W / 149W | 10942MiB / 11441MiB | 0% Default | <<<--- 96% Memory usage
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1811 C /usr/bin/python3 10929MiB | <<<--- TF model here
+-----------------------------------------------------------------------------+
Это похоже на Скомпилированная модель TensorFlow монополизирует 96% памяти графического процессора. Я понятия не имею, нормально это или нет, и может ли это быть причиной более поздней ошибки при попытке обучить модель.
Само сообщение об ошибке выглядит следующим образом:
tenorflow / stream_executor / stream. cc: 2041] пытается выполнить операцию BLAS с использованием StreamExecutor без поддержки BLAS
InternalError: сбой запуска Blas GEMM: a.shape = (32, 116032), b.shape = (116032, 256), m = 32, n = 256, k = 116032 [[узел плотность_1 / MatMul (определено в /home/ubuntu/.local/lib/python3.6/site-packages/keras/backend /tensorflow_backend.py:3009)]] [Op: __inference_keras_scratch_graph_1645]
Стек вызовов функций: keras_scratch_graph
Вывод tf.config.experimental.list_physical_devices()
:
[PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'),
PhysicalDevice(name='/physical_device:XLA_CPU:0', device_type='XLA_CPU'),
PhysicalDevice(name='/physical_device:XLA_GPU:0', device_type='XLA_GPU'),
PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
The Модель построена с использованием следующего:
- Keras 2.3.1 (с использованием
keras.models.Sequential
) - TensorFlow-GPU 2.1.0
- CUDA 10.1
- cuDNN 7.6.4
- Ubuntu 18.04
- AWS p2.xlarge экземпляр (с графическим процессором Tesla K80)
* 10 52 * Я прошел через бесчисленные проблемы с GitHub, посты в блогах, вопросы SO, и все рекомендую убедиться, что ни один ранее запущенный процесс все еще не активен на GPU при запуске нового, добавить местоположение CUPTI в LD_LIBRARY_PATH или использовать различные варианты TF ... Ни один из них не решил проблему. Мы будем благодарны за любую идею о причинах и способах ее устранения.