Operation Model¶
- class dffml.operation.model.ModelPredictConfig(model: dffml.model.model.Model)[source]¶
- no_enforce_immutable()¶
By default, all properties of a config object are immutable. If you would like to mutate immutable properties, you must explicitly call this method using it as a context manager.
Examples
>>> from dffml import config >>> >>> @config ... class MyConfig: ... C: int >>> >>> config = MyConfig(C=2) >>> with config.no_enforce_immutable(): ... config.C = 1
- async dffml.operation.model.model_predict(self, features: Dict[str, Any]) Dict[str, Any] [source]¶
Predict using dffml models.
- Parameters:
features (dict) – A dictionary contaning feature name and feature value.
- Returns:
A dictionary containing prediction.
- Return type:
Examples
The following example shows how to use model_predict.
>>> import asyncio >>> from dffml import * >>> >>> slr_model = SLRModel( ... features=Features(Feature("Years", int, 1)), ... predict=Feature("Salary", int, 1), ... location="tempdir", ... ) >>> dataflow = DataFlow( ... operations={ ... "prediction_using_model": model_predict, ... "get_single": GetSingle, ... }, ... configs={"prediction_using_model": ModelPredictConfig(model=slr_model)}, ... ) >>> dataflow.seed.append( ... Input( ... value=[model_predict.op.outputs["prediction"].name], ... definition=GetSingle.op.inputs["spec"], ... ) ... ) >>> >>> async def main(): ... await train( ... slr_model, ... {"Years": 0, "Salary": 10}, ... {"Years": 1, "Salary": 20}, ... {"Years": 2, "Salary": 30}, ... {"Years": 3, "Salary": 40}, ... ) ... inputs = [ ... Input( ... value={"Years": 4}, definition=model_predict.op.inputs["features"], ... ) ... ] ... async for ctx, results in MemoryOrchestrator.run(dataflow, inputs): ... print(results) >>> >>> asyncio.run(main()) {'model_predictions': {'Salary': {'confidence': 1.0, 'value': 50}}}