Skip to content

pathway/gym-domain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gym-domain

Reinforcement learning gyms for experimenting with domain generalization, domain adaptation, and robustness to domain shift.

Thanks to Bill Tubbs for inspiration via his https://github.com/billtubbs/gym-CartPole-bt-v0!

DomainCartPole-v0

Usage:

import gym_domain

env1 = gym.make('DomainCartPole-v0', gravity=20.0)
env2 = gym.make('DomainCartPole-v0', half_length=5.0, tau=0.02)

# constructor with all defaults:
env3 = gym.make('DomainCartPole-v0', gravity=9.8, mass_factor=1.0, mass_polecart_ratio=0.1, half_length=0.5, 
        force_mag=10.0, tau = 0.02, max_steps=500):

Observations:

  • env parameters are appended to observation
Type: Box(4)
Num	Observation                 Min         Max

# Original cartpole obs:
0	Cart Position             -4.8            4.8
1	Cart Velocity             -Inf            Inf
2	Pole Angle                -24 deg         24 deg
3	Pole Velocity At Tip      -Inf            Inf

# Added for gym-domain
4	gravity                   -Inf            Inf
5	mass_factor               -Inf            Inf
6	mass_polecart_ratio       -Inf            Inf
7	length                    -Inf            Inf
8 force_mag                 -Inf            Inf

Results
  • trained policy on standard parameter settings using PPO2
  • tested performance on domain sweeps of a single parameter at a time

Example

About

Reinforcement learning gyms for experimenting with domain generalization, domain adaptation, and robustness to domain shift

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages