class_docstr: Abstract custom Keras model.
  
   This model overwrites the following methods:
  - train_step
  - test_step
  - predict_step
  - save
  - load
  Cannot be used as tf.keras.Model.
class_docstr_tok: ["Abstract","custom","Keras","model",".","This","model","overwrites","the","following","methods",":","-","train_step","-","test_step","-","predict_step","-","save","-","load","Can","not","be","used","as","tf.keras.Model","."]
docstr: Recursively replaces empty list or np array with None in a dictionary.
docstr_tok: ["Recursively","replaces","empty","list","or","np","array","with","None","in","a","dictionary","."]
code: def _empty_lists_to_none_in_dict(
      input_dict: Dict[Text, Any]
  ) -> Dict[Text, Any]:
      """Recursively replaces empty list or np array with None in a dictionary."""
  
      def _recurse(
          x: Union[Dict[Text, Any], List[Any], np.ndarray]
      ) -> Optional[Union[Dict[Text, Any], List[Any], np.ndarray]]:
          if isinstance(x, dict):
              return {k: _recurse(v) for k, v in x.items()}
          elif (
              isinstance(x, list) or isinstance(x, np.ndarray)
          ) and np.size(x) == 0:
              return None
          return x
  
      return {k: _recurse(v) for k, v in input_dict.items()}
  
imports: import time
  import random
  import tensorflow
  import numpy
  import logging
  import os
  from collections import defaultdict
  from typing import List, Text, Dict, Tuple, Union, Optional, Any, TYPE_CHECKING
  from keras.utils import tf_utils
  from keras import Model
  from rasa.shared.constants import DIAGNOSTIC_DATA
  from rasa.utils.tensorflow.constants import LABEL, IDS, INTENT_CLASSIFICATION, SENTENCE, SEQUENCE_LENGTH, RANDOM_SEED, EMBEDDING_DIMENSION, REGULARIZATION_CONSTANT, SIMILARITY_TYPE, CONNECTION_DENSITY, NUM_NEG, LOSS_TYPE, MAX_POS_SIM, MAX_NEG_SIM, USE_MAX_NEG_SIM, NEGATIVE_MARGIN_SCALE, SCALE_LOSS, LEARNING_RATE, CONSTRAIN_SIMILARITIES, MODEL_CONFIDENCE, RUN_EAGERLY
  from rasa.utils.tensorflow.model_data import RasaModelData, FeatureSignature, FeatureArray
  import rasa.utils.train_utils
  from rasa.utils.tensorflow import layers
  from rasa.utils.tensorflow import rasa_layers
  from rasa.utils.tensorflow.data_generator import RasaDataGenerator, RasaBatchDataGenerator
  from rasa.shared.nlu.constants import TEXT
  from rasa.shared.exceptions import RasaException
  from rasa.utils.tensorflow.types import BatchData, MaybeNestedBatchData
label_desc: Use image node_id 13 for calling the RasaModel obj's underlying member method code with example usage: obj._empty_lists_to_none_in_dict(input_dict) and returns: unknown, x, unknown, None