Class Classifications

java.lang.Object
ai.djl.modality.Classifications
All Implemented Interfaces:
BytesSupplier, Ensembleable<Classifications>, ai.djl.util.JsonSerializable, Serializable
Direct Known Subclasses:
DetectedObjects

public class Classifications extends Object implements ai.djl.util.JsonSerializable, Ensembleable<Classifications>
Classifications is the container that stores the classification results for classification on a single input.
See Also:
  • Field Details

    • classNames

      protected List<String> classNames
    • probabilities

      protected List<Double> probabilities
    • topK

      protected int topK
  • Constructor Details

    • Classifications

      public Classifications(List<String> classNames, List<Double> probabilities)
      Constructs a Classifications using a parallel list of classNames and probabilities.
      Parameters:
      classNames - the names of the classes
      probabilities - the probabilities for each class for the input
    • Classifications

      public Classifications(List<String> classNames, NDArray probabilities)
      Constructs a Classifications using list of classNames parallel to an NDArray of probabilities.
      Parameters:
      classNames - the names of the classes
      probabilities - the probabilities for each class for the input
    • Classifications

      public Classifications(List<String> classNames, NDArray probabilities, int topK)
      Constructs a Classifications using list of classNames parallel to an NDArray of probabilities.
      Parameters:
      classNames - the names of the classes
      probabilities - the probabilities for each class for the input
      topK - the number of top classes to return
  • Method Details

    • getClassNames

      public List<String> getClassNames()
      Returns the classes that were classified into.
      Returns:
      the classes that were classified into
    • getProbabilities

      public List<Double> getProbabilities()
      Returns the list of probabilities for each class (matching the order of the class names).
      Returns:
      the list of probabilities for each class (matching the order of the class names)
    • setTopK

      public final void setTopK(int topK)
      Set the topK number of classes to be displayed.
      Parameters:
      topK - the number of top classes to return
    • items

      public <T extends Classifications.Classification> List<T> items()
      Returns a classification item for each potential class for the input.
      Type Parameters:
      T - the type of classification item for the task
      Returns:
      the list of classification items
    • item

      public <T extends Classifications.Classification> T item(int index)
      Returns the item at a given index based on the order used to construct the Classifications.
      Type Parameters:
      T - the type of classification item for the task
      Parameters:
      index - the index of the item to return
      Returns:
      the item at the given index, equivalent to classifications.items().get(index)
    • topK

      public <T extends Classifications.Classification> List<T> topK()
      Returns a list of the top classes.
      Type Parameters:
      T - the type of the classification item for the task
      Returns:
      the list of classification items for the best classes in order of best to worst
    • topK

      public <T extends Classifications.Classification> List<T> topK(int k)
      Returns a list of the top k best classes.
      Type Parameters:
      T - the type of the classification item for the task
      Parameters:
      k - the number of classes to return
      Returns:
      the list of classification items for the best classes in order of best to worst
    • best

      public <T extends Classifications.Classification> T best()
      Returns the most likely class for the classification.
      Type Parameters:
      T - the type of the classification item for the task
      Returns:
      the classification item
    • get

      public <T extends Classifications.Classification> T get(String className)
      Returns the result for a particular class name.
      Type Parameters:
      T - the type of the classification item for the task
      Parameters:
      className - the class name to get results for
      Returns:
      the (first if multiple) classification item
    • serialize

      public com.google.gson.JsonElement serialize()
      Specified by:
      serialize in interface ai.djl.util.JsonSerializable
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • ensembleWith

      public Classifications ensembleWith(Iterator<Classifications> it)
      Creates an ensembled output with a list of outputs.
      Specified by:
      ensembleWith in interface Ensembleable<Classifications>
      Parameters:
      it - the outputs to ensemble with. It uses the caller class to determine how to ensemble.
      Returns:
      the ensembled (averaged) output