我有一个中等大小的张量x,在这个中等大小的张量上,一个计算量很大的函数(向前和向后)q被用来获得另一个中等大小的张量y。使用y i评估产生标量的许多函数,它们在计算上并不是特别昂贵,但是使用大的内部状态会导致torch的计算图很大。现在我想用下面的方法计算x上的梯度 y = q(x)
res += f(y)
res.backward() 这种实现的问题是保留了所有函数
我正在尝试为我的NN使用自定义的损失函数。我已经在torch中实现了所有操作,并且我的数据中包含复数。我在训练NN时出现错误: RuntimeError: _th_addr_out not supported on CPUType for ComplexFloat 你知道有什么可能的解决方案来处理它吗
我有一个自定义的损失函数,我正试图在我的模型上使用,然而,当我在Pytorch中使用loss.backward()时,它不起作用。这是我的损失函数: class Neg_Pearson(nn.Module): # Pearson range [-1, 1] so if < 0, abs|loss| ; if >0, 1- loss