Django очистить память графического процессора - PullRequest
0 голосов
/ 08 июля 2019

У меня есть модели НЛП, которые я использую на GPU.Теперь я загружаю модель при первом вызове API django и сохраняю ее в памяти, так как для загрузки модели требуется время, и мне нужно запустить ее для нескольких файлов.Это прекрасно работает, установив загруженную модель в глобальную переменную.Я хочу освободить память, как только я закончу.Как бы я это сделал.

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

class Unload_model(views.APIView):
    def post(selfself, request):
        global model
        del model
        torch.cuda.empty_cache()
        return Response([], status = status.HTTP_200_OK)

Я настраиваю глобальную переменную следующим образом:

model = None
class Predict(views.APIView):
    # init random seed
    random.seed(555)

    def post(self, request):
        for entry in request.data:
            # load the model
            global model
            serialization_dir = entry["serialization_dir"]
            params = Params.from_file(entry["config_file_path"])
            if model == None:
                model = loadAllenNLPModelFromDisk("vocabulary", "best.th", params)
                cuda_device = 0
                model = model.cuda(cuda_device)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...