Class LinearSGDModel
java.lang.Object
org.tribuo.Model<MultiLabel>
org.tribuo.common.sgd.AbstractSGDModel<MultiLabel>
org.tribuo.common.sgd.AbstractLinearSGDModel<MultiLabel>
org.tribuo.multilabel.sgd.linear.LinearSGDModel
- 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 linear model trained using SGD.
See:
Bottou L. "Large-Scale Machine Learning with Stochastic Gradient Descent" Proceedings of COMPSTAT, 2010.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.tribuo.common.sgd.AbstractSGDModel
AbstractSGDModel.PredAndActive -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intProtobuf serialization version.Fields inherited from class org.tribuo.common.sgd.AbstractSGDModel
addBias, modelParametersFields inherited from class org.tribuo.Model
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutputFields inherited from interface org.tribuo.ONNXExportable
PROVENANCE_METADATA_FIELD, SERIALIZERFields inherited from interface org.tribuo.protos.ProtoSerializable
DESERIALIZATION_METHOD_NAME, PROVENANCE_SERIALIZER -
Method Summary
Modifier and TypeMethodDescriptionprotected LinearSGDModelcopy(String newName, ModelProvenance newProvenance) Copies a model, replacing its provenance and name with the supplied values.static LinearSGDModeldeserializeFromProto(int version, String className, com.google.protobuf.Any message) Deserialization factory.protected StringgetDimensionName(int index) Gets the name of the indexed output dimension.protected Stringprotected ONNXNodeonnxOutput(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.ModelProtoSerializes this object to a protobuf.Methods inherited from class org.tribuo.common.sgd.AbstractLinearSGDModel
exportONNXModel, getExcuse, getTopFeatures, getWeightsCopy, writeONNXGraphMethods inherited from class org.tribuo.common.sgd.AbstractSGDModel
getModelParameters, predictSingleMethods 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, validateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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 LinearSGDModel 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:ModelUses the model to predict the output for a single example.predict does not mutate the example.
Throws
IllegalArgumentExceptionif the example has no features or no feature overlap with the model.- Specified by:
predictin 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:ProtoSerializableSerializes this object to a protobuf.- Specified by:
serializein interfaceProtoSerializable<org.tribuo.protos.core.ModelProto>- Overrides:
serializein classModel<MultiLabel>- Returns:
- The protobuf.
-
getDimensionName
Description copied from class:AbstractLinearSGDModelGets the name of the indexed output dimension.- Specified by:
getDimensionNamein classAbstractLinearSGDModel<MultiLabel>- Parameters:
index- The output dimension index.- Returns:
- The name of the requested output dimension.
-
copy
Description copied from class:ModelCopies a model, replacing its provenance and name with the supplied values.Used to provide the provenance removal functionality.
- Specified by:
copyin classModel<MultiLabel>- Parameters:
newName- The new name.newProvenance- The new provenance.- Returns:
- A copy of the model.
-
onnxOutput
Description copied from class:AbstractLinearSGDModelTakes the unnormalized ONNX output of this model and applies an appropriate normalizer from the concrete class.- Specified by:
onnxOutputin classAbstractLinearSGDModel<MultiLabel>- Parameters:
input- Unnormalized ONNX leaf node.- Returns:
- Normalized ONNX leaf node.
-
onnxModelName
- Specified by:
onnxModelNamein classAbstractLinearSGDModel<MultiLabel>- Returns:
- Name to write into the ONNX Model.
-