Todos los productos
Search
Centro de documentos

Platform For AI:Custom processors FAQ

Última actualización: Sep 09, 2026

Esta página responde a las preguntas más comunes sobre el despliegue y la ejecución de procesadores personalizados en Elastic Algorithm Service (EAS).

Problemas de despliegue

Problemas durante la ejecución

Autenticación y configuración

¿Cómo puedo mejorar la eficiencia de carga de un paquete de procesador personalizado?

Utilice imágenes de Docker para empaquetar su entorno de ejecución y los archivos de gran tamaño. Cuando modifique el código, solo se reconstruirán y enviarán las capas modificadas, no todo el paquete. Esto acelera significativamente la iteración durante el desarrollo.

Para obtener más detalles, consulte Develop custom processors using Python.

¿Cómo resuelvo el error "libSM.so.6: cannot open shared object file: No such file or directory" al importar cv2?

El paquete estándar pip install opencv depende de libXext, libSM y libXrender, las cuales no están instaladas previamente en el entorno de ejecución de EAS. Es posible que el paquete funcione en un entorno de pruebas local, pero presente errores al desplegarse en línea.

Resuelva este problema con uno de los siguientes métodos:

  • Recomendado: Instale opencv-python-headless en su lugar. Esta variante no depende de libXext, libSM ni libXrender.

    pip install opencv-python-headless
  • Alternativo: Localice los archivos binarios de libXext, libSM y libXrender en su sistema local. Cópielos en el directorio ENV/lib dentro de su paquete de procesador y cargue el paquete.

    Nota: Este método puede generar problemas adicionales de dependencias que deberá resolver por separado.

¿Cómo configuro variables de entorno en un procesador de Python de EAS?

EAS agrega automáticamente todos los subdirectorios del directorio del procesador a LD_LIBRARY_PATH. Por ello, las bibliotecas de dependencias almacenadas en cualquier parte de dicho directorio se detectan de forma automática.

Para otras variables de entorno, establézcalas mediante programación en su código de Python:

import os
os.environ['key'] = 'val'

¿Cómo evito que un proceso finalice debido a una excepción no controlada?

Envuelva las secciones críticas de la lógica de su servicio en bloques try-catch. Así evitará que las excepciones no controladas finalicen el proceso.

Si el proceso termina por cualquier motivo, EAS lo reinicia automáticamente para mantener la disponibilidad del servicio. El manejo de excepciones a nivel de aplicación le otorga un control más preciso y evita reinicios innecesarios.

¿Cómo configuro un AccessKey y un endpoint?

Los servicios de predicción de EAS utilizan un AccessKey de Alibaba Cloud para la autenticación de identidad. Configure su AccessKey ID, AccessKey Secret y endpoint mediante el comando eascmd64 config:

./eascmd64 config -i <yourAccessKeyID> -k <yourAccessKeySecret> -e <endpoint>

El endpoint predeterminado se conecta a la región China (Shanghai). Para realizar el despliegue en otra región, especifique el endpoint correspondiente con el parámetro -e. Por ejemplo, para usar la región China (Beijing):

./eascmd64 config -i <yourAccessKeyID> -k <yourAccessKeySecret> -e pai-eas.cn-beijing.aliyuncs.com

¿Por qué una tarea creada con EASCMD permanece en el estado "[OK] Waiting [Total: 1, Pending: 1, Running: 0]"?

La tarea está en espera porque el resource group no cuenta con suficientes recursos disponibles para iniciar las instancias solicitadas.

Compruebe los siguientes elementos en su archivo de configuración del servicio:

  1. Región: Confirme que metadata.region coincida con la región donde se ubica su resource group.

  2. Nombre del resource group: Confirme que metadata.resource sea el nombre correcto del resource group para esa región (por ejemplo, EAS-LsFlrwBP56).

  3. Recursos disponibles: Confirme que el resource group tenga suficiente GPU, CPU y memoria libres para satisfacer la cantidad de instance que configuró.

A continuación se muestra un ejemplo de configuración con los campos relevantes:

{
  "name": "service",
  "token": "[Authorization-token]",
  "data_image": "[your-public-docker-image-repo]",
  "processor_entry": "app.py",
  "processor_type": "python",
  "processor_path": "[oss://eas-model-shenzhen/xxxxxxxxx/codes.tar.gz]",
  "metadata": {
    "region": "cn-shenzhen",
    "resource": "resource-name",
    "gpu": 1,
    "cpu": 6,
    "memory": 2000,
    "instance": 2,
    "cuda": "10.0"
  }
}

En este ejemplo, cada instancia requiere 1 GPU, 6 CPU y 2000 B de memoria. Si el resource group no puede satisfacer estos requisitos para 2 instancias de forma simultánea, la tarea permanecerá en estado de espera.

¿Qué hago si un servicio de EAS no puede acceder a la red pública?

De forma predeterminada, los servicios de EAS no pueden acceder a la red pública. Si el código de su procesador descarga archivos de internet durante el inicio, el despliegue presentará errores con un fallo de carga de archivos.

Para solucionarlo, configure a public network connection para su servicio de EAS.

Consejo: Antes de desplegar, pruebe su procesador de forma local para confirmar que no dependa del acceso a la red pública, ya que podría no estar disponible en el entorno de EAS.

Error: "Download processor files failed: forbidden to download file with size larger than 10G"

EAS limita el tamaño combinado del modelo y del paquete del procesador a 10 GB. Si su paquete supera este límite, utilice el despliegue personalizado basado en imágenes desde la consola.