Ejercicio: Implementación del modelo y uso del punto de conexión

Completado

¡Nuestro modelo funciona en un nivel satisfactorio, así que vamos a implementarlo!

Dispone de distintas opciones para la implementación. La opción que elija dependerá de cómo desee usar el modelo de Machine Learning. Puede realizar la implementación en un punto de conexión, o bien puede exportar el modelo para implementarlo en otras plataformas.

Se describirá cómo implementar en el punto de conexión y consumir el modelo con una aplicación.

Implementación en un punto de conexión

Puede realizar la implementación en un punto de conexión si obtiene la dirección URL de predicción o usa la API en una aplicación de Python.

Obtención de la dirección URL de predicción

  1. En la barra de menús superior del portal de Custom Vision, seleccione Performance (Rendimiento).

  2. Seleccione Publicar.

  3. En Publish Model (Publicar modelo), seleccione Prediction resource (Recurso de predicción) y luego seleccione el nombre de la predicción del proyecto de Custom Vision. Seleccione Publicar.

    Screenshot that shows how to publish a trained Custom Vision model.

    Una vez publicado el modelo, las acciones del modelo se cambian en el portal de Custom Vision.

  4. Seleccione la pestaña Prediction URL (Dirección URL de predicción).

  5. En How to use the prediction API (Cómo usar la API de predicción), en el cuadro de texto bajo If you have an image URL (Si tiene una dirección URL de imagen), copie y guarde el valor y, a continuación, seleccione Got it (Entendido).

    Screenshot that highlights the prediction U R L for a published Custom Vision model.

Consumo de la API en una aplicación de Python

Cuando el modelo está entrenado y funciona con una precisión satisfactoria, está listo para usarse en la aplicación.

  1. En Azure Portal, vaya al grupo de recursos que contiene el recurso de Custom Vision. Se muestra un recurso denominado <YourCustomVisionResourceName>-Prediction con el grupo de recursos original.

    Screenshot that shows how to open the prediction resource in the Azure portal.

  2. Seleccione el nombre de predicción para abrir la página de Información general. Esta página contiene vínculos a recursos que pueden ayudarle a obtener más información sobre cómo llamar a la API para obtener predicciones del modelo.

  3. En Comenzar, en la sección 3, seleccione el vínculo para Inicio rápido de Python. El inicio rápido de la clasificación de imágenes de los servicios de Azure AI para Python se abre en el explorador web.

    Screenshot that shows quickstart resources that describe how to call the A P I to get predictions from the model.

    A continuación se presenta un ejemplo del código de ejemplo para llamar a la API de predicción en Python. Para obtener el código completo, consulte el inicio rápido.

    from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient
    
    # Create variables for your resource; replace variables with valid values.
    prediction_key = "<YourKey>"
    endpoint = "<YourEndpoint>"
    base_image_url = "<BasePathToImageFolder>"
    
    # An example of a default iteration name is "Iteration1".
    publish_iteration_name = "<PublishedIterationName>"
    
    # You can find the project ID in the settings of the Custom Vision project in the portal.
    project.id = "<CustomVisionProjectId>"
    
    # Now, you have a trained endpoint that you can use to make a prediction.
    prediction_credentials = ApiKeyCredentials(in_headers={"Prediction-key": prediction_key})
    
    predictor = CustomVisionPredictionClient(endpoint, prediction_credentials)
    
    with open(base_image_url + "images/Test/test_image.jpg", "rb") as image_contents:
        results = predictor.classify_image(
            project.id, publish_iteration_name, image_contents.read())
    
    # Display the results.
    for prediction in results.predictions:
        print("\t" + prediction.tag_name +
             ": {0:.2f}%".format(prediction.probability * 100))
    

Al exponer en el punto de conexión publicado, obtendrá un resultado similar al siguiente ejemplo. Se muestra la probabilidad de cada etiqueta con la que se ha entrenado el modelo de Custom Vision, ordenadas por la puntuación más alta. El modelo solo reconoce el tipo de pájaros con los que se ha entrenado. Si publica una imagen de un pájaro con la que no se ha entrenado al modelo para que la reconozca, el modelo predice una de las especies de pájaro con las que se ha entrenado como la especie del pájaro nuevo.

American Crow: 99.18%
Common Grackle: 25.34%
Red-tailed Hawk (Dark morph): 4.09%
Mourning Dove: 1.74%
American Robin (Adult): 0.92%
House Sparrow (Female): 0.40%
American Robin (Juvenile): 0.31%
Northern Cardinal (Adult Male): 0.24%
Tufted Titmouse: 0.04%
Blue Jay: 0.04%
House Sparrow (Male): 0.04%
Northern Cardinal (Female): 0.04%
Red-tailed Hawk (Light morph immature): 0.02%
American Goldfinch (Male): 0.02%
House Wren: 0.01%
American Goldfinch (Female): 0.01%

Ahora, tiene experiencia en el uso del modelo de Machine Learning que creó. Con nuevos datos para analizar, puede documentar mejor los hábitos de las aves para ayudar a conservar su hábitat y aumentar la población de las especies en peligro. ¡Todo con la ayuda de Custom Vision de Azure AI!