使用pytorch模块,如果在反向()之前多次调用forward()时,计算图是否会被覆盖?

时间:2018-10-15 07:43:54

标签: pytorch

我找到了一行代码:

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

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

如您所见,“ forward()”在“ backward()”之前被多次调用,问题是:

1,下一次调用会否覆盖先前的计算图?

2,在我的测试中,GPU消耗会相应增加,所以即使发生覆盖,GPUu内存也会发生泄漏,该如何解决?

1 个答案:

答案 0 :(得分:0)

否,该图不会被转发的不同调用所覆盖。 每次调用时,计算都会添加到图表中,因此GPU消耗会增加。

调用model.zero_grad()时,图形将被清除。