@@ -294,17 +294,20 @@ def advance(self, env: EnvManager) -> int:
294
294
with hierarchical_timer ("env_step" ):
295
295
new_step_infos = env .step ()
296
296
for step_info in new_step_infos :
297
- for brain_name in self .trainers .keys ():
298
- for name_behavior_id in self .brain_name_to_identifier [brain_name ]:
299
- if step_info .has_actions_for_brain (name_behavior_id ):
300
- _processor = self .managers [name_behavior_id ].processor
301
- _processor .add_experiences (
302
- step_info .previous_all_brain_info [name_behavior_id ],
303
- step_info .current_all_brain_info [name_behavior_id ],
304
- step_info .brain_name_to_action_info [
305
- name_behavior_id
306
- ].outputs ,
297
+ for name_behavior_id in step_info .name_behavior_ids :
298
+ if name_behavior_id not in self .managers :
299
+ self .logger .warning (
300
+ "Agent manager was not created for behavior id {}." .format (
301
+ name_behavior_id
307
302
)
303
+ )
304
+ continue
305
+ _processor = self .managers [name_behavior_id ].processor
306
+ _processor .add_experiences (
307
+ step_info .previous_all_brain_info [name_behavior_id ],
308
+ step_info .current_all_brain_info [name_behavior_id ],
309
+ step_info .brain_name_to_action_info [name_behavior_id ].outputs ,
310
+ )
308
311
309
312
for brain_name , trainer in self .trainers .items ():
310
313
if self .train_model and trainer .get_step <= trainer .get_max_steps :
0 commit comments