code: def read(
      memory,
      weights,
      squash_op=tf.nn.tanh,
      squash_before_access=True,
      squash_after_access=False,
  ):
      """Read from the NTM memory.
  
      Args:
        memory: 3D Tensor [batch_size, memory_size, word_size].
        weights: 3D Tensor [batch_size, num_reads, memory_size].
        squash_op: op to perform squashing of memory or read word.
        squash_before_access: squash memory before read, default True.
        squash_after_access: squash read word, default False.
  
      Returns:
        3D Tensor [batch_size, num_reads, word_size].
      """
      with tf.name_scope("read_memory"):
          if squash_before_access:
              squash_op(weights)
          read_word = tf.matmul(weights, memory)
          if squash_after_access:
              read_word = squash_op(read_word)
          return read_word
  
label_desc: Use image node_id 1 for calling a global function with example usage: read(memory, weights, squash_op, squash_before_access, squash_after_access) and returns: read_word