class_docstr: After this was developed pytorch added their own implementation:
  https://pytorch.org/docs/master/nn.html#multiheadattention
class_docstr_tok: ["After","this","was","developed","pytorch","added","their","own","implementation",":","https",":","\/\/pytorch.org\/docs\/master\/nn.html","#","multiheadattention"]
code: def __init__(self, heads_per_shard, attn_dropout_module):
      self.attn_dropout_module = attn_dropout_module
      self.heads_per_shard = heads_per_shard
  
file_path: summarize-from-feedback/summarize_from_feedback/models/attention.py
imports: from typing import Tuple
  import numpy
  import torch
  import torch.nn
  from summarize_from_feedback.models.ops import Conv1D
  from summarize_from_feedback.utils import exact_div
  from summarize_from_feedback.utils.dist_utils import Comm
label_desc: Use image node_id 1 to create a new AttentionFunc object  with example: obj = AttentionFunc(heads_per_shard, attn_dropout_module)