Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Computação
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gerenciamento e governança
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migração
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análises
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Outros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Segurança e conformidade
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Serviços de mídia
Media Processing Center
Video On Demand
Live
SparkRTC
Armazenamento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Cloud Server Backup Service
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bancos de dados
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicações de negócios
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribuição de conteúdo e computação de borda
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluções
SAP Cloud
High Performance Computing
Serviços para desenvolvedore
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
MacroVerse aPaaS
KooPhone
KooDrive
Nesta página

Mostrar todos

Especificações de imagem personalizada para criar aplicações de IA

Atualizado em 2024-09-14 GMT+08:00

Ao criar uma imagem personalizada usando um modelo desenvolvido localmente, certifique-se de que a imagem esteja em conformidade com as especificações do ModelArts.

  • Nenhum código malicioso é permitido.
  • Uma imagem personalizada não pode ter mais de 50 GB.
  • APIs externas

    Defina a API de serviço externo para uma imagem personalizada. A API de inferência deve ser a mesma que o URL definido pelo apis em config.json. Em seguida, a API de serviço externo pode ser acessada diretamente quando a imagem é iniciada. Segue-se um exemplo de acesso a uma imagem de MNIST. A imagem contém um modelo treinado usando um conjunto de dados de MNIST e pode identificar dígitos manuscritos. listen_ip indica o endereço IP do contêiner. Você pode iniciar uma imagem personalizada para obter o endereço IP do contêiner.

    • Exemplo de solicitação
      curl -X POST \ http://{Listening IP address}:8080/ \ -F images=@seven.jpg
      Figura 1 Exemplo de obtenção de listen_ip
    • Exemplo de resposta
      {"mnist_result": 7}
  • (Opcional) API de verificação de integridade
    Se os serviços não forem interrompidos durante uma atualização contínua, a API de verificação de integridade deve ser configurada em config.json para ModelArts. A API de verificação de integridade retorna o estado de integridade de um serviço quando o serviço está sendo executado corretamente ou um erro quando o serviço se torna defeituoso.

    A API de verificação de integridade deve ser configurada para uma atualização contínua sem acertos.

    A seguir, mostramos uma API de verificação de integridade de exemplo:

    • URI
      GET /health
    • Exemplo de solicitação: curl -X GET \ http://{Listening IP address}:8080/health
    • Exemplo de resposta
      {"health": "true"}
    • Código de status
      Tabela 1 Código de status

      Código de status

      Mensagem

      Descrição

      200

      OK

      Solicitação enviada.

  • Saída do arquivo de log

    Configure a saída padrão para que os logs possam ser exibidos corretamente.

  • Arquivo de inicialização de imagem

    Para implementar um serviço em lote, defina o arquivo de inicialização de uma imagem como /home/run.sh e use CMD para definir o caminho de inicialização padrão. A seguir está um exemplo de Dockerfile:

    CMD ["sh", "/home/run.sh"]

  • Dependências de imagem

    Para implementar um serviço em lote, instale pacotes de dependência como Python, JRE/JDK e ZIP na imagem.

  • (Opcional) Atualização contínua sem acertos

    Para garantir que os serviços não sejam interrompidos durante uma atualização contínua, defina HTTP keep-alive como 200. Por exemplo, Gunicorn não suporta Keep-alive por padrão. Para garantir uma atualização contínua sem acertos, instale Gevent e configure --keep-alive 200 -k gevent na imagem. As configurações de parâmetros variam dependendo da estrutura de serviço. Defina os parâmetros conforme necessário.

  • (Opcional) Saída graciosa de um contêiner

    Para garantir que os serviços não sejam interrompidos durante uma atualização contínua, o sistema deve capturar sinais SIGTERM no contêiner e aguardar 60s antes de sair do contêiner. Se a duração for inferior a 60s antes da saída graciosa, os serviços podem ser interrompidos durante a atualização rolante. Para garantir a execução ininterrupta do serviço, o sistema sai do contêiner depois que o sistema recebe sinais SIGTERM e processa todas as solicitações recebidas. Toda a duração não é superior a 90s. A seguir, mostra o exemplo run.sh:

    #!/bin/bash
    gunicorn_pid=""
    
    handle_sigterm() {
      echo "Received SIGTERM, send SIGTERM to $gunicorn_pid"
      if [ $gunicorn_pid != "" ]; then
          sleep 60
          kill -15 $gunicorn_pid  # Transfer SIGTERM signals to the Gunicorn process.
          wait $gunicorn_pid           # Wait until the Gunicorn process stops.
      fi
    }
    
    trap handle_sigterm TERM

Usamos cookies para aprimorar nosso site e sua experiência. Ao continuar a navegar em nosso site, você aceita nossa política de cookies. Saiba mais

Feedback

Feedback

Feedback

0/500

Conteúdo selecionado

Envie o conteúdo selecionado com o feedback