class_docstr: Base class for recurrent memory.
  
  This class defines the memory interface, but behaves like a no-op.
class_docstr_tok: ["Base","class","for","recurrent","memory",".","This","class","defines","the","memory","interface",",","but","behaves","like","a","no-op","."]
docstr: Called after self-attention. The memory can be updated here.
  
  Args:
    token: Data returned by pre_attention, which can be used to carry over
      state related to the current memory operation.
    x: a Tensor of data after self-attention and feed-forward
  Returns:
    a (possibly modified) version of the input x
docstr_tok: ["Called","after","self-attention",".","The","memory","can","be","updated","here",".","Args",":","token",":","Data","returned","by","pre_attention",",","which","can","be","used","to","carry","over","state","related","to","the","current","memory","operation",".","x",":","a","Tensor","of","data","after","self-attention","and","feed-forward","Returns",":","a","(","possibly","modified",")","version","of","the","input","x"]
code: def post_attention(self, token, x):
      """Called after self-attention. The memory can be updated here.
  
      Args:
        token: Data returned by pre_attention, which can be used to carry over
          state related to the current memory operation.
        x: a Tensor of data after self-attention and feed-forward
      Returns:
        a (possibly modified) version of the input x
      """
      assert token is None
      return x
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from tensor2tensor.layers import common_layers
  import tensorflow.compat.v1
label_desc: Use image node_id 2 for calling the RecurrentMemory obj's underlying member method code with example usage: obj.post_attention(token, x) and returns: x