标签: python pytorch
我将PyTorch用作通用的可区分编程工具,用于我正在从事的优化任务,与神经网络无关。
我注意到执行时间与步长是平方的: timing plot
我正在循环计算损失函数,并在每次迭代中调用loss.backward(retain_graph = True)。代码分析显示,大约99%的执行时间都花在了loss.backward()上。
二次减速意味着每个步骤的执行时间呈线性增加,那么pytorch可能会为每个步骤分别存储整个保留的图吗?
任何想法都很感激。
谢谢。