d3rlpy.optimizers.OptimizerFactory

class d3rlpy.optimizers.OptimizerFactory(optim_cls, **kwargs)[source]

A factory class that creates an optimizer object in a lazy way.

The optimizers in algorithms can be configured through this factory class.

from torch.optim Adam
from d3rlpy.optimizers import OptimizerFactory
from d3rlpy.algos import DQN

factory = OptimizerFactory(Adam, eps=0.001)

dqn = DQN(optim_factory=factory)
Parameters:
  • optim_cls (type or str) – An optimizer class.
  • kwargs (any) – arbitrary keyword-arguments.
optim_cls

An optimizer class.

Type:type
optim_kwargs

given parameters for an optimizer.

Type:dict

Methods

create(params, lr)[source]

Returns an optimizer object.

Parameters:
  • params (list) – a list of PyTorch parameters.
  • lr (float) – learning rate.
Returns:

an optimizer object.

Return type:

torch.optim.Optimizer

get_params(deep=False)[source]

Returns optimizer parameters.

Parameters:deep (bool) – flag to deeply copy the parameters.
Returns:optimizer parameters.
Return type:dict