code: def dense(
      name, x, units, dropout_rate=None, relu=True, layer_norm=False
  ):
      with tfv1.variable_scope(name):
          bias = variable_on_cpu(
              "bias", [units], tfv1.zeros_initializer()
          )
          weights = variable_on_cpu(
              "weights",
              [x.shape[-1], units],
              tfv1.keras.initializers.VarianceScaling(
                  scale=1.0, mode="fan_avg", distribution="uniform"
              ),
          )
  
      output = tf.nn.bias_add(tf.matmul(x, weights), bias)
  
      if relu:
          output = tf.minimum(tf.nn.relu(output), FLAGS.relu_clip)
  
      if layer_norm:
          with tfv1.variable_scope(name):
              output = tf.contrib.layers.layer_norm(output)
  
      if dropout_rate is not None:
          output = tf.nn.dropout(output, rate=dropout_rate)
  
      return output
  
imports: from __future__ import absolute_import, division, print_function
  import os
  import sys
  import absl.app
  import numpy
  import progressbar
  import shutil
  import tensorflow
  import tensorflow.compat.v1
  import time
  from datetime import datetime
  from ds_ctcdecoder import ctc_beam_search_decoder, Scorer
  from .evaluate import evaluate
  from six.moves import zip, range
  from .util.config import Config, initialize_globals
  from .util.checkpoints import load_or_init_graph_for_training, load_graph_for_evaluation, reload_best_checkpoint
  from .util.evaluate_tools import save_samples_json
  from .util.feeding import create_dataset, audio_to_features, audiofile_to_features
  from .util.flags import create_flags, FLAGS
  from .util.helpers import check_ctcdecoder_version, ExceptionBox
  from .util.logging import create_progressbar, log_debug, log_error, log_info, log_progress, log_warn
  from .util.io import open_remote, remove_remote, listdir_remote, is_remote_path, isdir_remote
label_desc: Use image node_id 3 for calling a global function with example usage: dense(name, x, units, dropout_rate, relu, layer_norm) and returns: output