С модулем pytorch будет ли граф вычислений переопределяться, когда forward () вызывался несколько раз перед backward ()? - PullRequest
0 голосов
/ 15 октября 2018

Я нашел строку кода:

out_a, out_p, out_n = model(data_a), model(data_p), model(data_n)    

in: https://github.com/liorshk/facenet_pytorch/blob/master/train_triplet.py

, поскольку вы можете видеть, что forward () вызывается несколько раз перед "backward ()", вопрос:

1, будет ли следующий вызов переопределять предыдущий граф вычислений?

2, в моем тесте потребление графического процессора соответственно увеличится, поэтому даже происходит переопределение, происходит утечка памяти графического процессора,как решить эту проблему?

1 Ответ

0 голосов
/ 15 октября 2018

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

При вызове model.zero_grad() графики очищаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...