Traducción no actualizada
El operador Modelo de Python proporciona una forma sencilla de ejecutar modelos de Python para realizar predicciones y clasificaciones en tiempo real. El operador ahora permite seleccionar un modelo que se cargará desde IBM Cloud Object Storage o IBM Watson Machine Learning.
Cómo funciona
Carga desde Cloud Object Storage
Los objetos de archivo son los recursos del archivo externo que necesita el código en el momento de la ejecución. La función process()
de Machine Learning puede esperar que estos recursos estén disponibles en el sistema de archivos local en tiempo de ejecución antes de que se invoque por primera vez.
Puede especificar más de un objeto de archivo, por ejemplo, cuando desee utilizar un tokenizador o un diccionario para el análisis de texto. Para cada objeto de archivo, se especifica su vía de acceso de ubicación en Cloud Object Storage y un nombre de referencia normalmente corto que se utiliza en su función de devolución de llamada. Al pulsar Generar devoluciones de llamadas se añade un apéndice de función de devolución de llamada al código para cada objeto de archivo.
Cuando el flujo empieza a ejecutarse, cada objeto de archivo especificado se descarga desde Cloud Object Storage y se coloca en una ubicación exclusiva en el sistema de archivos local en tiempo de ejecución. En este punto, se llama a la función de devolución de llamada con la vía de acceso del archivo local en tiempo de ejecución como argumento. A continuación, la función de devolución de llamada crea una instancia y mantiene el objeto respectivo para su uso en el proceso subsiguiente.
Todos los objetos de archivo especificados deben estar disponibles en Cloud Object Storage antes de llamar por primera vez a la función process()
. Hasta entonces, se retienen todos los sucesos de entrada.
Cloud Object Storage se explora continuamente y se comprueba si el objeto de archivo se ha actualizado. Si es así, el archivo se vuelve a cargar en el sistema de archivos local en tiempo de ejecución. Luego, se vuelve a llamar a su función de devolución de llamada, la cual vuelve deserializar el objeto respectivo y actualiza el estado con el nuevo objeto modelo, sin reiniciar el flujo.
Importante
Los objetos Python que carga en Cloud Object Storage deben crearse con la misma versión de paquetes que se utiliza en el flujo de secuencias.
Para ver la lista de paquetes preinstalados e instalados por el usuario, vaya al lienzo, pulse y luego pulse Tiempo de ejecución.
Ejemplo
Objetivo: Ejecutar el análisis predictivo utilizando un tokenizador y un modelo que se han cargado en Cloud Object Storage. Después de definir los objetos de archivo y pulsar en Generar devoluciones de llamada, generamos apéndices para las funciones de devolución de llamada load_model() y load_tokenizer().
import requests
import sys
import os
import pickle
def init(state):
pass
def process(event, state):
text = event[‘tweet’]
text_t = state[‘vectorizer’].transform([text])
y_pred = state[‘classifier’].predict(text_t) # predicts class as number
labels = [‘irrelevant’, ‘negative’, ‘neutral’, ‘positive’]
event[‘sentiment’] = labels[y_pred]
return event
def load_classifier(state, path_classifier):
state[‘classifier’] = pickle.load(open(path_classifier, “rb” ))
def load_vectorizer(state, path_vectorizer):
state[‘vectorizer’] = pickle.load(open(path_vectorizer, “rb” ))
Carga desde Watson Machine Learning
Si selecciona Watson Machine Learning como origen del modelo que se va a cargar, se muestran todos los modelos de Python de todas las instancias de Machine Learning asociadas. Seleccione el modelo que desea cargar.
Se llama a la función load_model cuando el modelo se carga por primera vez. Se comprueba continuamente si el modelo se ha actualizado en Watson Machine Learning y, si es así, se vuelve a invocar la función load_model con el modelo actualizado. Ahora el modelo forma parte del estado que se utilizará posteriormente en la función de proceso.
Hasta que el modelo se carga por primera vez, se retiene cualquier suceso de entrada.
Importante
Asegúrese de que los paquetes de Python utilizados en este flujo de secuencias sean compatibles con los paquetes que ha utilizado para crear el modelo.
Para ver la lista de paquetes preinstalados e instalados por el usuario, vaya al lienzo, pulse y luego pulse Tiempo de ejecución.
Ejemplo
A continuación encontrará un ejemplo de un código de Modelo de Python para la opción Watson Machine Learning.
import sys
def init(state):
pass
def process(event, state):
image = event['image']
model = state['model']
event['prediction'] = model.predict(image)
return event
def load_model(state, model):
state['model'] = model