class_docstr: An implementation of the spatial-temporal embedding block.
  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.
      steps_per_day (int): Steps to take for a day.
      use_bias (bool, optional): Whether to use bias in Fully Connected layers, default is True.
code: def __init__(
      self,
      D: int,
      bn_decay: float,
      steps_per_day: int,
      use_bias: bool = True,
  ):
      super(SpatioTemporalEmbedding, self).__init__()
      self._fully_connected_se = FullyConnected(
          input_dims=[D, D],
          units=[D, D],
          activations=[F.relu, None],
          bn_decay=bn_decay,
          use_bias=use_bias,
      )
  
      self._fully_connected_te = FullyConnected(
          input_dims=[steps_per_day + 7, D],
          units=[D, D],
          activations=[F.relu, None],
          bn_decay=bn_decay,
          use_bias=use_bias,
      )
  
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 SpatioTemporalEmbedding object from inherited base classes: nn with example: obj = SpatioTemporalEmbedding(D, bn_decay, steps_per_day, use_bias)