d3rlpy.preprocessing.StandardScaler

class d3rlpy.preprocessing.StandardScaler(dataset=None, mean=None, std=None)[source]

Standardization preprocessing.

\[x' = (x - \mu) / \sigma\]
from d3rlpy.dataset import MDPDataset
from d3rlpy.algos import CQL

dataset = MDPDataset(observations, actions, rewards, terminals)

# initialize algorithm with StandardScaler
cql = CQL(scaler='standard')

# scaler is initialized from the given episodes
cql.fit(dataset.episodes)

You can initialize with d3rlpy.dataset.MDPDataset object or manually.

from d3rlpy.preprocessing import StandardScaler

# initialize with dataset
scaler = StandardScaler(dataset)

# initialize manually
mean = observations.mean(axis=0)
std = observations.std(axis=0)
scaler = StandardScaler(mean=mean, std=std)

cql = CQL(scaler=scaler)
Parameters:
mean

mean values at each entry.

Type:numpy.ndarray
std

standard deviation values at each entry.

Type:numpy.ndarray

Methods

fit(episodes)[source]

Fits mean and standard deviation from list of episodes.

Parameters:episodes (list(d3rlpy.dataset.Episode)) – list of episodes.
get_params()[source]

Returns scaling parameters.

Returns:mean and std.
Return type:dict
get_type()[source]

Returns scaler type.

Returns:standard.
Return type:str
reverse_transform(x)[source]

Returns reversely transformed observation tensor.

Parameters:x (torch.Tensor) – standardized observation tensor.
Returns:unstandardized observation tensor.
Return type:torch.Tensor
transform(x)[source]

Returns standardized observation tensor.

Parameters:x (torch.Tensor) – observation tensor.
Returns:standardized observation tensor.
Return type:torch.Tensor