MCPcopy Create free account
hub / github.com/Ericonaldo/ILSwiss / BaseAlgorithm

Class BaseAlgorithm

rlkit/core/base_algorithm.py:16–655  ·  view source on GitHub ↗

base algorithm for single task setting can be used for RL or Learning from Demonstrations

Source from the content-addressed store, hash-verified

14
15
16class BaseAlgorithm(metaclass=abc.ABCMeta):
17 """
18 base algorithm for single task setting
19 can be used for RL or Learning from Demonstrations
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

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected