Skip to content

Commit 350fa1d

Browse files
authored
[BugFix] LLMCollector trajectory collection methods only returns 1 trajectory when multiple are completed at the same step (#3018)
1 parent e36d562 commit 350fa1d

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

torchrl/collectors/llm/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ def _rollout_yield_trajs(self) -> TensorDictBase: # A simplified version of rol
347347
queue.append(_data)
348348
dones[i] = _data["next", "done"].any()
349349
if dones.any():
350-
for idx in dones.nonzero()[0].tolist():
350+
for idx in dones.nonzero(as_tuple=True)[0].tolist():
351351
if not self.yield_only_last_steps:
352352
self._trajectory_queue.append(
353353
lazy_stack(self._yield_queues[idx], -1)
@@ -401,7 +401,7 @@ def _rollout_yield_trajs_async(
401401
queue.append(_data)
402402
dones[i] = _data["next", "done"].any()
403403
if dones.any():
404-
for idx in dones.nonzero()[0].tolist():
404+
for idx in dones.nonzero(as_tuple=True)[0].tolist():
405405
if not self.yield_only_last_steps:
406406
self._trajectory_queue.append(
407407
lazy_stack(self._yield_queues[idx], -1)

0 commit comments

Comments
 (0)