class_docstr: An implementation of the gated fusion mechanism.
  For details see this paper: `"GMAN: A Graph Multi-Attention Network for Traffic Prediction."
  <https://arxiv.org/pdf/1911.08415.pdf>`_
  
  Args:
      D (int) : dimension of output.
      bn_decay (float): batch normalization momentum.
code: def __init__(self, D: int, bn_decay: float):
      super(GatedFusion, self).__init__()
      self._fully_connected_xs = FullyConnected(
          input_dims=D,
          units=D,
          activations=None,
          bn_decay=bn_decay,
          use_bias=False,
      )
      self._fully_connected_xt = FullyConnected(
          input_dims=D,
          units=D,
          activations=None,
          bn_decay=bn_decay,
          use_bias=True,
      )
      self._fully_connected_h = FullyConnected(
          input_dims=[D, D],
          units=[D, D],
          activations=[F.relu, None],
          bn_decay=bn_decay,
      )
  
imports: import math
  from typing import Union, Callable, Optional
  import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new GatedFusion object from inherited base classes: nn with example: obj = GatedFusion(D, bn_decay)