0Pricing
MLOps Academy · Leçon

Écrire un prédicteur personnalisé

Intégrez votre propre prétraitement et votre code de modèle.

Écrire un prédicteur personnalisé est une leçon MLOps Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage MLOps Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MLOps Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

When Built-ins Fall Short

The built-in runtimes cover sklearn, PyTorch, and friends. But when your model needs special logic, you write your own. A custom predictor gives you full control. 🛠️

It Is Just a Container

A custom predictor is your own container image that speaks the KServe protocol. You package your code, model, and dependencies into one image and hand it to KServe.

The KServe Python SDK

The kserve Python package gives you a base class to extend. You subclass kserve.Model and fill in how your model loads and predicts.

import kserve

class MyModel(kserve.Model):
    def __init__(self, name):
        super().__init__(name)
        self.ready = False

Implement load()

The load method reads your model from disk into memory once at startup. When it finishes, you set ready to True so KServe knows it can serve.

def load(self):
    self.model = joblib.load("/mnt/models/model.joblib")
    self.ready = True

Implement predict()

The predict method takes the request payload, runs your model, and returns the result as a dict. This is where your real inference logic lives.

def predict(self, payload, headers=None):
    rows = payload["instances"]
    preds = self.model.predict(rows)
    return {"predictions": preds.tolist()}

Custom Preprocessing Fits Here

Need to reshape inputs or apply business rules before inference? Put that logic right inside predict or in a preprocess step. The runtime never had to know about it.

Start the Model Server

You wire your class into a ModelServer and start it. KServe's server handles HTTP, health, and the protocol so you only write model code. ModelServer runs the loop.

if __name__ == "__main__":
    model = MyModel("custom-model")
    model.load()
    kserve.ModelServer().start([model])

Package It in a Dockerfile

You build a container that installs kserve, copies your code, and runs the server. This Dockerfile produces the image KServe will launch.

FROM python:3.11-slim
RUN pip install kserve joblib scikit-learn
COPY model.py /app/model.py
CMD ["python", "/app/model.py"]

Point the Spec at Your Image

In the InferenceService, the predictor uses a plain containers block instead of a model format. You name your image and KServe runs it.

spec:
  predictor:
    containers:
      - name: kserve-container
        image: my-registry/custom-model:latest

Mounting Your Model

You can still set a storageUri, and KServe mounts the downloaded model at a known path your code reads. The container and the storageUri work together.

Same Protocol, Your Logic

Because you implement the standard endpoints, clients call your custom predictor exactly like a built-in one. The protocol stays identical, only the internals are yours.

Quick Check

You subclass kserve.Model for a custom predictor. Which method loads the model into memory?

Recap

You built a custom predictor by subclassing kserve.Model, filling in load and predict, and shipping it as a container. Same protocol, your own logic. Awesome work! 🎉

Questions Fréquemment Posées

La leçon « Écrire un prédicteur personnalisé » est-elle gratuite ?

Oui — le texte complet de « Écrire un prédicteur personnalisé » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours MLOps Academy, passe à CoddyKit PRO. Le cours MLOps Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Écrire un prédicteur personnalisé » ?

Intégrez votre propre prétraitement et votre code de modèle. Tu pratiques MLOps Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer MLOps Academy ?

Aucune expérience préalable n'est requise. MLOps Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Écrire un prédicteur personnalisé » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon MLOps Academy ?

Oui. Chaque leçon MLOps Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. La ressource InferenceService
  2. Mettre à l’échelle jusqu’à zéro, puis redémarrer
  3. Écrire un prédicteur personnalisé
  4. KServe ou Seldon Core
← Retour à MLOps Academy