Об очистке памяти, используемой в 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.

  1. Я вручную использовал команду 'kill -9' и перезапустил Django-q с помощью этой команды, это сработало
  2. .
  3. Я выполнил команды в методе 1 программно, это освободило память GPU, но будущее задание по переносу стилей больше не могло достичь GPU.
  4. Я перезапустил сервер и использовал скрипт для инициализации Django-q снова, это сработало, но потребовало времени.
  5. Я использовал метод очистки сессии в Tensorflow, но это не позволило моему последующему заданию по переносу стилей использовать GPU.

У меня есть следующие вопросы, которые будут очень признательны, если на них также можно будет ответить,

  1. Почему я запустил команду программно, она не может использовать GPU для моих более поздних заданий по передаче стилей
  2. .
  3. Как я могу освободить и использовать GPU для более поздних заданий, но сохранить Django-q без перезапуска сервера. (Это мой главный вопрос)
  4. .

Спасибо за ваше время.

Вернуться на верх