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 location attention, query layer and
  unnorm. attention weights
docstr_tok: ["compute","location","attention",",","query","layer","and","unnorm",".","attention","weights"]
code: def get_loc_attn(self, query, states):
      """compute location attention, query layer and
      unnorm. attention weights"""
      attention_cum, attention_old = states[:2]
      attn_cat = tf.stack([attention_old, attention_cum], axis=2)
  
      processed_query = self.query_layer(tf.expand_dims(query, 1))
      processed_attn = self.location_dense(
          self.location_conv1d(attn_cat)
      )
      score = self.v(
          tf.nn.tanh(
              self.processed_values + processed_query + processed_attn
          )
      )
      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 4 for calling the Attention obj's underlying member method code with example usage: obj.get_loc_attn(query, states) and returns: score,  processed_query