pydens icon indicating copy to clipboard operation
pydens copied to clipboard

LBFGS optimizer not working

Open pradhyumna85 opened this issue 2 years ago • 0 comments

The code block below results in error:

solver = Solver(equation=pde, ndims=2,constraints=constraints,domain=domain,layout='fa fa f', units=(10,20,1), activation='Sigmoid')
solver.fit(batch_size=100, niters=5000, lr=0.01,optimizer='LBFGS')

Error:

  0%|                                                                                   | 0/5000 [00:00<?, ?it/s]
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
File <timed exec>:8, in <module>

File D:\anaconda3\envs\pydens_gpu\lib\site-packages\pydens\model_torch.py:461, in Solver.fit(self, niters, batch_size, sampler, loss_terms, optimizer, criterion, lr, **kwargs)
    459 # Optimizer step.
    460 loss.backward()
--> 461 self.optimizer.step()
    463 # Gather and store training stats.
    464 self.losses.append(loss.detach().cpu().numpy())

File D:\anaconda3\envs\pydens_gpu\lib\site-packages\torch\optim\optimizer.py:88, in Optimizer._hook_for_profile.<locals>.profile_hook_step.<locals>.wrapper(*args, **kwargs)
     86 profile_name = "Optimizer.step#{}.step".format(obj.__class__.__name__)
     87 with torch.autograd.profiler.record_function(profile_name):
---> 88     return func(*args, **kwargs)

File D:\anaconda3\envs\pydens_gpu\lib\site-packages\torch\autograd\grad_mode.py:27, in _DecoratorContextManager.__call__.<locals>.decorate_context(*args, **kwargs)
     24 @functools.wraps(func)
     25 def decorate_context(*args, **kwargs):
     26     with self.clone():
---> 27         return func(*args, **kwargs)

TypeError: step() missing 1 required positional argument: 'closure'

Any idea on how to use LBFGS optimizer ?

pradhyumna85 avatar May 18 '22 13:05 pradhyumna85