Недостаточно памяти для запуска Tensorflow с поддержкой графического процессора в PyCharm

a = Image.open('Data1' + '\\'+ imlist[0]) # open one image to get size

Вы должны читать по пути2. не так ли?

1
задан ling 20 January 2019 в 08:47
поделиться

1 ответ

Чтобы подвести итог нашего разговора в соответствии с комментариями, я не верю, что вы можете выделить память GPU или память рабочего стола для GPU - не так, как вы пытаетесь. Когда у вас один графический процессор, в большинстве случаев Tensorflow-GPU выделяет около 95% доступной памяти для выполняемой задачи. В вашем случае, что-то уже использует всю доступную память GPU, что является основной причиной, по которой ваша программа не запускается. Вам необходимо проанализировать использование памяти вашего графического процессора и освободить часть памяти (я не могу не думать, что у вас уже есть другой экземпляр Python, использующий графический процессор Tensorflow, работающий в фоновом режиме или какую-то другую интенсивную программу графического процессора). В Linux команда nvidia-smi в командной строке скажет вам, что использует ваш графический процессор, вот пример

Sun Jan 20 18:23:35 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130                Driver Version: 384.130                   |
|-------------------------------+----------------------+----------------------+
| 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 GTX 970     Off  | 00000000:01:00.0 Off |                  N/A |
| 32%   63C    P2    69W / 163W |   3823MiB /  4035MiB |     40%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      3019      C   ...e/scarter/anaconda3/envs/tf1/bin/python  3812MiB |
+-----------------------------------------------------------------------------+

В моем случае вы можете видеть, что моя карта на моем сервере имеет 4035 МБ или ОЗУ, 3823 МБ используется. Более того, просмотрите процесс графического процессора в нижней части. Процесс PID 3019 потребляет 3812 МБ из доступных 4035 МБ на карте. Если мы хотели запустить другой скрипт на python с использованием tenorflow, у меня есть два основных варианта: я могу либо установить второй GPU и запустить на втором GPU, либо, если GPU не доступен, затем запустить на CPU. Кто-то более опытный, чем я, может сказать, что вы могли бы выделить только половину памяти для каждой задачи, но 2 гигабайта памяти уже достаточно мало для тренировки тензорного потока. Обычно для этой задачи рекомендуется использовать карты с большим количеством памяти (6 гигабайт +).
В заключение выясните, что потребляет всю память вашей видеокарты, и завершите эту задачу. Я верю, что это решит вашу проблему.

0
ответ дан Steve Carter 20 January 2019 в 08:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: