Почти нет свободного выделения памяти 1080 ti при работе с устройством tenorflow-gpu - PullRequest
0 голосов
/ 01 октября 2018

Я тестирую недавно купленную карту ASUS ROG STRIX 1080 ti (11 ГБ) с помощью простой тестовой программы python (matmul.py) из https://learningtensorflow.com/lesson10/.Настройка виртуальной среды (venv) выглядит следующим образом: ubuntu = 16.04, tenorflow-gpu == 1.5.0, python = 3.6.6, CUDA == 9.0, Cudnn == 7.2.1.

CUDA_ERROR_OUT_OF_MEMORY произошло.

И, самое странное: totalMemory: 10.91GiB freeMemory: 61.44MiB ..

Я не уверен, если этобыло связано с окружающей средой или из-за самого 1080-ти.Буду признателен, если какие-либо выдержки могли бы посоветовать здесь.

Терминал показал -

(venv) xx@xxxxxx:~/xx$ python matmul.py gpu 1500
2018-10-01 09:05:12.459203: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-10-01 09:05:12.514203: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:895] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2018-10-01 09:05:12.514445: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] Found device 0 with properties: 
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.607
pciBusID: 0000:01:00.0
totalMemory: 10.91GiB freeMemory: 61.44MiB
2018-10-01 09:05:12.514471: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1195] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1)
2018-10-01 09:05:12.651207: E tensorflow/stream_executor/cuda/cuda_driver.cc:936] failed to allocate 11.44M (11993088 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
......

Ответы [ 3 ]

0 голосов
/ 02 октября 2018

Я решил эту проблему, ограничив использование памяти:

def gpu_config():
    config = tf.ConfigProto(
        allow_soft_placement=True, log_device_placement=False)
    config.gpu_options.allow_growth = True
    config.gpu_options.allocator_type = 'BFC'

    config.gpu_options.per_process_gpu_memory_fraction = 0.8
    print("GPU memory upper bound:", upper)
    return config

Тогда вы можете просто сделать:

config = gpu_config()
with tf.Session(config=config) as sess:
    ....
0 голосов
/ 02 октября 2018

После перезагрузки я смог запустить примеры кодов tersorflow.org - https://www.tensorflow.org/guide/using_gpu без проблем с памятью.

Перед запуском примеров кодов тензорного потока для проверки 1080 ti у меня были трудности с обучением моделей Mask-RCNN, как было опубликовано - Маска исчерпала ресурс RCNN (OOM) в моем собственном наборе данных После замены cudnn 7.2.1 с 7.0.5, проблема с исчерпанием ресурсов (OOM) больше не возникает.

0 голосов
/ 02 октября 2018

Может случиться, что процесс Python застревает на GPU.Всегда проверяйте процессы с помощью nvidia-smi и при необходимости убивайте их вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...