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.
Atualizado em 2024-09-14 GMT+08:00

Criação de um algoritmo usando uma imagem personalizada

Seus algoritmos desenvolvidos localmente ou algoritmos desenvolvidos usando outras ferramentas podem ser enviados para ModelArts para gerenciamento unificado.

Entradas para criar um algoritmo

Você pode criar um algoritmo usando uma imagem personalizada no ModelArts de uma das seguintes maneiras:

  • Entrada 1: no console do ModelArts, escolha Algorithm Management > My algorithms. Em seguida, crie um algoritmo e use-o em trabalhos de treinamento ou publique-o no Galeria de IA.
  • Entrada 2: no console do ModelArts, escolha Training Management > Training Jobs e clique em Create Training Job para criar um algoritmo personalizado e enviar um trabalho de treinamento. Para mais detalhes, consulte Uso de uma imagem personalizada para criar um trabalho de treinamento baseado em CPU ou GPU.

Parâmetros para criar um algoritmo

Tabela 1 Parâmetros para criar um algoritmo

Parâmetro

Descrição

Boot Mode

Selecione Custom images. Este parâmetro é obrigatório.

Image

URL de uma imagem do SWR. Este parâmetro é obrigatório.

  • Imagens privadas ou imagens compartilhadas: clique em Select à direita para selecionar uma imagem do SWR. Certifique-se de que a imagem foi carregada no SWR. Para mais detalhes, consulte Como acessar o SWR e carregar imagens para ele?.
  • Imagens públicas: você também pode inserir manualmente o caminho da imagem no formato de "<Organization to which your image belongs>/<Image name>" no SWR. Não contenha o nome de domínio (swr.<region>.xxx.com) no caminho porque o sistema adicionará automaticamente o nome de domínio ao caminho. Por exemplo:
    modelarts-job-dev-image/pytorch_1_8:train-pytorch_1.8.0-cuda_10.2-py_3.7-euleros_2.10.1-x86_64-8.1.1

Code Directory

Caminho do OBS para armazenar o código de treinamento. Este parâmetro é opcional.

Tome o caminho do OBS obs://obs-bucket/training-test/demo-code como um exemplo. O conteúdo no caminho do OBS será baixado automaticamente para ${MA_JOB_DIR}/demo-code no contêiner de treinamento, e demo-code (personalizável) é o diretório de último nível do caminho do OBS.

Boot Command

Comando para inicializar uma imagem. Este parâmetro é obrigatório. O comando de inicialização será executado automaticamente após o download do diretório de código.

  • Se o script de inicialização de treinamento for um arquivo .py, train.py, por exemplo, o comando de inicialização pode ser python ${MA_JOB_DIR}/demo-code/train.py.
  • Se o script de inicialização de treinamento for um arquivo .sh, main.sh, por exemplo, o comando de inicialização pode ser bash ${MA_JOB_DIR}/demo-code/main.sh.

Ponto e vírgula (;) e e comercial (&&) podem ser usados para combinar vários comandos de inicialização, mas não há suporte para quebras de linha. demo-code (personalizável) no comando de inicialização é o diretório de último nível do caminho do OBS.

Configuring Pipelines

Um algoritmo predefinido baseado em imagem obtém dados de um bucket ou conjunto de dados do OBS para treinamento do modelo. A saída de treinamento é armazenada em um bucket do OBS. Os parâmetros de entrada e saída no código do algoritmo devem ser analisados para permitir a troca de dados entre ModelArts e OBS. Para obter detalhes sobre como desenvolver código para treinamento em ModelArts, consulte Desenvolvimento de um script personalizado.

