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
- Installez Python 3.9.x dans votre environnement.
- 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. - Tutoriel complet : Ajout d'expressions pour ajouter un
distance
métrique au type de dispositif robot dans.
A propos de cette tâche
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 à.
- Téléchargez le fichier
credentials_as.json
. - Remplacez les variables par vos données, puis sauvegardez le fichier sur votre machine locale.
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 :
- 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
- 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)
- 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 = {} )
- 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
- Dans l'onglet Données , cliquez sur Mesure Creat.
- Sélectionnez la fonction
PythonFunction
dans le catalogue. - Définissez la portée et cliquez sur Suivant.
- Sélectionnez
distance
comme élément d'entrée. - 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
- Cliquez sur Suivant
- Spécifiez
adjusted_distance
comme élément de données de sortie. - Spécifiez le type de données en tant que nombre.
- Cliquez sur Créer
- Dans la liste des éléments de données, sélectionnez
adjusted_distance
. - 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.