(
self,
env,
exploration_policy: ExplorationPolicy,
training_env=None,
eval_env=None,
eval_policy=None,
eval_sampler=None,
num_epochs=100,
num_steps_per_epoch=10000,
num_steps_between_train_calls=20,
num_steps_per_eval=1000,
max_path_length=1000,
min_steps_before_training=5000,
replay_buffer=None,
replay_buffer_size=10000,
freq_saving=1,
save_replay_buffer=False,
save_best=False,
save_epoch=False,
save_best_starting_from_epoch=0,
best_key="AverageReturn", # higher is better
no_terminal=False,
eval_no_terminal=False,
wrap_absorbing=False,
render=False,
render_kwargs={},
freq_log_visuals=1,
eval_deterministic=False,
eval_preprocess_func=None,
)
| 20 | """ |
| 21 | |
| 22 | def __init__( |
| 23 | self, |
| 24 | env, |
| 25 | exploration_policy: ExplorationPolicy, |
| 26 | training_env=None, |
| 27 | eval_env=None, |
| 28 | eval_policy=None, |
| 29 | eval_sampler=None, |
| 30 | num_epochs=100, |
| 31 | num_steps_per_epoch=10000, |
| 32 | num_steps_between_train_calls=20, |
| 33 | num_steps_per_eval=1000, |
| 34 | max_path_length=1000, |
| 35 | min_steps_before_training=5000, |
| 36 | replay_buffer=None, |
| 37 | replay_buffer_size=10000, |
| 38 | freq_saving=1, |
| 39 | save_replay_buffer=False, |
| 40 | save_best=False, |
| 41 | save_epoch=False, |
| 42 | save_best_starting_from_epoch=0, |
| 43 | best_key="AverageReturn", # higher is better |
| 44 | no_terminal=False, |
| 45 | eval_no_terminal=False, |
| 46 | wrap_absorbing=False, |
| 47 | render=False, |
| 48 | render_kwargs={}, |
| 49 | freq_log_visuals=1, |
| 50 | eval_deterministic=False, |
| 51 | eval_preprocess_func=None, |
| 52 | ): |
| 53 | self.env = env |
| 54 | self.env_num = 1 |
| 55 | try: |
| 56 | self.env_num = len(training_env) |
| 57 | except Exception: |
| 58 | pass |
| 59 | self.training_env = training_env |
| 60 | self.exploration_policy = exploration_policy |
| 61 | |
| 62 | self.num_epochs = num_epochs + 1 # make the last epoch `num_epochs` |
| 63 | self.num_env_steps_per_epoch = num_steps_per_epoch |
| 64 | self.num_steps_between_train_calls = num_steps_between_train_calls |
| 65 | self.num_steps_per_eval = num_steps_per_eval |
| 66 | self.max_path_length = max_path_length |
| 67 | self.min_steps_before_training = min_steps_before_training |
| 68 | |
| 69 | self.render = render |
| 70 | |
| 71 | self.save_replay_buffer = save_replay_buffer |
| 72 | self.save_best = save_best |
| 73 | self.save_epoch = save_epoch |
| 74 | self.save_best_starting_from_epoch = save_best_starting_from_epoch |
| 75 | self.best_key = best_key |
| 76 | self.best_statistic_so_far = float("-Inf") |
| 77 | |
| 78 | if eval_sampler is None: |
| 79 | if eval_policy is None: |
nothing calls this directly
no test coverage detected