Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Compile o modelo.

Modo de foco
Compile o modelo. - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Depois de satisfazer os pré-requisitos, você pode compilar seu modelo com o Amazon AI Neo. SageMaker Você pode compilar seu modelo usando o console ou o AWS CLISDK da Amazon Web Services para Python (Boto3). Consulte Use o Neo para compilar um modelo. Neste exemplo, você compilará seu modelo com o Boto3.

Para compilar um modelo, SageMaker o Neo requer as seguintes informações:

  1. O URI do bucket do Amazon S3 em que você armazenou o modelo treinado.

    Se você seguiu os pré-requisitos, o nome do seu bucket é armazenado em uma variável chamada bucket. O trecho de código a seguir mostra como listar todos os seus buckets usando o AWS CLI:

    aws s3 ls

    Por exemplo:

    $ aws s3 ls 2020-11-02 17:08:50 bucket
  2. O URI do bucket do Amazon S3 em que você deseja salvar o modelo compilado.

    O trecho de código abaixo concatena o URI do bucket do Amazon S3 com o nome de um diretório de saída chamado: output

    s3_output_location = f's3://{bucket}/output'
  3. A estrutura de machine learning que você usou para treinar seu modelo.

    Defina o framework que você usou para treinar seu modelo.

    framework = 'framework-name'

    Por exemplo, se você quiser compilar um modelo que foi treinado usando TensorFlow, você poderia usar tflite outensorflow. Use tflite se quiser usar uma versão mais leve TensorFlow que use menos memória de armazenamento.

    framework = 'tflite'

    Para obter uma lista completa de estruturas e dispositivos de borda compatíveis, consulte Estruturas, dispositivos, sistemas e arquiteturas compatíveis.

  4. A forma da entrada do seu modelo.

    Neo requer o nome e a forma do seu tensor de entrada. O nome e a forma são passadas para pares de chave-valor. valueé uma lista das dimensões inteiras de um tensor de entrada e key é o nome exato de um tensor de entrada no modelo.

    data_shape = '{"name": [tensor-shape]}'

    Por exemplo:

    data_shape = '{"normalized_input_image_tensor":[1, 300, 300, 3]}'
    nota

    Verifique se o modelo está formatado corretamente, dependendo da estrutura usada. Consulte Quais formatos de dados de entrada o SageMaker Neo espera? A chave neste dicionário deve ser alterada para o nome do novo tensor de entrada.

  5. O nome do dispositivo de destino para o qual compilar ou os detalhes gerais da plataforma de hardware

    target_device = 'target-device-name'

    Por exemplo, se quiser implantar em um Raspberry Pi 3, use:

    target_device = 'rasp3b'

    Você pode encontrar a lista completa de dispositivos de borda compatíveis em Estruturas, dispositivos, sistemas e arquiteturas compatíveis.

Agora que concluiu as etapas anteriores, você pode enviar um trabalho de compilação para o Neo.

# Create a SageMaker client so you can submit a compilation job sagemaker_client = boto3.client('sagemaker', region_name=AWS_REGION) # Give your compilation job a name compilation_job_name = 'getting-started-demo' print(f'Compilation job for {compilation_job_name} started') response = sagemaker_client.create_compilation_job( CompilationJobName=compilation_job_name, RoleArn=role_arn, InputConfig={ 'S3Uri': s3_input_location, 'DataInputConfig': data_shape, 'Framework': framework.upper() }, OutputConfig={ 'S3OutputLocation': s3_output_location, 'TargetDevice': target_device }, StoppingCondition={ 'MaxRuntimeInSeconds': 900 } ) # Optional - Poll every 30 sec to check completion status import time while True: response = sagemaker_client.describe_compilation_job(CompilationJobName=compilation_job_name) if response['CompilationJobStatus'] == 'COMPLETED': break elif response['CompilationJobStatus'] == 'FAILED': raise RuntimeError('Compilation failed') print('Compiling ...') time.sleep(30) print('Done!')

Se quiser informações adicionais para depuração, inclua a seguinte instrução de impressão:

print(response)

Se o trabalho de compilação for bem-sucedido, seu modelo compilado será armazenado no bucket de saída do Amazon S3 que você especificou anteriormente (s3_output_location). Baixe seu modelo compilado localmente:

object_path = f'output/{model}-{target_device}.tar.gz' neo_compiled_model = f'compiled-{model}.tar.gz' s3_client.download_file(bucket, object_path, neo_compiled_model)
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.