Package org.tribuo.multilabel.sgd.fm
Class FMMultiLabelModel
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>
,Serializable
,ONNXExportable
,ProtoSerializable<org.tribuo.protos.core.ModelProto>
The inference time version of a multi-label factorization machine trained using SGD.
See:
Rendle, S. Factorization machines. 2010 IEEE International Conference on Data Mining
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.tribuo.common.sgd.AbstractSGDModel
AbstractSGDModel.PredAndActive
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Protobuf serialization version.Fields inherited from class org.tribuo.common.sgd.AbstractSGDModel
addBias, modelParameters
Fields inherited from class org.tribuo.Model
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutput
Fields inherited from interface org.tribuo.ONNXExportable
PROVENANCE_METADATA_FIELD, SERIALIZER
Fields inherited from interface org.tribuo.protos.ProtoSerializable
DESERIALIZATION_METHOD_NAME, PROVENANCE_SERIALIZER
-
Method Summary
Modifier and TypeMethodDescriptionprotected FMMultiLabelModel
copy
(String newName, ModelProvenance newProvenance) Copies a model, replacing its provenance and name with the supplied values.static FMMultiLabelModel
deserializeFromProto
(int version, String className, com.google.protobuf.Any message) Deserialization factory.protected String
getDimensionName
(int index) Gets the name of the indexed output dimension.protected String
protected ONNXNode
onnxOutput
(ONNXNode input) Takes the unnormalized ONNX output of this model and applies an appropriate normalizer from the concrete class.predict
(Example<MultiLabel> example) Uses the model to predict the output for a single example.org.tribuo.protos.core.ModelProto
Serializes this object to a protobuf.Methods inherited from class org.tribuo.common.sgd.AbstractFMModel
exportONNXModel, getBiasesCopy, getExcuse, getFactorsCopy, getLinearWeightsCopy, getTopFeatures, writeONNXGraph
Methods inherited from class org.tribuo.common.sgd.AbstractSGDModel
getModelParameters, predictSingle
Methods inherited from class org.tribuo.Model
castModel, copy, createDataCarrier, deserialize, deserializeFromFile, deserializeFromStream, generatesProbabilities, getExcuses, getFeatureIDMap, getName, getOutputIDInfo, getProvenance, innerPredict, predict, predict, serializeToFile, serializeToStream, setName, toString, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.tribuo.ONNXExportable
exportONNXModel, saveONNXModel, serializeProvenance, writeONNXGraph
-
Field Details
-
CURRENT_VERSION
public static final int CURRENT_VERSIONProtobuf serialization version.- See Also:
-
-
Method Details
-
deserializeFromProto
public static FMMultiLabelModel 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 themessage
.
-
predict
Description copied from class:Model
Uses the model to predict the output for a single example.predict does not mutate the example.
Throws
IllegalArgumentException
if the example has no features or no feature overlap with the model.- Specified by:
predict
in classModel<MultiLabel>
- Parameters:
example
- the example to predict.- Returns:
- the result of the prediction.
-
serialize
public org.tribuo.protos.core.ModelProto serialize()Description copied from interface:ProtoSerializable
Serializes this object to a protobuf.- Specified by:
serialize
in interfaceProtoSerializable<org.tribuo.protos.core.ModelProto>
- Overrides:
serialize
in classModel<MultiLabel>
- Returns:
- The protobuf.
-
getDimensionName
Description copied from class:AbstractFMModel
Gets the name of the indexed output dimension.- Specified by:
getDimensionName
in classAbstractFMModel<MultiLabel>
- Parameters:
index
- The output dimension index.- Returns:
- The name of the requested output dimension.
-
copy
Description copied from class:Model
Copies a model, replacing its provenance and name with the supplied values.Used to provide the provenance removal functionality.
- Specified by:
copy
in classModel<MultiLabel>
- Parameters:
newName
- The new name.newProvenance
- The new provenance.- Returns:
- A copy of the model.
-
onnxModelName
- Specified by:
onnxModelName
in classAbstractFMModel<MultiLabel>
- Returns:
- Name to write into the ONNX Model.
-
onnxOutput
Description copied from class:AbstractFMModel
Takes the unnormalized ONNX output of this model and applies an appropriate normalizer from the concrete class.- Specified by:
onnxOutput
in classAbstractFMModel<MultiLabel>
- Parameters:
input
- Unnormalized ONNX leaf node.- Returns:
- Normalized ONNX leaf node.
-