Source code for v2_model_server.v2_model_server

# Copyright 2019 Iguazio
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Generated by nuclio.export.NuclioExporter

import mlrun

from cloudpickle import load
from typing import List
from sklearn.datasets import load_iris
import numpy as np

import warnings

warnings.filterwarnings("ignore")


[docs]class ClassifierModel(mlrun.serving.V2ModelServer):
[docs] def load(self): """load and initialize the model and/or other elements""" model_file, extra_data = self.get_model(".pkl") self.model = load(open(model_file, "rb"))
[docs] def predict(self, body: dict) -> List: """Generate model predictions from sample.""" feats = np.asarray(body["inputs"]) result: np.ndarray = self.model.predict(feats) return result.tolist()