class_docstr: TODO: implement forward_attention
  TODO: location sensitive attention
  TODO: implement attention windowing 
class_docstr_tok: ["TODO",":","implement","forward_attention","TODO",":","location","sensitive","attention","TODO",":","implement","attention","windowing"]
docstr: compute query layer and unnormalized attention weights 
docstr_tok: ["compute","query","layer","and","unnormalized","attention","weights"]
code: def get_attn(self, query):
      """compute query layer and unnormalized attention weights"""
      processed_query = self.query_layer(tf.expand_dims(query, 1))
      score = self.v(
          tf.nn.tanh(self.processed_values + processed_query)
      )
      score = tf.squeeze(score, axis=2)
      return score, processed_query
  
imports: import tensorflow
  from tensorflow import keras
  from tensorflow.python.ops import math_ops
label_desc: Use image node_id 5 for calling the Attention obj's underlying member method code with example usage: obj.get_attn(query) and returns: score,  processed_query