Advanced Computing Platform for Theoretical Physics

Commit 9a052fe5 authored by Lei Wang's avatar Lei Wang
Browse files

improve lbfgs in hotrg, but still performs worse then hotrg_sweep

parent 3b40d4df
......@@ -58,8 +58,8 @@ if __name__=='__main__':
parser = argparse.ArgumentParser(description='')
parser.add_argument("-beta", type=float, default=0.44, help="beta")
parser.add_argument("-chi", type=int, default=20, help="chi")
parser.add_argument("-niter", type=int, default=20, help="niter")
parser.add_argument("-chi", type=int, default=24, help="chi")
parser.add_argument("-niter", type=int, default=30, help="niter")
parser.add_argument("-Nepochs", type=int, default=100, help="Nepochs")
parser.add_argument("-float32", action='store_true', help="use float32")
parser.add_argument("-cuda", type=int, default=-1, help="GPU #")
......@@ -71,7 +71,8 @@ if __name__=='__main__':
model = Ising(args.chi, args.niter, dtype=dtype, device=device)
optimizer = torch.optim.LBFGS(model.parameters(), max_iter=10)
optimizer = torch.optim.LBFGS(model.parameters(), max_iter=10, tolerance_grad=0, tolerance_change=0, line_search_fn='strong_wolfe')
params = list(model.parameters())
params = list(filter(lambda p: p.requires_grad, params))
nparams = sum([np.prod(p.size()) for p in params])
......@@ -85,4 +86,4 @@ if __name__=='__main__':
for epoch in range(args.Nepochs):
loss = optimizer.step(closure)
print (epoch, loss.item())
print (epoch, loss.item(), model.A.grad.abs().max().item())
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment