Replay and Data
Use this sub-skill when an Acme task involves collecting actor experience, writing it to Reverb, reading replay samples into a learner, adapting offline demonstrations, or diagnosing replay/data structure mismatches.
Read First
- Replay API:
Addercontracts, Reverb adder families, signatures, dataset helpers, and expected shapes. - Replay workflows: choose transition/sequence/episode/structured adders, build Reverb/TFDS/numpy iterators, and connect learner data.
- Troubleshooting: optional dependency failures, Reverb table signature errors, sequence/period pitfalls, extras mismatches, and invalid offline data paths.
- Replay structure helper: validate a JSON description of observation/action/reward/discount/extras nesting and print an adder-family recommendation without importing Reverb.
Route Boundaries
- Stay here for
acme.adders.base,acme.adders.wrappers,acme.adders.reverb.*,acme.datasets.reverb,acme.datasets.tfds,acme.datasets.numpy_iterator,acme.datasets.image_augmentation, andacme.utils.reverb_utils. - Use the sibling
core-workflowssub-skill for environment-loop basics, wrapper selection,dm_envconversion, experiment scaffolding, or actor/learner process layout before replay details matter. - Use the sibling
jax-agentsortf-agentssub-skill when the question is which algorithm-specific builder, config, or learner expects a particular replay table or iterator shape.
Fast Choices
- Pick
NStepTransitionAdderfor feed-forward learners that train on(observation, action, reward, discount, next_observation, extras)transitions. - Pick
SequenceAdderfor recurrent learners, sequence losses, overlapping unrolls, or learner code that expects time-major/batched trajectories. - Pick
EpisodeAdderfor full-episode imitation/offline pipelines or algorithms that need complete trajectories. - Pick
StructuredAdderwhen one actor stream must populate multiple tables or custom item patterns with Reverbstructured_writerconfigs. - For offline demonstrations, adapt data into
types.Transitionbatches or Reverb-compatible samples, then expose an iterator matching the learner constructor.


