ria-com / nomeroff-net

Nomeroff Net. Automatic numberplate recognition system.
GNU General Public License v3.0
459 stars 159 forks source link

Использование GPU приводит к нехватке памяти. Версия v1.0 #103

Closed nemat-rakhmatov closed 4 years ago

nemat-rakhmatov commented 4 years ago

Скачал бета версию и запустил сначала с CPU. Распознавание от 4-7с. Попробовал переключить на GPU. У меня карта 1060 с 6GB памяти. При запуске demo0 вылетает с ошибкой CUDA error: out of memory при загрузки модели. Попробовал указать tf использовать 1GB памяти, но не помогает. set_memory_growth тоже не помогает. Я новичок и не знаю что дальше делать. Поможете?

ApelSYN commented 4 years ago

6GB должно хватать, примеры из Demo потребляют около 5.5G

from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Вот строки для минимизации памяти.

nemat-rakhmatov commented 4 years ago

Спасибо, но было меньше: /device:GPU:0 with 5373 MB memory Смог запустить только установив переменную окружения, export TF_FORCE_GPU_ALLOW_GROWTH=true

Вот этот код из официального документа в принципе должен был сработать, но не получилось

gpus = tf.config.experimental.list_physical_devices('GPU') if gpus: try:

Currently, memory growth needs to be the same across GPUs

for gpu in gpus: tf.config.experimental.set_memory_growth(gpu, True) logical_gpus = tf.config.experimental.list_logical_devices('GPU') print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs") except RuntimeError as e:

Memory growth must be set before GPUs have been initialized

print(e)

Ну и другие способы тоже, только переменная окружения сработало. Ваш код выше, тоже к сожалению не работает.

ApelSYN commented 4 years ago

Ok, рад что у вас получилось, про переменную окружения TF_FORCE_GPU_ALLOW_GROWTH буду знать.