d3rlpy.models.optimizers.OptimizerFactory

class d3rlpy.models.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 (Union[Type[torch.optim.optimizer.Optimizer], str]) – An optimizer class.

  • kwargs (Any) – arbitrary keyword-arguments.

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[str, Any]