class_docstr: Dynamic convolution attention from
  https://arxiv.org/pdf/1910.10288.pdf
  
  
  query -> linear -> tanh -> linear ->|
                                      |                                            mask values
                                      v                                              |    |
             atten_w(t-1) -|-> conv1d_dynamic -> linear -|-> tanh -> + -> softmax -> * -> * -> context
                           |-> conv1d_static  -> linear -|           |
                           |-> conv1d_prior   -> log ----------------|
  
  query: attention rnn output.
  
  Note:
      Dynamic convolution attention is an alternation of the location senstive attention with
  dynamically computed convolution filters from the previous attention scores and a set of
  constraints to keep the attention alignment diagonal.
      DCA is sensitive to mixed precision training and might cause instable training.
  
  Args:
      query_dim (int): number of channels in the query tensor.
      embedding_dim (int): number of channels in the value tensor.
      static_filter_dim (int): number of channels in the convolution layer computing the static filters.
      static_kernel_size (int): kernel size for the convolution layer computing the static filters.
      dynamic_filter_dim (int): number of channels in the convolution layer computing the dynamic filters.
      dynamic_kernel_size (int): kernel size for the convolution layer computing the dynamic filters.
      prior_filter_len (int, optional): [description]. Defaults to 11 from the paper.
      alpha (float, optional): [description]. Defaults to 0.1 from the paper.
      beta (float, optional): [description]. Defaults to 0.9 from the paper.
code: def init_states(self, inputs):
      B = inputs.size(0)
      T = inputs.size(1)
      self.attention_weights = torch.zeros([B, T], device=inputs.device)
      self.attention_weights[:, 0] = 1.0
  
imports: import torch
  from scipy.stats import betabinom
  from torch import nn
  from torch.nn import functional
  from TTS.tts.layers.tacotron.common_layers import Linear
label_desc: Use image node_id 4 for calling the MonotonicDynamicConvolutionAttention obj's underlying member method code with example usage: obj.init_states(inputs) without return types