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: Calls the model on new inputs.
  
  Arguments:
      inputs: A tensor or list of tensors.
      training: Boolean or boolean scalar tensor, indicating whether to run
        the `Network` in training mode or inference mode.
      mask: A mask or list of masks. A mask can be
          either a tensor or None (no mask).
  
  Returns:
      A tensor if there is a single output, or
      a list of tensors if there are more than one outputs.
docstr_tok: ["Calls","the","model","on","new","inputs",".","Arguments",":","inputs",":","A","tensor","or","list","of","tensors",".","training",":","Boolean","or","boolean","scalar","tensor",",","indicating","whether","to","run","the","`","Network","`","in","training","mode","or","inference","mode",".","mask",":","A","mask","or","list","of","masks",".","A","mask","can","be","either","a","tensor","or","None","(","no","mask",")",".","Returns",":","A","tensor","if","there","is","a","single","output",",","or","a","list","of","tensors","if","there","are","more","than","one","outputs","."]
code: def call(
      self,
      inputs: Union[tf.Tensor, List[tf.Tensor]],
      training: Optional[tf.Tensor] = None,
      mask: Optional[tf.Tensor] = None,
  ) -> Union[tf.Tensor, List[tf.Tensor]]:
      """Calls the model on new inputs.
  
      Arguments:
          inputs: A tensor or list of tensors.
          training: Boolean or boolean scalar tensor, indicating whether to run
            the `Network` in training mode or inference mode.
          mask: A mask or list of masks. A mask can be
              either a tensor or None (no mask).
  
      Returns:
          A tensor if there is a single output, or
          a list of tensors if there are more than one outputs.
      """
      # This method needs to be implemented, otherwise the super class is raising a
      # NotImplementedError('When subclassing the `Model` class, you should
      #   implement a `call` method.')
      pass
  
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 20 for calling the RasaModel obj's underlying member method code with example usage: obj.call(inputs, training, mask) without return types