pymoose.predictors.linear_predictor module#

class pymoose.predictors.linear_predictor.LinearClassifier(coeffs, intercepts=None, post_transform=None)[source]#

Bases: pymoose.predictors.linear_predictor.LinearPredictor

Linear classifier predictor interface.

Parameters
  • coeffs – Array-like convertible to a (n_outputs, n_weights)-shaped ndarray.

  • intercepts – Optional array-like convertible to a vector.

  • post_transform – a PostTransform enum variant describing how to convert the raw linear model scores into probabilistic classification outputs.

classmethod from_onnx(model_proto)[source]#

Construct LinearClassifier from a parsed ONNX model.

Parameters

model_proto – An ONNX ModelProto containing a LinearClassifier operator node.

Returns

A LinearClassifier with parameters and model configuration loaded from the ONNX model.

Raises
  • ValueError if ONNX graph is missing expected nodes.

  • RuntimeError if ONNX LinearClassifier node has an unsupported post-transform – function attribute.

post_transform(y)[source]#

Applies the classifier’s post transform function to a tensor.

Actual function used depends on value of PostTransform and number of classes provided at instantiation.

Parameters

y – A tensor

Returns

A tensor.

class pymoose.predictors.linear_predictor.LinearPredictor(coeffs, intercepts=None)[source]#

Bases: pymoose.predictors.predictor.Predictor

classmethod bias_trick(x, plc, dtype)[source]#

Construct a vector of 1s broadcastable to an input matrix x.

abstract classmethod from_onnx(model_proto)[source]#
abstract post_transform(y)[source]#
predictor_fn(x, fixedpoint_dtype)[source]#

Compute the core logic of a linear predictor function.

class pymoose.predictors.linear_predictor.LinearRegressor(coeffs, intercepts=None)[source]#

Bases: pymoose.predictors.linear_predictor.LinearPredictor

Linear regression predictor interface.

Parameters
  • coeffs – Array-like convertible to a (n_outputs, n_weights)-shaped ndarray.

  • intercepts – Optional array-like convertible to a vector.

classmethod from_onnx(model_proto)[source]#

Construct LinearRegressor from a parsed ONNX model.

Parameters

model_proto – An ONNX ModelProto containing a LinearRegressor operator node.

Returns

A LinearRegressor with weighhts and bias terms loaded from the ONNX model.

Raises

ValueError if ONNX graph is missing expected nodes.

post_transform(y)[source]#

Applies no-op to linear predictor function output.

class pymoose.predictors.linear_predictor.PostTransform(value)[source]#

Bases: enum.Enum

Variants of output processing for linear classification.

NONE = 1#
SIGMOID = 2#
SOFTMAX = 3#