Skip to content

Commit 68784da

Browse files
committed
update dataclass name
1 parent 2b9f06d commit 68784da

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

isaaclab_arena/relations/object_placer.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222

2323

2424
@dataclass
25-
class _Candidate:
26-
"""A single placement candidate produced by the solver."""
25+
class PlacementCandidate:
26+
"""A single solver result, ranked and selected in ObjectPlacer.place()."""
2727

2828
loss: float
2929
"""Loss value returned by the solver."""
@@ -118,35 +118,35 @@ def place(
118118
assert self._solver.last_loss_per_env is not None
119119
all_losses: list[float] = self._solver.last_loss_per_env.cpu().tolist()
120120

121-
all_candidates: list[_Candidate] = []
121+
all_candidates: list[PlacementCandidate] = []
122122
for idx in range(num_candidates):
123123
loss = all_losses[idx]
124124
is_valid = self._validate_placement(all_positions[idx])
125-
all_candidates.append(_Candidate(loss, all_positions[idx], is_valid))
125+
all_candidates.append(PlacementCandidate(loss, all_positions[idx], is_valid))
126126

127127
# Sort: valid solutions first (by loss), then invalid (by loss)
128-
all_candidates.sort(key=lambda c: (not c.is_valid, c.loss))
128+
all_candidates.sort(key=lambda candidate: (not candidate.is_valid, candidate.loss))
129129
selected = all_candidates[:num_results]
130130

131-
n_valid = sum(1 for c in selected if c.is_valid)
131+
n_valid = sum(1 for candidate in selected if candidate.is_valid)
132132
if self.params.verbose:
133-
total_valid = sum(1 for c in all_candidates if c.is_valid)
134-
finite_losses = [c.loss for c in all_candidates if math.isfinite(c.loss)]
133+
total_valid = sum(1 for candidate in all_candidates if candidate.is_valid)
134+
finite_losses = [candidate.loss for candidate in all_candidates if math.isfinite(candidate.loss)]
135135
mean_loss = sum(finite_losses) / len(finite_losses) if finite_losses else float("inf")
136136
print(
137137
f"Solved {num_candidates} candidates in one batch: mean loss = {mean_loss:.6f},"
138138
f" {total_valid} valid, selected best {num_results} ({n_valid} valid)"
139139
)
140140

141-
final_per_env: list[dict] = [c.positions for c in selected]
141+
final_per_env: list[dict] = [candidate.positions for candidate in selected]
142142
results_per_env = [
143143
PlacementResult(
144-
success=c.is_valid,
145-
positions=c.positions,
146-
final_loss=c.loss,
144+
success=candidate.is_valid,
145+
positions=candidate.positions,
146+
final_loss=candidate.loss,
147147
attempts=self.params.max_placement_attempts,
148148
)
149-
for c in selected
149+
for candidate in selected
150150
]
151151

152152
if self.params.apply_positions_to_objects:

0 commit comments

Comments
 (0)