Tutoriel: Ajout d'une fonction simple

Dans ce tutoriel, vous écrivez une fonction simple pour identifier des valeurs aberrantes dans la distance parcourue par des robots. Testez cette fonction simple à l'aide d'un script avant de l'appliquer à un exemple de type de dispositif dans.

Avant de commencer

  1. Installez Python 3.9.x dans votre environnement.
  2. Installez IoT Functions dans votre environnement local. Suivez les instructions dans le fichier Readme des fonctions IoT.
    Astuce: Pour installer IoT Functions et ses dépendances, vous pouvez également suivre les étapes de la section Avant de commencer du Tutoriel: Ajout d'une fonction personnalisée. Clonez le module de démarrage HelloWorld et importez-le dans PyCharm. Installez les éléments requis depuis PyCharm.
  3. Tutoriel complet : Ajout d'expressions pour ajouter un distance métrique au type de dispositif robot dans.

A propos de cette tâche

Remarque: Pour exécuter ce tutoriel, vous utilisez un exemple de modèle de type de terminal et des données. Les exemples de type de terminal n'utilisent pas la dernière version des types de terminal et ne prennent pas en charge les métriques de flux de données en continu. Pour plus d'informations, voir Initiation pour les utilisateurs.

Vous testez une fonction simple dans votre environnement local pour vous assurer que le calcul fonctionne et que la syntaxe est correcte.

Dans le script, vous créez un exemple de type de terminal, générez des exemples de données et appliquez la fonction simple aux exemples de données pour créer une nouvelle métrique adjusted_distance .

Etapes

Procédez comme suit pour appliquer un calcul à des exemples de données à l'aide d'une fonction simple.

Etape 1 : Définir votre calcul

Définissez adjusted_distance comme suit :

adjusted_distance = distance * 0.9

Etape 2 : Sauvegarder vos données d'identification dans un fichier

Définir les informations d'identification pour se connecter à.

  1. Téléchargez le fichier credentials_as.json.
  2. Remplacez les variables par vos données, puis sauvegardez le fichier sur votre machine locale.
Remarque: ne sauvegardez pas le fichier de données d'identification dans un référentiel externe.

Etape 3 : Ecrire une fonction simple dans Python

Écrivez un script, save_simple_function_locally.py, qui ajuste la distance parcoure par les robots. Dans le script, connectez-vous à l'aide de vos informations d'identification et enregistrez la fonction dans un magasin de modèles local. Consultez les instruction dans les commentaires en ligne.

#Import packages and libraries

import datetime as dt
import json
import pandas as pd
import numpy as np
from sqlalchemy import Column, Integer, String, Float, DateTime, Boolean, func
import iotfunctions.bif as bif
from iotfunctions.metadata import EntityType, LocalEntityType
from iotfunctions.db import Database
from iotfunctions.dbtables import FileModelStore


#Connect to 
with open('credentials_as.json', encoding='utf-8') as F:
    credentials = json.loads(F.read())
db_schema = None
db = Database(credentials=credentials)

#Write the function

def f(df, parameters = None):
    adjusted_distance = df['distance'] * 0.9
    return adjusted_distance

#Save the function to a local model store
model_store = FileModelStore()
model_store.store_model('adjusted_distance', f)

Etape 4 : Sauvegarder la fonction dans un magasin de modèles local

Exécutez le script save_simple_function_locally.py à partir de votre environnement local. Un fichier KPI_MODEL_STOREadjusted_distance est créé dans le même répertoire que celui où vous avez stocké votre script.

Etape 5 : Tester votre fonction simple dans votre environnement local

Créez un script appelé test_my_simple_function_locally.py. Dans le script, procédez comme suit :

  1. Importez des bibliothèque et des packages Python :
     import datetime as dt
     import json
     import pandas as pd
     import numpy as np
     from sqlalchemy import Column, Integer, String, Float, DateTime, Boolean, func
     import iotfunctions.bif as bif
     from iotfunctions.metadata import EntityType, LocalEntityType
     from iotfunctions.db import Database
     from iotfunctions.dbtables import FileModelStore
  2. Se connecter au :
     with open('credentials_as.json', encoding='utf-8') as F:
         credentials = json.loads(F.read())
     db_schema = None
     model_store = FileModelStore()
     db = Database(credentials=credentials, model_store=model_store)
    				
  3. Créez un exemple de type de dispositif et transmettez la fonction simple à l'aide de la fonction PythonFunction intégrée à partir du module bif que vous avez importé à partir des fonctions IoT.
    sample_entity_type = bif.PythonFunction(
        function_code = 'adjusted_distance',
        input_items = ['distance'],
        output_item = 'adjusted_distance',
        parameters = {}
            )
  4. Exécutez la méthode execute_local_test de l'exemple de type de dispositif, afin de tester la fonction dans votre environnement local. Sauvegardez les résultats dans un fichier csv.
    sample_entity_type.execute_local_test(db=db, generate_days=1, to_csv=True)

Le script crée l'élément de données adjusted_distance. Passez en revue les résultats dans le fichier .csv . En cas de succès, vous êtes prêt à ajouter la fonction simple à l'aide de l'interface utilisateur.

Étape 6 : Appliquer la fonction simple au type de dispositif Robot

  1. Dans l'onglet Données , cliquez sur Mesure Creat.
  2. Sélectionnez la fonction PythonFunction dans le catalogue.
  3. Définissez la portée et cliquez sur Suivant.
  4. Sélectionnez distance comme élément d'entrée.
  5. Entrez ou collez la fonction simple dans la zone function_code. Entrez :
    def f(df, parameters = None):
     adjusted_distance = df['distance'] * 0.9
     return adjusted_distance
  6. Cliquez sur Suivant
  7. Spécifiez adjusted_distance comme élément de données de sortie.
  8. Spécifiez le type de données en tant que nombre.
  9. Cliquez sur Créer
  10. Dans la liste des éléments de données, sélectionnez adjusted_distance.
  11. Affichez les nouvelles données de métrique adjusted_distance .

Attendez jusqu'à 5 minutes pour évaluer la fonction simple par rapport aux données de l'échantillon.