(self, total_timesteps, callback=None, seed=2021)
| 210 | } |
| 211 | |
| 212 | def learn(self, total_timesteps, callback=None, seed=2021): |
| 213 | # reset env seed |
| 214 | self.env.action_space.seed(seed) |
| 215 | self.env.observation_space.seed(seed) |
| 216 | self.env.seed(seed) |
| 217 | |
| 218 | self.start_time = time.time() |
| 219 | |
| 220 | self.kl_early_stop = 0 |
| 221 | self.t_train_values = 0.0 |
| 222 | |
| 223 | self.ep_stat_buffer = deque(maxlen=100) |
| 224 | self._last_obs = self.env.reset() |
| 225 | self._last_dones = np.zeros((self.env.num_envs,), dtype=np.bool) |
| 226 | |
| 227 | callback.init_callback(self) |
| 228 | |
| 229 | callback.on_training_start(locals(), globals()) |
| 230 | |
| 231 | while self.num_timesteps < total_timesteps: |
| 232 | callback.on_rollout_start() |
| 233 | t0 = time.time() |
| 234 | self.policy = self.policy.train() |
| 235 | continue_training = self.collect_rollouts(self.env, callback, self.buffer, self.n_steps) |
| 236 | self.t_rollout = time.time() - t0 |
| 237 | callback.on_rollout_end() |
| 238 | |
| 239 | if continue_training is False: |
| 240 | break |
| 241 | |
| 242 | t0 = time.time() |
| 243 | self.train() |
| 244 | self.t_train = time.time() - t0 |
| 245 | callback.on_training_end() |
| 246 | |
| 247 | return self |
| 248 | |
| 249 | def _get_init_kwargs(self): |
| 250 | init_kwargs = dict( |
nothing calls this directly
no test coverage detected