Class OCILabelConverter

java.lang.Object
org.tribuo.interop.oci.OCILabelConverter
All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.config.Configurable, com.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>, Serializable, OCIOutputConverter<Label>, ProtoSerializable<org.tribuo.interop.oci.protos.OCIOutputConverterProto>

public final class OCILabelConverter extends Object implements OCIOutputConverter<Label>
A converter for DenseMatrix and DenseVector into Label Predictions.

If the input has length 1 it is assumed to be a single label value, otherwise it must have length = outputIDInfo.size().

See Also:
  • Field Details

    • CURRENT_VERSION

      public static final int CURRENT_VERSION
      Protobuf serialization version.
      See Also:
  • Constructor Details

    • OCILabelConverter

      public OCILabelConverter(boolean generatesProbabilities)
      Constructs an OCILabelConverter with the specified parameters.
      Parameters:
      generatesProbabilities - Does this converter emit probabilities?
  • Method Details

    • deserializeFromProto

      public static OCILabelConverter deserializeFromProto(int version, String className, com.google.protobuf.Any message) throws com.google.protobuf.InvalidProtocolBufferException
      Deserialization factory.
      Parameters:
      version - The serialized object version.
      className - The class name.
      message - The serialized data.
      Returns:
      The deserialized object.
      Throws:
      com.google.protobuf.InvalidProtocolBufferException - If the protobuf could not be parsed from the message.
    • convertOutput

      public Prediction<Label> convertOutput(DenseVector scores, int numValidFeature, Example<Label> example, ImmutableOutputInfo<Label> outputIDInfo)
      Description copied from interface: OCIOutputConverter
      Converts a dense vector into a single prediction of the appropriate type.
      Specified by:
      convertOutput in interface OCIOutputConverter<Label>
      Parameters:
      scores - The score vector.
      numValidFeature - The number of valid features (stored in the prediction).
      example - The example (stored in the prediction).
      outputIDInfo - The output information.
      Returns:
      A prediction representing the value of this score vector.
    • convertOutput

      public List<Prediction<Label>> convertOutput(DenseMatrix scores, int[] numValidFeatures, List<Example<Label>> examples, ImmutableOutputInfo<Label> outputIDInfo)
      Description copied from interface: OCIOutputConverter
      Converts a dense matrix into a list of predictions of the appropriate type.
      Specified by:
      convertOutput in interface OCIOutputConverter<Label>
      Parameters:
      scores - The score matrix.
      numValidFeatures - The number of valid features in each example (stored in the prediction).
      examples - The examples (stored in the prediction).
      outputIDInfo - The output information.
      Returns:
      A list of predictions representing the value of this score matrix.
    • generatesProbabilities

      public boolean generatesProbabilities()
      Description copied from interface: OCIOutputConverter
      Does this OCIOutputConverter generate probabilities?
      Specified by:
      generatesProbabilities in interface OCIOutputConverter<Label>
      Returns:
      True if it produces a probability distribution in the Prediction.
    • getTypeWitness

      public Class<Label> getTypeWitness()
      Description copied from interface: OCIOutputConverter
      The type witness used when deserializing the OCI model from a protobuf.

      The default implementation throws UnsupportedOperationException for compatibility with implementations which don't use protobuf serialization. This implementation will be removed in the next major version of Tribuo.

      Specified by:
      getTypeWitness in interface OCIOutputConverter<Label>
      Returns:
      The output class this object produces.
    • toString

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

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • serialize

      public org.tribuo.interop.oci.protos.OCIOutputConverterProto serialize()
      Description copied from interface: ProtoSerializable
      Serializes this object to a protobuf.
      Specified by:
      serialize in interface ProtoSerializable<org.tribuo.interop.oci.protos.OCIOutputConverterProto>
      Returns:
      The protobuf.
    • getProvenance

      public com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance getProvenance()
      Specified by:
      getProvenance in interface com.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>