optimizer2 = torch.optim.LBFGS(pn.parameters(), lr=1, max_iter=50000)
def closure():
optimizer2.zero_grad()
u0_pred = pn.U_ic(x0)
mse_ic = pn.MSE(u0_pred, u0.expand(u0_pred.shape))
Ub_pred, Ub_pred1 = pn.U_bc(xb)
mse_bc = pn.MSE(Ub_pred[0:1,:], Ub_pred[1:2,:])+ pn.MSE(Ub_pred1[0:1,:], Ub_pred1[1:2,:])
loss = mse_ic + mse_bc
return loss
optimizer2.step(closure)
优化loss,按照pytorch的官方文档写的,但效果不好,不知道哪出的问题,有没有哪位大佬指点一下