Optimizers

d3rlpy provides OptimizerFactory that gives you flexible control over optimizers. OptimizerFactory takes PyTorch’s optimizer class and its arguments to initialize, which you can check more here.

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

# modify weight decay
optim_factory = OptimizerFactory(Adam, weight_decay=1e-4)

# set OptimizerFactory
dqn = DQN(optim_factory=optim_factory)

There are also convenient alises.

from d3rlpy.models.optimizers import AdamFactory

# alias for Adam optimizer
optim_factory = AdamFactory(weight_decay=1e-4)

dqn = DQN(optim_factory=optim_factory)

d3rlpy.models.optimizers.OptimizerFactory

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

d3rlpy.models.optimizers.SGDFactory

An alias for SGD optimizer.

d3rlpy.models.optimizers.AdamFactory

An alias for Adam optimizer.

d3rlpy.models.optimizers.RMSpropFactory

An alias for RMSprop optimizer.