Source code for openeo_udf.server.data_model.machine_learn_schema
# -*- coding: utf-8 -*-
from pydantic import BaseModel, Schema as pydSchema
__license__ = "Apache License, Version 2.0"
__author__ = "Soeren Gebbert"
__copyright__ = "Copyright 2018, Soeren Gebbert"
__maintainer__ = "Soeren Gebbert"
__email__ = "soerengebbert@googlemail.com"
EXAMPLE = {"framework": "sklearn",
"name": "random_forest",
"description": "A random forest model",
"path": "/tmp/model.pkl.xz"}
[docs]class MachineLearnModel(BaseModel):
"""A machine learn model that should be applied to the UDF data."""
framework: str = pydSchema(..., description="The framework that was used to train the model",
enum=["sklearn", "pytorch", "tensorflow", "R"],
examples=[{"framework": "sklearn"}])
name: str = pydSchema(..., description="The name of the machine learn model.")
description: str = pydSchema(..., description="The description of the machine learn model.")
path: str = pydSchema(None, description="The path to the machine learn model file "
"to which the UDF must have read access.")
md5_hash: str = pydSchema(None, description="The md5 checksum of the model that should be used to identify "
"the machine learn model in the UDF storage system. "
"The machine learn model must be uploaded to the UDF server.")
[docs] class Config:
schema_extra = {
'examples': [EXAMPLE]
}