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

  1. Instale Python 3.9.x en el entorno.
  2. 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.
  3. Tutorial completo: Añadir expresiones para añadir una métrica distance al tipo de dispositivo del robot en.

Acerca de esta tarea

Nota: Para completar esta guía de aprendizaje, utilice una plantilla de tipo de dispositivo de ejemplo y datos. Los tipos de dispositivo de ejemplo no utilizan la versión más reciente de los tipos de dispositivo y no dan soporte a las métricas de datos en modalidad continua. Para obtener más información, consulte Iniciación para usuarios.

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.

  1. Descargue el archivo credentials_as.json.
  2. Sustituya las variables por los datos y, a continuación, guarde el archivo en la máquina local.
Nota: No guarde el archivo de credenciales en ningún repositorio externo.

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:

  1. 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
  2. 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)
    				
  3. Cree un tipo de dispositivo de muestra y aplíquele la función simple utilizando la función Python incorporada del módulo bif que ha importado desde las funciones IoT.
    sample_entity_type = bif.PythonFunction(
        function_code = 'adjusted_distance',
        input_items = ['distance'],
        output_item = 'adjusted_distance',
        parameters = {}
            )
  4. 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

  1. En la pestaña Datos , pulse Crear métrica.
  2. Seleccione la función PythonFunction en el catálogo.
  3. Establezca el ámbito y pulse Siguiente.
  4. Seleccione distance como elemento de entrada.
  5. 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
  6. Pulse Siguiente.
  7. Especifique adjusted_distance como elemento de datos de salida.
  8. Especifique el tipo de datos como Número.
  9. Pulse Crear
  10. En la lista de elementos de datos, seleccione adjusted_distance.
  11. 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.