code: def generate_dec_layer(initial_weights=None, initial_biases=None):
      config = LSFSTransformerDecoderLayer.get_config(
          max_batch_tokens=max_batch_tokens,
          max_seq_len=max_seq_len,
          hidden_size=1024,
          intermediate_size=4096,
          nhead=16,
          attn_prob_dropout_ratio=0.0,
          activation_dropout_ratio=0.0,
          hidden_dropout_ratio=0.0,
          pre_layer_norm=True,
          fp16=True,
          local_rank=0,
          nlayer=NUM_LAYERS,
          activation_fn="relu",
      )
      layer = LSFSTransformerDecoderLayer(
          config,
          initial_weights,
          initial_biases,
      )
      layer.to(torch.device("cuda:0"), dtype=torch.half)
      return layer
  
imports: import random
  import math
  from copy import deepcopy
  from dataclasses import dataclass
  import torch
  import torch.nn
  from tests.util import TestDecorator, get_fairseq_enc_params, get_fairseq_dec_params, max_batch_tokens, max_seq_len, split_custom_layer_grad, copy_grad_from_paras, copy_cmax_grad_from_paras
  from tests import fairseq_layers
  from lightseq.training.ops.pytorch.transformer_encoder_layer import LSTransformerEncoderLayer
  from lightseq.training.ops.pytorch.transformer_embedding_layer import LSTransformerEmbeddingLayer
  from lightseq.training.ops.pytorch.cross_entropy_layer import LSCrossEntropyLayer
  from lightseq.training.ops.pytorch.quant_linear_layer import LSQuantLinearLayer
  from lightseq.training.cli.fs_modules.ls_fs_transformer_decoder_layer import LSFSTransformerDecoderLayer
  from lightseq.training.ops.pytorch.quantization import enable_quant, disable_quant, qat_mode, ptq_mode
label_desc: Use image node_id 4 for calling a global function with example usage: generate_dec_layer(initial_weights, initial_biases) and returns: layer