-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathconfig.py
53 lines (47 loc) · 1.8 KB
/
config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import gym
from model import *
from utils import *
class BasicConfig:
def __init__(self, hidden_size):
self.env_fn = lambda: gym.make(self.task)
self.repetitions = 10
self.test_repetitions = 10
env = self.env_fn()
self.action_dim = env.action_space.shape[0]
self.state_dim = env.observation_space.shape[0]
self.hidden_size = hidden_size
self.model_fn = lambda: StandardFCNet(self.state_dim, self.action_dim, self.hidden_size)
model = self.model_fn()
self.initial_weight = model.get_weight()
self.reward_to_fitness = lambda r: r
self.pop_size = 30
self.num_workers = 6
self.max_steps = 0
self.opt = Adam()
self.weight_decay = 0.005
self.action_noise_std = 0
self.tag = ''
class PendulumConfig(BasicConfig):
def __init__(self, hidden_size=16):
self.task = 'Pendulum-v0'
self.action_clip = lambda a: np.clip(a, -2, 2)
self.target = 10000
BasicConfig.__init__(self, hidden_size)
class BipedalWalkerConfig(BasicConfig):
def __init__(self, hidden_size=16):
self.task = 'BipedalWalker-v2'
self.action_clip = lambda a: np.clip(a, -1, 1)
self.target = 10000
BasicConfig.__init__(self, hidden_size)
class ContinuousLunarLanderConfig(BasicConfig):
def __init__(self, hidden_size=16):
self.task = 'LunarLanderContinuous-v2'
self.action_clip = lambda a: np.clip(a, -1, 1)
self.target = 10000
BasicConfig.__init__(self, hidden_size)
class BipedalWalkerHardcore(BasicConfig):
def __init__(self, hidden_size=16):
self.task = 'BipedalWalkerHardcore-v2'
self.action_clip = lambda a: np.clip(a, -1, 1)
self.target = 10000
BasicConfig.__init__(self, hidden_size)