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.

import d3rlpy
from torch.optim import Adam

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

# set OptimizerFactory
dqn = d3rlpy.algos.DQNConfig(optim_factory=optim_factory).create()

There are also convenient alises.

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

dqn = d3rlpy.algos.DQNConfig(optim_factory=optim_factory).create()

d3rlpy.models.OptimizerFactory

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

d3rlpy.models.SGDFactory

An alias for SGD optimizer.

d3rlpy.models.AdamFactory

An alias for Adam optimizer.

d3rlpy.models.RMSpropFactory

An alias for RMSprop optimizer.

d3rlpy.models.GPTAdamWFactory

AdamW optimizer for Decision Transformer architectures.