Skip to content

MPI dependency optional, new save format, ACKTR with continuous actions

Compare
Choose a tag to compare
@araffin araffin released this 29 Sep 16:54
· 79 commits to master since this release
3105f30

Breaking Changes:

  • OpenMPI-dependent algorithms (PPO1, TRPO, GAIL, DDPG) are disabled
    in the default installation of stable_baselines. mpi4py is now
    installed as an extra. When mpi4py is not available,
    stable-baselines skips imports of OpenMPI-dependent algorithms. See
    installation notes <openmpi> and
    Issue #430.
  • SubprocVecEnv now defaults to a thread-safe start method, forkserver
    when available and otherwise spawn. This may require application
    code be wrapped in if __name__ == '__main__'. You can
    restore previous behavior by explicitly setting start_method =
    'fork'. See PR #428.
  • Updated dependencies: tensorflow v1.8.0 is now required
  • Removed checkpoint_path and checkpoint_freq argument from DQN that
    were not used
  • Removed bench/benchmark.py that was not used
  • Removed several functions from common/tf_util.py that were not used
  • Removed ppo1/run_humanoid.py

New Features:

  • important change Switch to using zip-archived JSON and Numpy
    savez for storing models for better support across library/Python
    versions. (@Miffyli)
  • ACKTR now supports continuous actions
  • Add double_q argument to DQN constructor

Bug Fixes:

  • Skip automatic imports of OpenMPI-dependent algorithms to avoid an
    issue where OpenMPI would cause stable-baselines to hang on Ubuntu
    installs. See installation notes
    <openmpi>
    and Issue #430.
  • Fix a bug when calling logger.configure() with MPI enabled
    (@keshaviyengar)
  • set allow_pickle=True for numpy>=1.17.0 when loading expert
    dataset
  • Fix a bug when using VecCheckNan with numpy ndarray as state. Issue #489. (@ruifeng96150)

Deprecations:

  • Models saved with cloudpickle format (stable-baselines<=2.7.0) are
    now deprecated in favor of zip-archive format for better support
    across Python/Tensorflow versions. (@Miffyli)

Others:

  • Implementations of noise classes (AdaptiveParamNoiseSpec,
    NormalActionNoise, OrnsteinUhlenbeckActionNoise) were moved from
    stable_baselines.ddpg.noise to stable_baselines.common.noise. The
    API remains backward-compatible; for example from
    stable_baselines.ddpg.noise import NormalActionNoise is still okay.
    (@shwang)
  • Docker images were updated
  • Cleaned up files in common/ folder and in acktr/ folder that were
    only used by old ACKTR version (e.g. filter.py)
  • Renamed acktr_disc.py to acktr.py

Documentation:

  • Add WaveRL project (@jaberkow)
  • Add Fenics-DRL project (@DonsetPG)
  • Fix and rename custom policy names (@eavelardev)
  • Add documentation on exporting models.
  • Update maintainers list (Welcome to @Miffyli)