class_docstr: Configuration options for IMPALA.
code: def __post_init__(self):
      if isinstance(self.max_queue_size, types.Batches):
          self.max_queue_size *= self.batch_size
      assert (
          self.max_queue_size > self.batch_size + 1
      ), """
          max_queue_size must be strictly larger than the batch size:
          - during the last step in an episode we might write 2 sequences to
            Reverb at once (that's how SequenceAdder works)
          - Reverb does insertion/sampling in multiple threads, so data is
            added asynchronously at unpredictable times. Therefore we need
            additional buffer size in order to avoid deadlocks."""
  
imports: import dataclasses
  from typing import Optional, Union
  from acme import types
  from acme.adders import reverb
  import numpy
  import optax
label_desc: Use image node_id 1 for calling the IMPALAConfig obj's underlying member method code with example usage: obj.__post_init__() without return types