Guía de aprendizaje: Adición de una función simple
En esta guía de aprendizaje, está escribiendo una función simple para identificar valores atípicos en la distancia recorrida por los robots. Pruebe esta sencilla función mediante un script antes de aplicarla a un tipo de dispositivo de muestra en.
Antes de empezar
- Instale Python 3.9.x en el entorno.
- Instale las funciones de IoT en su entorno local. Siga las instrucciones del documento Léame de las funciones de IoT.
Sugerencia: De forma alternativa, para instalar las funciones de IoT y sus dependencias, puede seguir los pasos de la sección Antes de empezar de Guía de aprendizaje: adición de una función personalizada. Clone el paquete iniciador HelloWorld e importe el paquete iniciador en PyCharm. Instale los requisitos de PyCharm. - Tutorial completo: Añadir expresiones para añadir una métrica
distanceal tipo de dispositivo del robot en.
Acerca de esta tarea
Está probando una función simple en el entorno local para asegurarse de que el cálculo funciona y de que la sintaxis es correcta.
En el script, cree un tipo de dispositivo de ejemplo, genere algunos datos de ejemplo y aplique la función simple a los datos de ejemplo para crear una nueva métrica adjusted_distance .
Pasos
Complete estos pasos para aplicar un cálculo a los datos de ejemplo utilizando una función simple.
Paso 1: definir el cálculo
Defina adjusted_distance de la siguiente manera:
adjusted_distance = distance * 0.9
Paso 2: guardar las credenciales en un archivo
Establecer credenciales para conectarse a.
- Descargue el archivo
credentials_as.json. - Sustituya las variables por los datos y, a continuación, guarde el archivo en la máquina local.
Paso 3: escribir una función simple en Python
Escriba un script, save_simple_function_locally.py, que ajuste la distancia recorrida por los robots. En el script, conéctese utilizando sus credenciales y guarde la función en un almacén de modelos local. Consulte los comentarios en línea para obtener las instrucciones.
#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)
Paso 4: guardar la función en el almacén de modelo de archivo local
Ejecute el script save_simple_function_locally.py desde el entorno local. Se crea un archivo KPI_MODEL_STOREadjusted_distance en el mismo directorio donde ha almacenado el script.
Paso 5: probar la función simple en el entorno local
Cree un script llamado test_my_simple_function_locally.py. En el script, complete estos pasos:
- Importar bibliotecas y paquetes 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 - Conéctate al :
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) - Cree un tipo de dispositivo de muestra y aplíquele la función simple utilizando la función Python incorporada del módulo
bifque ha importado desde las funciones IoT.sample_entity_type = bif.PythonFunction( function_code = 'adjusted_distance', input_items = ['distance'], output_item = 'adjusted_distance', parameters = {} ) - Ejecute el método execute_local_test del tipo de dispositivo de muestra para probar la función en su entorno local. Guarde los resultados en un archivo csv.
sample_entity_type.execute_local_test(db=db, generate_days=1, to_csv=True)
El script crea un nuevo elemento de datos adjusted_distance. Revise los resultados en el archivo .csv . Si tiene éxito, está listo para añadir la función simple utilizando la interfaz de usuario.
Paso 6: aplicar la función simple al tipo de dispositivo de robot
- En la pestaña Datos , pulse Crear métrica.
- Seleccione la función
PythonFunctionen el catálogo. - Establezca el ámbito y pulse Siguiente.
- Seleccione
distancecomo elemento de entrada. - Especifique o pegue la función simple en el campo
function_code. Especifique:def f(df, parameters = None): adjusted_distance = df['distance'] * 0.9 return adjusted_distance - Pulse Siguiente.
- Especifique
adjusted_distancecomo elemento de datos de salida. - Especifique el tipo de datos como Número.
- Pulse Crear
- En la lista de elementos de datos, seleccione
adjusted_distance. - Ver los nuevos datos de métrica de
adjusted_distance.
Espere hasta 5 minutos para evaluar la función simple con los datos de la muestra.