class_docstr: Concatenates two length padded (B, L, H) arrays (of different lenghts).
class_docstr_tok: ["Concatenates","two","length","padded","(","B",",","L",",","H",")","arrays","(","of","different","lenghts",")","."]
code: def reverse(
      self, output, weights=(), state=(), new_state=(), rng=None
  ):
      del state, new_state, rng, weights
      assert self._mode != "predict", "cannot reverse in predict mode"
      vecs_ed, toks_e, toks_d = output
      vecs_d = _StripFromConcatenateWithPadding(vecs_ed, toks_e, toks_d)
      mask_e = toks_e != 0
      mask_e_float = mask_e.astype(jnp.float32)
      vecs_e = (
          vecs_ed[:, : toks_e.shape[1], :] * mask_e_float[:, :, None]
      )
      return vecs_e, vecs_d, mask_e, toks_e, toks_d
  
imports: from trax import fastmath
  from trax import layers
  from trax.fastmath import numpy
  from trax.models.research import configurable_transformer
label_desc: Use image node_id 4 for calling the ConcatWithPadding obj's underlying member method code with example usage: obj.reverse(output, weights, state, new_state, rng) and returns: vecs_e,  vecs_d,  mask_e,  toks_e,  toks_d