

Aviso de fin de soporte: el 31 de mayo de 2026, AWS finalizará el soporte para AWS Panorama. Después del 31 de mayo de 2026, ya no podrás acceder a la AWS Panorama consola ni a AWS Panorama los recursos. Para obtener más información, consulta [AWS Panorama el fin del soporte](https://docs.aws.amazon.com/panorama/latest/dev/panorama-end-of-support.html). 

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Implementación de la aplicación de muestra de AWS Panorama
<a name="gettingstarted-deploy"></a>

Tras [configurar su dispositivo de AWS Panorama o dispositivo compatible](gettingstarted-setup.md) y actualizar su software, implemente una aplicación de muestra. En las siguientes secciones, importará una aplicación de muestra con la CLI de la aplicación de AWS Panorama y la implementará con la consola de AWS Panorama.

La aplicación de muestra utiliza un modelo de machine learning para clasificar los objetos en fotogramas de vídeo de una cámara de red. Utiliza el SDK de la aplicación de AWS Panorama para cargar un modelo, obtener imágenes y ejecutar el modelo. A continuación, la aplicación superpone los resultados sobre el vídeo original y los envía a una pantalla conectada.

En un entorno minorista, el análisis de los patrones de tráfico peatonal permite predecir los niveles de tráfico. Al combinar el análisis con otros datos, puede planificar el aumento de las necesidades de personal durante las fiestas y otros eventos, medir la eficacia de los anuncios y las promociones de ventas u optimizar la ubicación de los expositores y la gestión del inventario.

**Topics**
+ [Requisitos previos](#gettingstarted-deploy-prerequisites)
+ [Importe la aplicación de ejemplo](#gettingstarted-deploy-import)
+ [Implemente de la aplicación](#gettingstarted-deploy-deploy)
+ [Ver resultado](#gettingstarted-deploy-view)
+ [Activar el SDK de Python](#gettingstarted-deploy-redeploy)
+ [Limpieza](#gettingstarted-deploy-cleanup)
+ [Pasos a seguir a continuación](#gettingstarted-deploy-next)

## Requisitos previos
<a name="gettingstarted-deploy-prerequisites"></a>

Para seguir los procedimientos de este tutorial, necesitará un shell o un terminal de línea de comando para ejecutar los comandos. En las listas de código, los comandos van precedidos del símbolo del sistema (\$1) y del nombre del directorio actual, si es aplicable.

```
~/panorama-project$ this is a command
this is output
```

Para comandos largos, utilizamos un carácter de escape (`\`) para dividir un comando en varias líneas.

En Linux y macOS, use su administrador de intérprete de comandos y paquetes preferido. En Windows 10, puede [instalar Windows Subsystem para Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10) para obtener una versión de Ubuntu y Bash integrada con Windows. Si necesita ayuda para configurar un entorno de desarrollo en Windows, consulte [Configuración de un entorno de desarrollo en Windows](applications-devenvwindows.md).

Utilice Python para desarrollar aplicaciones de AWS Panorama e instalar herramientas con pip, el administrador de paquetes de Python. Si aún no dispone de Python, [instale la última versión](https://www.python.org/downloads/). Si tiene Python 3 pero no pip, instale pip con el administrador de paquetes de su sistema operativo o instale una nueva versión de Python, que contenga pip.

En este tutorial, utilizará Docker para crear el contenedor en el que se ejecuta el código de su aplicación. Instale Docker desde el sitio web de Docker: [Obtener Docker](https://docs.docker.com/get-docker/)

Este tutorial utiliza la CLI de la aplicación de AWS Panorama para importar la aplicación de muestra, crear paquetes y cargar artefactos. La CLI de la aplicación AWS Panorama usa AWS Command Line Interface (AWS CLI) para llamar a las operaciones de la API del servicio. Si ya la tiene AWS CLI, actualícela a la versión más reciente. Para instalar la CLI de la aplicación AWS Panorama y AWS CLI, utilice`pip`.

```
$ pip3 install --upgrade awscli panoramacli
```

Descargue la aplicación de muestra y extráigala en su espacio de trabajo.

****
+ **Ejemplo de aplicación**: [aws-panorama-sample.zip](https://github.com/awsdocs/aws-panorama-developer-guide/releases/download/v1.0-ga/aws-panorama-sample.zip)

## Importe la aplicación de ejemplo
<a name="gettingstarted-deploy-import"></a>

Para importar la aplicación de muestra para usarla en su cuenta, utilice la CLI de la aplicación de AWS Panorama. Las carpetas y el manifiesto de la aplicación contienen referencias a un marcador de posición de número de cuenta. Para actualizarlos con su número de cuenta, ejecute el comando `panorama-cli import-application`.

```
aws-panorama-sample$ panorama-cli import-application
```

El paquete `SAMPLE_CODE`, en el directorio `packages`, contiene el código y la configuración de la aplicación, incluido un Dockerfile que utiliza la imagen base de la aplicación, `panorama-application`. Para crear el contenedor de aplicaciones que se ejecuta en el dispositivo, utilice el comando `panorama-cli build-container`.

```
aws-panorama-sample$ ACCOUNT_ID=$(aws sts get-caller-identity --output text --query 'Account')
aws-panorama-sample$ panorama-cli build-container --container-asset-name code_asset --package-path packages/${ACCOUNT_ID}-SAMPLE_CODE-1.0
```

El último paso con la CLI de la aplicación de AWS Panorama consiste en registrar el código y los nodos del modelo de la aplicación y cargar los activos en un punto de acceso de Amazon S3 proporcionado por el servicio. Los activos incluyen la imagen del contenedor del código, el modelo y un archivo descriptor para cada uno. Para registrar los nodos y cargar los activos, ejecute el comando `panorama-cli package-application`.

```
aws-panorama-sample$ panorama-cli package-application
Uploading package model
Registered model with patch version bc9c58bd6f83743f26aa347dc86bfc3dd2451b18f964a6de2cc4570cb6f891f9
Uploading package code
Registered code with patch version 11fd7001cb31ea63df6aaed297d600a5ecf641a987044a0c273c78ceb3d5d806
```

## Implemente de la aplicación
<a name="gettingstarted-deploy-deploy"></a>

Utilice la consola de AWS Panorama para implementar la aplicación en su dispositivo.

**Para implementar la aplicación de**

1. Abra la [página Aplicaciones implementadas](https://console.aws.amazon.com/panorama/home#deployed-applications) de la consola de AWS Panorama.

1. Elija **Implementar aplicación**.

1. Pegue el contenido del manifiesto de la aplicación, `graphs/aws-panorama-sample/graph.json`, en el editor de texto. Elija **Siguiente**.

1. En **Nombre de la aplicación**, escriba `aws-panorama-sample`.

1. Elija **Proceder a implementar**.

1. Elija **Comenzar la implementación**.

1. Elija **Siguiente** sin seleccionar un rol.

1. Elija **Seleccionar dispositivo** y, a continuación, elija su dispositivo. Elija **Next** (Siguiente).

1. En el paso **Seleccionar fuentes de datos**, elija **Ver entradas** y añada la transmisión de la cámara como origen de datos. Elija **Next** (Siguiente).

1. En el paso **Configurar**, seleccione **Siguiente**.

1. Elija **Implementación** y a continuación elija **Listo**.

1. En la lista de aplicaciones implementadas, elija **aws-panorama-sample**.

Actualice esta página para ver las actualizaciones o utilice el siguiente script para supervisar la implementación desde la línea de comandos.

**Example monitor-deployment.sh**  

```
while true; do
  aws panorama list-application-instances --query 'ApplicationInstances[?Name==`aws-panorama-sample`]'
  sleep 10
done
```

```
[
    {
        "Name": "aws-panorama-sample",
        "ApplicationInstanceId": "applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "DefaultRuntimeContextDeviceName": "my-appliance",
        "Status": "DEPLOYMENT_PENDING",
        "HealthStatus": "NOT_AVAILABLE",
        "StatusDescription": "Deployment Workflow has been scheduled.",
        "CreatedTime": 1630010747.443,
        "Arn": "arn:aws:panorama:us-west-2:123456789012:applicationInstance/applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "Tags": {}
    }
]
[
    {
        "Name": "aws-panorama-sample",
        "ApplicationInstanceId": "applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "DefaultRuntimeContextDeviceName": "my-appliance",
        "Status": "DEPLOYMENT_PENDING",
        "HealthStatus": "NOT_AVAILABLE",
        "StatusDescription": "Deployment Workflow has completed data validation.",
        "CreatedTime": 1630010747.443,
        "Arn": "arn:aws:panorama:us-west-2:123456789012:applicationInstance/applicationInstance-x264exmpl33gq5pchc2ekoi6uu",
        "Tags": {}
    }
]
...
```

Si la aplicación no comienza a ejecutarse, comprueba los [registros de la aplicación y del dispositivo](monitoring-logging.md) en Amazon CloudWatch Logs.

## Ver resultado
<a name="gettingstarted-deploy-view"></a>

 Cuando se completa la implementación, la aplicación comienza a procesar la transmisión de vídeo y envía los registros a CloudWatch.

**Para ver los registros en CloudWatch Logs**

1. Abra la [página de grupos de registros de la consola de CloudWatch registros](https://console.aws.amazon.com/cloudwatch/home#logsV2:log-groups).

1. Encuentre los registros de aplicaciones y dispositivos de AWS Panorama en los siguientes grupos:

****
   + **Registros de dispositivos**: `/aws/panorama/devices/device-id`
   + **Registros de aplicaciones**: `/aws/panorama/devices/device-id/applications/instance-id`

```
2022-08-26 17:43:39 INFO     INITIALIZING APPLICATION
2022-08-26 17:43:39 INFO     ## ENVIRONMENT VARIABLES
{'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'TERM': 'xterm', 'container': 'podman'...}
2022-08-26 17:43:39 INFO     Configuring parameters.
2022-08-26 17:43:39 INFO     Configuring AWS SDK for Python.
2022-08-26 17:43:39 INFO     Initialization complete.
2022-08-26 17:43:39 INFO     PROCESSING STREAMS
2022-08-26 17:46:19 INFO     epoch length: 160.183 s (0.936 FPS)
2022-08-26 17:46:19 INFO     avg inference time: 805.597 ms
2022-08-26 17:46:19 INFO     max inference time: 120023.984 ms
2022-08-26 17:46:19 INFO     avg frame processing time: 1065.129 ms
2022-08-26 17:46:19 INFO     max frame processing time: 149813.972 ms
2022-08-26 17:46:29 INFO     epoch length: 10.562 s (14.202 FPS)
2022-08-26 17:46:29 INFO     avg inference time: 7.185 ms
2022-08-26 17:46:29 INFO     max inference time: 15.693 ms
2022-08-26 17:46:29 INFO     avg frame processing time: 66.561 ms
2022-08-26 17:46:29 INFO     max frame processing time: 123.774 ms
```

Para ver la salida de vídeo de la aplicación, conecte el dispositivo a un monitor con un cable HDMI. De forma predeterminada, la aplicación muestra cualquier resultado de clasificación que tenga más del 20% de confianza.

**Example [squeezenet\$1classes.json](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/squeezenet_classes.json)**  

```
["tench", "goldfish", "great white shark", "tiger shark",
"hammerhead", "electric ray", "stingray", "cock", "hen", "ostrich",
"brambling", "goldfinch", "house finch", "junco", "indigo bunting",
"robin", "bulbul", "jay", "magpie", "chickadee", "water ouzel",
"kite", "bald eagle", "vulture", "great grey owl",
"European fire salamander", "common newt", "eft",
"spotted salamander", "axolotl", "bullfrog", "tree frog",
...
```

El modelo de muestra tiene 1000 clases que incluyen muchos animales, alimentos y objetos comunes. Intente apuntar la cámara hacia un teclado o una taza de café.

![\[\]](http://docs.aws.amazon.com/es_es/panorama/latest/dev/images/mug.jpg)


Para simplificar, la aplicación de muestra utiliza un modelo ligero de clasificación. El modelo genera una matriz única con una probabilidad para cada una de sus clases. Las aplicaciones del mundo real utilizan con mayor frecuencia modelos de detección de objetos que tienen una salida multidimensional. Para ver ejemplos de aplicaciones con modelos más complejos, consulte [Ejemplos de aplicaciones, scripts y plantillas](panorama-samples.md).

## Activar el SDK de Python
<a name="gettingstarted-deploy-redeploy"></a>

La aplicación de ejemplo la utiliza AWS SDK para Python (Boto) para enviar las métricas a Amazon CloudWatch. Para habilitar esta funcionalidad, cree un rol que conceda permiso a la aplicación para enviar métricas y vuelva a implementar la aplicación con el rol asociado.

La aplicación de ejemplo incluye una CloudFormation plantilla que crea un rol con los permisos que necesita. Para crear el rol, utilice el comando `aws cloudformation deploy`.

```
$ aws cloudformation deploy --template-file aws-panorama-sample.yml --stack-name aws-panorama-sample-runtime --capabilities CAPABILITY_NAMED_IAM
```



**Para volver a implementar la aplicación**

1. Abra la [página Aplicaciones implementadas](https://console.aws.amazon.com/panorama/home#deployed-applications) de la consola de AWS Panorama.

1. Elija una aplicación.

1. Elija **Reemplazar**.

1. Complete los pasos para implementar la aplicación. En **Especificar rol de IAM**, elija el rol que creó. Su nombre comienza por `aws-panorama-sample-runtime`.

1. Cuando se complete la implementación, abra la [CloudWatchconsola](https://console.aws.amazon.com/cloudwatch/home#metricsV2:graph=~();namespace=~'AWSPanoramaApplication) y consulte las métricas en el espacio de `AWSPanoramaApplication` nombres. Cada 150 fotogramas, la aplicación registra y carga métricas para el procesamiento de los marcos y el tiempo de inferencia.

## Limpieza
<a name="gettingstarted-deploy-cleanup"></a>

Si ha terminado de trabajar con la aplicación de muestra, puede utilizar la consola de AWS Panorama para eliminarla del dispositivo.

**Para eliminar la aplicación del dispositivo**

1. Abra la [página Aplicaciones implementadas](https://console.aws.amazon.com/panorama/home#deployed-applications) de la consola de AWS Panorama.

1. Elija una aplicación.

1. Elija **Eliminar del dispositivo**.

## Pasos a seguir a continuación
<a name="gettingstarted-deploy-next"></a>

Si ha detectado errores al implementar o ejecutar la aplicación de muestra, consulte [Solución de problemas](panorama-troubleshooting.md).

Para obtener más información sobre las funciones y la implementación de la aplicación de muestra, continúe con [el tema siguiente](gettingstarted-sample.md).