code: def model_creator(config):
      return NBeatsNet(
          past_seq_len=config["past_seq_len"],
          future_seq_len=config["future_seq_len"],
          stack_types=config.get("stack_types", ("generic", "generic")),
          nb_blocks_per_stack=config.get("nb_blocks_per_stack", 3),
          thetas_dim=config.get("thetas_dim", (4, 8)),
          share_weights_in_stack=config.get(
              "share_weights_in_stack", False
          ),
          hidden_layer_units=config.get("hidden_layer_units", 256),
          nb_harmonics=config.get("nb_harmonics", None),
      )
  
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 4 for calling a global function with example usage: model_creator(config) and returns: NBeatsNet