Todos os produtos
Search
Central de documentação

Platform For AI:Custom processors FAQ

Última atualização: Jun 27, 2026

Esta página responde às dúvidas mais comuns sobre a implantação e a execução de processadores personalizados no Elastic Algorithm Service (EAS).

Problemas de implantação

Problemas de execução

Autenticação e configuração

Como melhorar a eficiência do upload de um pacote de processador personalizado?

Use imagens docker para empacotar seu ambiente de execução e arquivos grandes. Quando houver alterações no código, apenas as camadas modificadas precisarão ser reconstruídas e enviadas, e não o pacote inteiro. Isso acelera significativamente a iteração durante o desenvolvimento.

Para mais detalhes, consulte Desenvolver processadores personalizados usando Python.

Por que o EAS não encontra algumas bibliotecas de dependência do sistema no ambiente online?

Seu ambiente de desenvolvimento pode diferir do ambiente online do EAS. Para garantir consistência, o EAS fornece imagens de desenvolvimento pré-construídas para configurar o ambiente do processador Python. Essas imagens já têm o Conda instalado e incluem um ambiente para a versão correspondente do Python. As imagens de desenvolvimento fornecidas pelo EAS estão listadas abaixo.

# A base image with only Conda installed.
registry.cn-shanghai.aliyuncs.com/eas/eas-python-base-image:latest
# Installed with Conda, Python 2.7, and the EAS Allspark 0.8 SDK for Python.
registry.cn-shanghai.aliyuncs.com/eas/eas-python-base-image:py2.7-allspark-0.8
# Installed with Conda, Python 3.6, and the EAS Allspark 0.8 SDK for Python.
registry.cn-shanghai.aliyuncs.com/eas/eas-python-base-image:py3.6-allspark-0.8

Por que não consigo encontrar um pacote Python instalado após a publicação do processador?

Como o ambiente do processador Python é baseado no Conda, programas que funcionam corretamente em um ambiente de desenvolvimento podem depender de pacotes Python presentes no seu ambiente .local. Para garantir que todas as dependências sejam instaladas corretamente, execute o comando pip install --force-reinstall no ambiente. Isso assegura que os pacotes de dependência sejam instalados no local correto.

Como resolver o erro "libSM.so.6: cannot open shared object file: No such file or directory" ao importar cv2?

O pacote padrão pip install opencv depende das bibliotecas libXext, libSM e libXrender, que não vêm pré-instaladas no ambiente de execução do EAS. O pacote pode funcionar em um ambiente de teste local, mas falhar quando implantado online.

Corrija isso utilizando uma das seguintes abordagens:

  • Recomendado: Instale opencv-python-headless em vez disso. Esta variante não depende de libXext, libSM ou libXrender.

    pip install opencv-python-headless
  • Alternativa: Localize os arquivos binários de libXext, libSM e libXrender no seu sistema local, copie-os para o diretório ENV/lib dentro do pacote do seu processador e faça o upload do pacote.

    Nota: Esta abordagem pode introduzir problemas adicionais de dependência que você precisará resolver separadamente.

Como configurar variáveis de ambiente em um processador Python do EAS?

O EAS adiciona automaticamente todos os subdiretórios do diretório do processador à variável LD_LIBRARY_PATH, portanto, bibliotecas de dependência armazenadas em qualquer lugar dentro do diretório do processador são detectadas automaticamente.

Para outras variáveis de ambiente, defina-as programaticamente no seu código Python:

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

Como evitar que um processo seja encerrado devido a uma exceção não tratada?

Envolva as seções críticas da lógica do seu serviço em blocos try-catch para impedir que exceções não tratadas encerrem o processo.

Caso o processo seja encerrado por qualquer motivo, o EAS o reinicia automaticamente para manter a disponibilidade do serviço. O tratamento de exceções no nível da aplicação oferece um controle mais refinado e evita reinicializações desnecessárias.

Como configurar um AccessKey e um endpoint?

Os serviços de previsão do EAS utilizam um AccessKey da Alibaba Cloud para autenticação de identidade. Configure seu AccessKey ID, AccessKey Secret e endpoint usando o comando eascmd64 config:

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

O endpoint padrão conecta-se à região China (Shanghai). Para implantar em uma região diferente, especifique o endpoint dessa região com o parâmetro -e. Por exemplo, para usar a região China (Beijing):

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

Por que uma tarefa criada com o EASCMD permanece no estado "[OK] Waiting [Total: 1, Pending: 1, Running: 0]"?

A tarefa fica aguardando porque o grupo de recursos não possui recursos disponíveis suficientes para iniciar as instâncias solicitadas.

Verifique os seguintes itens no arquivo de configuração do seu serviço:

  1. Região: Confirme se metadata.region corresponde à região onde seu grupo de recursos está localizado.

  2. Nome do grupo de recursos: Confirme se metadata.resource é o nome correto do grupo de recursos para aquela região (por exemplo, EAS-LsFlrwBP56).

  3. Recursos disponíveis: Confirme se o grupo de recursos tem GPU, CPU e memória livres suficientes para atender à contagem de instance configurada.

O exemplo de configuração a seguir mostra os 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"
  }
}

Neste exemplo, cada instância requer 1 GPU, 6 CPUs e 2000 B de memória. Se o grupo de recursos não puder atender a esses requisitos para 2 instâncias simultaneamente, a tarefa permanecerá no estado de espera.

O que fazer se um serviço do EAS não conseguir acessar a rede pública?

Por padrão, os serviços do EAS não têm acesso à rede pública. Se o código do seu processador baixar arquivos da internet durante a inicialização, a implantação falhará com um erro de carregamento de arquivo.

Para corrigir isso, configure uma conexão de rede pública para o seu serviço do EAS.

Dica: Antes de implantar, teste seu processador localmente para confirmar que ele não depende de acesso à rede pública que possa estar indisponível no ambiente do EAS.

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

O EAS limita o tamanho combinado do modelo e do pacote do processador a 10 GB. Se o seu pacote exceder esse limite, use a implantação personalizada baseada em imagem pelo console.