class_docstr: Conv attention takes a key matrix, a value matrix and a query vector.
  Attention weight is calculated by key matrix with the query vector
  and sum on the value matrix. And the same operation is applied
  in each decode conv layer.
code: def __init__(self, input_size):
      super(ConvMultiStepAttention, self).__init__()
      self.linear_in = nn.Linear(input_size, input_size)
      self.mask = None
  
file_path: OpenNMT-py/onmt/modules/conv_multi_step_attention.py
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new ConvMultiStepAttention object from inherited base classes: nn with example: obj = ConvMultiStepAttention(input_size)