Ao usar uma imagem predefinida para criar um algoritmo, configure os pipelines de entrada e saída.

  • Configurações de entrada
    Tabela 2 Configurações de entrada

    Parâmetro

    Descrição

    Parameter Name

    Defina o nome com base no parâmetro de entrada de dados no código do algoritmo. O parâmetro caminho do código deve ser o mesmo que o parâmetro de entrada de treinamento analisado no código do algoritmo. Caso contrário, o código do algoritmo não pode obter os dados de entrada.

    Por exemplo, se você usar argparse no código do algoritmo para analisar data_url na entrada de dados, defina o parâmetro de entrada de dados como data_url ao criar o algoritmo.

    Description

    Descrição personalizável do parâmetro de entrada,

    Obtained from

    Fonte do parâmetro de entrada. É possível selecionar Hyperparameters (padrão) ou Environment variables.

    Constraints

    Se os dados são obtidos de um caminho de armazenamento ou de um conjunto de dados do ModelArts.

    Se você selecionar o conjunto de dados do ModelArts como a fonte de dados, as seguintes restrições serão adicionadas:

    • Labeling Type: para obter detalhes, consulte Criação de um trabalho de rotulagem.
    • Data Format, que pode ser Default, CarbonData ou ambos. Default indica o formato do manifesto.
    • Data Segmentation: disponível apenas para classificação de imagens, detecção de objetos, classificação de texto e conjuntos de dados de classificação de som.

      Os valores possíveis são Segmented dataset, Dataset not segmented e Unlimited. Para obter detalhes, consulte Publicação de uma versão de dados.

    Add

    Várias fontes de entrada de dados são permitidas.

  • Configurações de saída
    Tabela 3 Configurações de saída

    Parâmetro

    Descrição

    Parameter Name

    Defina o nome com base no parâmetro de saída de dados no código do algoritmo. O parâmetro caminho do código deve ser o mesmo que o parâmetro de saída do treinamento analisado no código do algoritmo. Caso contrário, o código do algoritmo não pode obter o caminho de saída.

    Por exemplo, se você usar argparse no código do algoritmo para analisar train_url na saída de dados, defina o parâmetro de saída de dados como train_url ao criar o algoritmo.

    Description

    Descrição personalizável do parâmetro de saída,

    Obtained from

    Fonte do parâmetro de saída. É possível selecionar Hyperparameters (padrão) ou Environment variables.

    Add

    Vários caminhos de saída de dados são permitidos.

Definir hiperparâmetros

Quando você usa uma imagem predefinida para criar um algoritmo, o ModelArts permite personalizar hiperparâmetros para visualizá-los ou modificá-los a qualquer momento. Depois que os hiperparâmetros são definidos, eles são exibidos no comando de inicialização e transferidos para o arquivo de inicialização como parâmetros da CLI.

  1. Importe os hiperparâmetros.

    Você pode clicar em Add hyperparameter para adicionar manualmente hiperparâmetros.

    Figura 1 Adicionar hiperparâmetros
  2. Edite os hiperparâmetros.

    Para mais detalhes, consulte Tabela 4.

    Tabela 4 Hiperparâmetros

    Parâmetro

    Descrição

    Name

    Nome do hiperparâmetro

    Insira de 1 a 64 caracteres. Somente letras, dígitos, hifens (-) e sublinhados (_) são permitidos.

    Type

    Tipo do hiperparâmetro, que pode ser String, Integer, Float ou Boolean

    Default

    Valor padrão do hiperparâmetro, que é usado para trabalhos de treinamento por padrão

    Constraints

    Clique em Restrain. Em seguida, defina o intervalo do valor padrão ou valor enumerado na caixa de diálogo exibida.

    Required

    Selecione Yes ou No.

    • Se você selecionar No, poderá excluir o hiperparâmetro na página de criação de trabalho de treinamento ao usar esse algoritmo para criar um trabalho de treinamento.
    • Se você selecionar Yes, não será possível excluir o hiperparâmetro na página de criação de trabalho de treinamento ao usar esse algoritmo para criar um trabalho de treinamento.

    Description

    Descrição do hiperparâmetro

    Somente letras, dígitos, espaços, hifens (-), sublinhados (_), vírgulas (,) e pontos (.) são permitidos.

Adicionar restrições de treinamento

Você pode adicionar restrições de treinamento do algoritmo com base em suas necessidades.

  • Resource Type: selecione os tipos de recursos necessários.
  • Multicard Training: escolha se deseja oferecer suporte ao treinamento com vários cartões.
  • Distributed Training: escolha se deseja oferecer suporte ao treinamento distribuído.

Visualização do ambiente de tempo de execução

Ao criar um algoritmo, clique na seta em no canto inferior direito da página para saber o caminho do diretório de código, do arquivo de inicialização e dos dados de entrada e saída no contêiner de treinamento.

Procedimento de acompanhamento

Depois que um algoritmo é criado, use-o para criar um trabalho de treinamento. Para mais detalhes, consulte Uso de uma imagem personalizada para criar um trabalho de treinamento baseado em CPU ou GPU.