Как очистить память графического процессора БЕЗ перезапуска среды выполнения в Google Colab Laboratory (Tensorflow) - PullRequest
1 голос
/ 05 июля 2019

Я хочу запустить настройку гиперпараметра для алгоритма передачи нейронного стиля, в результате чего получается цикл for, в котором моя модель выводит мне изображение, сгенерированное с разными гиперпараметрами на одну итерацию.

Он работает в Google Colab Laboratory с использованием среды исполнения графического процессора. Во время выполнения я получаю в какой-то момент ошибку, которая говорит о том, что моя память GPU почти заполнена, а затем программа останавливается.

Итак, я подумал, что, может быть, есть способ очистить или сбросить память GPU после определенного количества итераций, чтобы программа могла нормально завершиться (пройдя все итерации в цикле for, а не только, например, 1500 из 3000). из-за полной памяти GPU)

Я уже пробовал этот фрагмент кода, который я нахожу где-то в Интернете:

# Reset Keras Session
def reset_keras():
    sess = get_session()
    clear_session()
    sess.close()
    sess = get_session()

    try:
        del classifier # this is from global space - change this as you need
    except:
        pass

    #print(gc.collect()) # if it's done something you should see a number being outputted

    # use the same config as you used to create the session
    config = tf.ConfigProto()
    config.gpu_options.per_process_gpu_memory_fraction = 1
    config.gpu_options.visible_device_list = "0"
    set_session(tf.Session(config=config))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...