lagom
lagom copied to clipboard
lagom: A PyTorch infrastructure for rapid prototyping of reinforcement learning algorithms.
e.g. ```python # only read through the raw file without importing any modules def _get_version(dirpath): var_name = '__version__' file_path = Path(dirpath)/'__init__.py' with open(file_path, 'r') as fp: for line in fp:...
Reference paper: Deep Reinforcement Learning at the Edge of the Statistical Precipice. Github repo: https://github.com/google-research/rliable
Sync. RL baselines by calling `agent.train()` and `agent.eval()` explicitly.
This will dramatically increase reusability and reduce boilerplate code. e.g. ```python snapshot_nn(net, ['total_parameters', 'trainable_parameters']) ``` Networks: - Total parameters: trainable parameters, un-trainable parameters - Extract the number of such parameters...
This will ease the checkpointing, we don't have to serialize and load the entire environment within the agent. The `env_spec` object has sufficient information to build the agent e.g. the...
Load the entire logging folder including multiple configurations and multiple random runs. All the post-processings are performed on the DataFrame, e.g. smoothing the episode returns. e.g. ID | lr |...
Inspired by Amazon SageMaker and Ray, try to refactor the classes for hyperparameters. e.g. - Categorical - Continuous - Logarithmic: for small scale, e.g. learning rate
- In the script folder: remove the "typing" package, it is not necessary anymore.
- Make online statistics as `nn.Parameter` and registered inside the module. It becomes trackable - Similar style with how the BatchNorm is implemented in PyTorch - Different behavior between train/eval...