Mettre un modèle à l'essai

Apprentissage Machine de bout en bout

Joshua Stapleton

Machine Learning Engineer

Déploiement

  • Prochaine étape du cycle de vie en Machine Learning
  • Après l'entraînement et l'évaluation
  • Rendre le modèle utilisable

Phase de déploiement du cycle de vie en Machine Learning

Apprentissage Machine de bout en bout

Mise à l'essai

  • Tests :
    • Le modèle ne plante pas
    • Retourne des sorties raisonnables à l'inférence
    • Retourne des sorties en un temps raisonnable

Phase de déploiement du cycle de vie en Machine Learning

Apprentissage Machine de bout en bout

Unittest

  • Mise à l'essai
    • Signaler les événements anormaux ou inattendus.
    • Vérifier que le modèle se comporte comme prévu.

 

  • unittest
    • Bibliothèque Python intégrée pour écrire des tests.
    • Cas de test : type de test couvert.
    • Méthode de cas de test : test unique d'un aspect du cas.
Apprentissage Machine de bout en bout

Utilisation de Unittest

import unittest


class TestModelInference(unittest.TestCase):
def setUp(self): self.model = fitted_model self.X_test = X_test
def test_prediction_output_shape(self): y_pred = self.model.predict(self.X_test) self.assertEqual(y_pred.shape[0], self.X_test.shape[0])
if __name__ == '__main__': unittest.main()
Apprentissage Machine de bout en bout

Utilisation de Unittest (suite)

 

    def test_input_values(self):
        print("Running test_input_values test case")

        # Get inputs (each row in testing set)
        for input in X_test: 
            for value in input:
                # if value is cholestrol, for example:
                self.assertIn(value, [0, 500])
Apprentissage Machine de bout en bout

Testing in Python

Apprentissage Machine de bout en bout

À faire et à éviter en mise à l'essai

Bonnes pratiques

  • À NE PAS faire…
    • Trop de tests
    • Tests redondants
    • Tests pour des composants très fiables

 

  • À FAIRE…
    • Rédiger des tests pour accroître la fiabilité.
    • Rédiger des tests pour vérifier/encadrer les attentes.
    • Rédiger des tests pour toute nouvelle fonction.
Apprentissage Machine de bout en bout

Avantages des tests

Avantages du TDD

  • Confiance en développement
    • Itération stable
    • Moins d'inquiétude quant aux bogues
  • Rendement
    • Fiabilité
    • Qualité production
Apprentissage Machine de bout en bout

Passons à la pratique !

Apprentissage Machine de bout en bout

Preparing Video For Download...