Об очистке памяти, используемой в GPU при работе Tensorflow
Вот мое установленное окружение,
- Cuda 10.0
- Nvcc
- Ubuntu 20.04
- Python 3.7
- Tensorflow 2.0 GPU
Когда я просто запускаю код переноса стиля, подобный представленному здесь
https://www.tensorflow.org/tutorials/generative/style_transfer
Все работает хорошо, если процесс завершен, но когда я пытаюсь использовать Django-q для его запуска. Память GPU будет сохранена даже после того, как моя задача передачи стиля будет выполнена.
Я попробовал следующие методы, чтобы проверить, можно ли освободить память GPU, но сохранить работу моего Django-q.
- Я вручную использовал команду 'kill -9' и перезапустил Django-q с помощью этой команды, это сработало .
- Я выполнил команды в методе 1 программно, это освободило память GPU, но будущее задание по переносу стилей больше не могло достичь GPU.
- Я перезапустил сервер и использовал скрипт для инициализации Django-q снова, это сработало, но потребовало времени.
- Я использовал метод очистки сессии в Tensorflow, но это не позволило моему последующему заданию по переносу стилей использовать GPU.
У меня есть следующие вопросы, которые будут очень признательны, если на них также можно будет ответить,
- Почему я запустил команду программно, она не может использовать GPU для моих более поздних заданий по передаче стилей .
- Как я могу освободить и использовать GPU для более поздних заданий, но сохранить Django-q без перезапуска сервера. (Это мой главный вопрос) .
Спасибо за ваше время.