Skip to content

Commit 921123e

Browse files
author
Chris Elion
authored
don't try/except for control flow (#4251)
1 parent b0be09a commit 921123e

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

ml-agents/mlagents/trainers/ghost/trainer.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# # Unity ML-Agents Toolkit
22
# ## ML-Agent Learning (Ghost Trainer)
33

4-
from typing import Deque, Dict, List, cast
4+
from collections import defaultdict
5+
from typing import Deque, Dict, DefaultDict, List, cast
56

67
import numpy as np
78

@@ -68,9 +69,9 @@ def __init__(
6869
self._internal_trajectory_queues: Dict[str, AgentManagerQueue[Trajectory]] = {}
6970
self._internal_policy_queues: Dict[str, AgentManagerQueue[Policy]] = {}
7071

71-
self._team_to_name_to_policy_queue: Dict[
72+
self._team_to_name_to_policy_queue: DefaultDict[
7273
int, Dict[str, AgentManagerQueue[Policy]]
73-
] = {}
74+
] = defaultdict(dict)
7475

7576
self._name_to_parsed_behavior_id: Dict[str, BehaviorIdentifiers] = {}
7677

@@ -413,14 +414,9 @@ def publish_policy_queue(self, policy_queue: AgentManagerQueue[Policy]) -> None:
413414
"""
414415
super().publish_policy_queue(policy_queue)
415416
parsed_behavior_id = self._name_to_parsed_behavior_id[policy_queue.behavior_id]
416-
try:
417-
self._team_to_name_to_policy_queue[parsed_behavior_id.team_id][
418-
parsed_behavior_id.brain_name
419-
] = policy_queue
420-
except KeyError:
421-
self._team_to_name_to_policy_queue[parsed_behavior_id.team_id] = {
422-
parsed_behavior_id.brain_name: policy_queue
423-
}
417+
self._team_to_name_to_policy_queue[parsed_behavior_id.team_id][
418+
parsed_behavior_id.brain_name
419+
] = policy_queue
424420
if parsed_behavior_id.team_id == self.wrapped_trainer_team:
425421
# With a future multiagent trainer, this will be indexed by 'role'
426422
internal_policy_queue: AgentManagerQueue[Policy] = AgentManagerQueue(

ml-agents/mlagents/trainers/trainer_controller.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,9 @@ def _create_trainer_and_manager(
124124
parsed_behavior_id = BehaviorIdentifiers.from_name_behavior_id(name_behavior_id)
125125
brain_name = parsed_behavior_id.brain_name
126126
trainerthread = None
127-
try:
127+
if brain_name in self.trainers:
128128
trainer = self.trainers[brain_name]
129-
except KeyError:
129+
else:
130130
trainer = self.trainer_factory.generate(brain_name)
131131
self.trainers[brain_name] = trainer
132132
if trainer.threaded:

0 commit comments

Comments
 (0)