code: def __init__(
      self,
      units,
      thetas_dim,
      past_seq_len=10,
      future_seq_len=5,
      nb_harmonics=None,
  ):
      if nb_harmonics:
          super(SeasonalityBlock, self).__init__(
              units,
              nb_harmonics,
              past_seq_len,
              future_seq_len,
              share_thetas=True,
          )
      else:
          super(SeasonalityBlock, self).__init__(
              units,
              future_seq_len,
              past_seq_len,
              future_seq_len,
              share_thetas=True,
          )
  
imports: import pickle
  import random
  from time import time
  from typing import Union
  import numpy
  import torch
  from torch import nn, optim
  from torch.nn import functional
  from torch.nn.functional import mse_loss, l1_loss, binary_cross_entropy, cross_entropy
  from torch.optim import Optimizer
  from .utils import PYTORCH_REGRESSION_LOSS_MAP
  from pytorch_lightning import seed_everything
label_desc: Use image node_id 1 to create a new SeasonalityBlock object from inherited base classes: Block with example: obj = SeasonalityBlock(units, thetas_dim, past_seq_len, future_seq_len, nb_harmonics)