Package org.tribuo.interop.tensorflow
Class LabelConverter
java.lang.Object
org.tribuo.interop.tensorflow.LabelConverter
- 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
,OutputConverter<Label>
Can convert a
Label
into a Tensor
containing one hot encoding of the label and
can convert a TFloat16
or TFloat32
into a Prediction
or a Label
.- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionconvertToBatchOutput
(org.tensorflow.Tensor tensor, ImmutableOutputInfo<Label> outputIDInfo) Converts aTensor
containing multiple outputs into a list ofOutput
s.convertToBatchPrediction
(org.tensorflow.Tensor tensor, ImmutableOutputInfo<Label> outputIDInfo, int[] numValidFeatures, List<Example<Label>> examples) Converts aTensor
containing multiple outputs into a list ofPrediction
s.convertToOutput
(org.tensorflow.Tensor tensor, ImmutableOutputInfo<Label> outputIDInfo) Converts aTensor
into the specified output type.convertToPrediction
(org.tensorflow.Tensor tensor, ImmutableOutputInfo<Label> outputIDInfo, int numValidFeatures, Example<Label> example) Converts aTensor
into aPrediction
.org.tensorflow.Tensor
convertToTensor
(List<Example<Label>> examples, ImmutableOutputInfo<Label> outputIDInfo) Converts a list ofExample
into aTensor
representing all the outputs in the list.org.tensorflow.Tensor
convertToTensor
(Label example, ImmutableOutputInfo<Label> outputIDInfo) Converts anOutput
into aTensor
representing it's output.boolean
Does this OutputConverter generate probabilities.com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance
BiFunction<org.tensorflow.op.Ops,
com.oracle.labs.mlrg.olcut.util.Pair<org.tensorflow.op.core.Placeholder<? extends org.tensorflow.types.family.TNumber>, org.tensorflow.Operand<org.tensorflow.types.family.TNumber>>, org.tensorflow.Operand<org.tensorflow.types.family.TNumber>> loss()
Returns a cross-entropy loss.<V extends org.tensorflow.types.family.TNumber>
BiFunction<org.tensorflow.op.Ops,org.tensorflow.Operand<V>, org.tensorflow.op.Op> Applies a softmax.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.oracle.labs.mlrg.olcut.config.Configurable
postConfig
-
Constructor Details
-
LabelConverter
public LabelConverter()Constructs a LabelConverter.
-
-
Method Details
-
loss
public BiFunction<org.tensorflow.op.Ops,com.oracle.labs.mlrg.olcut.util.Pair<org.tensorflow.op.core.Placeholder<? extends org.tensorflow.types.family.TNumber>, loss()org.tensorflow.Operand<org.tensorflow.types.family.TNumber>>, org.tensorflow.Operand<org.tensorflow.types.family.TNumber>> Returns a cross-entropy loss.- Specified by:
loss
in interfaceOutputConverter<Label>
- Returns:
- The cross-entropy loss.
-
outputTransformFunction
public <V extends org.tensorflow.types.family.TNumber> BiFunction<org.tensorflow.op.Ops,org.tensorflow.Operand<V>, outputTransformFunction()org.tensorflow.op.Op> Applies a softmax.- Specified by:
outputTransformFunction
in interfaceOutputConverter<Label>
- Type Parameters:
V
- The softmax input type (should be TFloat32).- Returns:
- A function which applies a softmax.
-
convertToPrediction
public Prediction<Label> convertToPrediction(org.tensorflow.Tensor tensor, ImmutableOutputInfo<Label> outputIDInfo, int numValidFeatures, Example<Label> example) Description copied from interface:OutputConverter
Converts aTensor
into aPrediction
.- Specified by:
convertToPrediction
in interfaceOutputConverter<Label>
- Parameters:
tensor
- The tensor to convert.outputIDInfo
- The output info to use to identify the outputs.numValidFeatures
- The number of valid features used by the prediction.example
- The example to insert into the prediction.- Returns:
- A prediction object.
-
convertToOutput
Description copied from interface:OutputConverter
Converts aTensor
into the specified output type.- Specified by:
convertToOutput
in interfaceOutputConverter<Label>
- Parameters:
tensor
- The tensor to convert.outputIDInfo
- The output info to use to identify the outputs.- Returns:
- A output.
-
convertToBatchPrediction
public List<Prediction<Label>> convertToBatchPrediction(org.tensorflow.Tensor tensor, ImmutableOutputInfo<Label> outputIDInfo, int[] numValidFeatures, List<Example<Label>> examples) Description copied from interface:OutputConverter
Converts aTensor
containing multiple outputs into a list ofPrediction
s.- Specified by:
convertToBatchPrediction
in interfaceOutputConverter<Label>
- Parameters:
tensor
- The tensor to convert.outputIDInfo
- The output info to use to identify the outputs.numValidFeatures
- The number of valid features used by the prediction.examples
- The example to insert into the prediction.- Returns:
- A list of predictions.
-
convertToBatchOutput
public List<Label> convertToBatchOutput(org.tensorflow.Tensor tensor, ImmutableOutputInfo<Label> outputIDInfo) Description copied from interface:OutputConverter
Converts aTensor
containing multiple outputs into a list ofOutput
s.- Specified by:
convertToBatchOutput
in interfaceOutputConverter<Label>
- Parameters:
tensor
- The tensor to convert.outputIDInfo
- The output info to use to identify the outputs.- Returns:
- A list of outputs.
-
convertToTensor
public org.tensorflow.Tensor convertToTensor(Label example, ImmutableOutputInfo<Label> outputIDInfo) Description copied from interface:OutputConverter
Converts anOutput
into aTensor
representing it's output.- Specified by:
convertToTensor
in interfaceOutputConverter<Label>
- Parameters:
example
- The output to convert.outputIDInfo
- The output info to use to identify the outputs.- Returns:
- A Tensor representing this output.
-
convertToTensor
public org.tensorflow.Tensor convertToTensor(List<Example<Label>> examples, ImmutableOutputInfo<Label> outputIDInfo) Description copied from interface:OutputConverter
Converts a list ofExample
into aTensor
representing all the outputs in the list. It accepts a list of Example rather than a list of Output for efficiency reasons.- Specified by:
convertToTensor
in interfaceOutputConverter<Label>
- Parameters:
examples
- The examples to convert.outputIDInfo
- The output info to use to identify the outputs.- Returns:
- A Tensor representing all the supplied Outputs.
-
generatesProbabilities
public boolean generatesProbabilities()Description copied from interface:OutputConverter
Does this OutputConverter generate probabilities.- Specified by:
generatesProbabilities
in interfaceOutputConverter<Label>
- Returns:
- True if it produces a probability distribution in the
Prediction
.
-
toString
-
getProvenance
public com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance getProvenance()- Specified by:
getProvenance
in interfacecom.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>
-