Class DefaultTranslatorFactory

java.lang.Object
ai.djl.translate.DefaultTranslatorFactory
All Implemented Interfaces:
TranslatorFactory

public class DefaultTranslatorFactory extends Object implements TranslatorFactory
A default implementation of TranslatorFactory.
  • Field Details

  • Constructor Details

    • DefaultTranslatorFactory

      public DefaultTranslatorFactory()
  • Method Details

    • registerTranslator

      public <I, O> void registerTranslator(Class<I> input, Class<O> output, Translator<I,O> translator)
      Registers a Translator with the TranslatorFactory.
      Type Parameters:
      I - the model input type
      O - the model output type
      Parameters:
      input - the input data type
      output - the output data type
      translator - the Translator to be registered
    • getSupportedTypes

      public Set<ai.djl.util.Pair<Type,Type>> getSupportedTypes()
      Returns supported input/output classes.
      Specified by:
      getSupportedTypes in interface TranslatorFactory
      Returns:
      a set of supported input/output classes
    • isSupported

      public boolean isSupported(Class<?> input, Class<?> output)
      Returns if the input/output is supported by the TranslatorFactory.
      Specified by:
      isSupported in interface TranslatorFactory
      Parameters:
      input - the input class
      output - the output class
      Returns:
      true if the input/output type is supported
    • newInstance

      public <I, O> Translator<I,O> newInstance(Class<I> input, Class<O> output, Model model, Map<String,?> arguments) throws TranslateException
      Returns a new instance of the Translator class.
      Specified by:
      newInstance in interface TranslatorFactory
      Type Parameters:
      I - the input data type
      O - the output data type
      Parameters:
      input - the input class
      output - the output class
      model - the Model that uses the Translator
      arguments - the configurations for a new Translator instance
      Returns:
      a new instance of the Translator class
      Throws:
      TranslateException - if failed to create Translator instance