d3rlpy.encoders.DenseEncoderFactory

class d3rlpy.encoders.DenseEncoderFactory(activation='relu', use_batch_norm=False)[source]

DenseNet encoder factory class.

This is an alias for DenseNet architecture proposed in D2RL. This class does exactly same as follows.

from d3rlpy.encoders import VectorEncoderFactory

factory = VectorEncoderFactory(hidden_units=[256, 256, 256, 256],
                               use_dense=True)

For now, this only supports vector observations.

References

Parameters:
  • activation (str) – activation function name.
  • use_batch_norm (bool) – flag to insert batch normalization layers.
activation

activation function name.

Type:str
use_batch_norm

flag to insert batch normalization layers.

Type:bool

Methods

create(observation_shape, action_size=None, discrete_action=False)[source]

Returns PyTorch’s enocder module.

Parameters:
  • observation_shape (tuple) – observation shape.
  • action_size (int) – action size. If None, the encoder does not take action as input.
  • discrete_action (bool) – flag if action-space is discrete.
Returns:

an enocder object.

Return type:

torch.nn.Module

get_params(deep=False)[source]

Returns encoder parameters.

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

Returns encoder type.

Returns:encoder type.
Return type:str

Attributes

TYPE = 'dense'