class_docstr: This is the image classification class for custom models trained with the 'ClassificationModelTrainer' class. It provides support for 4 different models which are:
  ResNet50, MobileNetV2, DenseNet121 and Inception V3. After instantiating this class, you can set it's properties and
  make image classification using it's pre-defined functions.
  
  The following functions are required to be called before a classification can be made
  * setModelPath() , path to your custom model
  * setJsonPath , , path to your custom model's corresponding JSON file
  * At least of of the following and it must correspond to the model set in the setModelPath()
  [setModelTypeAsMobileNetV2(), setModelTypeAsResNet50(), setModelTypeAsDenseNet121, setModelTypeAsInceptionV3]
  * loadModel() [This must be called once only before making a classification]
  
  Once the above functions have been called, you can call the classifyImage() function of the classification instance
  object at anytime to predict an image.
class_docstr_tok: ["This","is","the","image","classification","class","for","custom","models","trained","with","the","'ClassificationModelTrainer","'","class",".","It","provides","support","for","4","different","models","which","are",":","ResNet50",",","MobileNetV2",",","DenseNet121","and","Inception","V3",".","After","instantiating","this","class",",","you","can","set","it","'s","properties","and","make","image","classification","using","it","'s","pre-defined","functions",".","The","following","functions","are","required","to","be","called","before","a","classification","can","be","made","*","setModelPath","(",")",",","path","to","your","custom","model","*","setJsonPath",",",",","path","to","your","custom","model","'s","corresponding","JSON","file","*","At","least","of","of","the","following","and","it","must","correspond","to","the","model","set","in","the","setModelPath","(",")","[","setModelTypeAsMobileNetV2","(",")",",","setModelTypeAsResNet50","(",")",",","setModelTypeAsDenseNet121",",","setModelTypeAsInceptionV3","]","*","loadModel","(",")","[","This","must","be","called","once","only","before","making","a","classification","]","Once","the","above","functions","have","been","called",",","you","can","call","the","classifyImage","(",")","function","of","the","classification","instance","object","at","anytime","to","predict","an","image","."]
docstr: 'loadFullModel()' function is used to load the model structure into the program from the file path defined
  in the setModelPath() function. As opposed to the 'loadModel()' function, you don't need to specify the model type. This means you can load any Keras model trained with or without ImageAI and perform image prediction.
  - prediction_speed (optional), Acceptable values are "normal", "fast", "faster" and "fastest"
  - num_objects (required), the number of objects the model is trained to recognize
  
  :param prediction_speed:
  :param num_objects:
  :return:
docstr_tok: ["'loadFullModel","(",")","'","function","is","used","to","load","the","model","structure","into","the","program","from","the","file","path","defined","in","the","setModelPath","(",")","function",".","As","opposed","to","the","'loadModel","(",")","'","function",",","you","do","n't","need","to","specify","the","model","type",".","This","means","you","can","load","any","Keras","model","trained","with","or","without","ImageAI","and","perform","image","prediction",".","-","prediction_speed","(","optional",")",",","Acceptable","values","are","``","normal","''",",","``","fast","''",",","``","faster","''","and","``","fastest","''","-","num_objects","(","required",")",",","the","number","of","objects","the","model","is","trained","to","recognize",":","param","prediction_speed",":",":","param","num_objects",":",":","return",":"]
code: def loadFullModel(
      self, classification_speed="normal", num_objects=10
  ):
      """
      'loadFullModel()' function is used to load the model structure into the program from the file path defined
      in the setModelPath() function. As opposed to the 'loadModel()' function, you don't need to specify the model type. This means you can load any Keras model trained with or without ImageAI and perform image prediction.
      - prediction_speed (optional), Acceptable values are "normal", "fast", "faster" and "fastest"
      - num_objects (required), the number of objects the model is trained to recognize
  
      :param prediction_speed:
      :param num_objects:
      :return:
      """
  
      self.numObjects = num_objects
      self.__model_classes = json.load(open(self.jsonPath))
  
      if classification_speed == "normal":
          self.__input_image_size = 224
      elif classification_speed == "fast":
          self.__input_image_size = 160
      elif classification_speed == "faster":
          self.__input_image_size = 120
      elif classification_speed == "fastest":
          self.__input_image_size = 100
  
      if self.__modelLoaded == False:
          model = tf.keras.models.load_model(filepath=self.modelPath)
          self.__model_collection.append(model)
          self.__modelLoaded = True
          self.__modelType = "full"
  
imports: import tensorflow
  from PIL import Image
  import time
  import numpy
  import os
  import warnings
  from matplotlib.cbook import deprecated
  import json
label_desc: Use image node_id 9 for calling the CustomImageClassification obj's underlying member method code with example usage: obj.loadFullModel(classification_speed, num_objects) without return types