我找到了一行代码:
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内存也会发生泄漏,该如何解决?
答案 0 :(得分:0)
否,该图不会被转发的不同调用所覆盖。 每次调用时,计算都会添加到图表中,因此GPU消耗会增加。
调用model.zero_grad()
时,图形将被清除。