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á.
Baixe o agente do Edge Manager com base em seu sistema operacional, arquitetura e região AWS . O agente é atualizado periodicamente, então você tem a opção de escolher seu agente com base nas datas e versões de lançamento. Depois de ter o agente, crie um arquivo de configuração JSON. Especifique o nome do dispositivo de IoT, o nome da frota, as credenciais do dispositivo e outros pares de valores-chave. Veja Instalando o agente do Edge Manager a lista completa das chaves que você deve especificar no arquivo de configuração. Você pode executar o agente como um binário executável ou vinculá-lo como um objeto compartilhado dinâmico (DSO).
Como o agente trabalha
O agente é executado na CPU dos seus dispositivos. O agente executa inferência na framework e no hardware do dispositivo de destino que você especificou durante o trabalho de compilação. Por exemplo, se você compilou seu modelo para o Jetson Nano, o agente oferece apoio à GPU no Tempo de execução do aprendizado profundo
O agente é lançado em formato binário para sistemas operacionais compatíveis. Verifique se seu sistema operacional é compatível e atende aos requisitos mínimos de sistema operacional na tabela a seguir:
Versão: Ubuntu 18.04
Formatos binários suportados: x86-64 bits (binário ELF) e ARMv8 64 bits (binário ELF)
Instalando o agente do Edge Manager
Para usar o agente do Edge Manager, primeiro você deve obter os artefatos de lançamento e um certificado raiz. Os artefatos de lançamento são armazenados em um bucket do Amazon S3 na região us-west-2
. Para baixar os artefatos, especifique seu sistema operacional (<OS>
) e o <VERSION>
.
Com base no seu sistema operacional, <OS>
substitua por um dos seguintes procedimentos:
Windows 32 bits | Windows 64 bits | Linux x86-64 | Linux ARMv8 |
---|---|---|---|
windows-x86 | windows-x64 | linux-x64 | linux-armv8 |
O VERSION
é dividido em três componentes: <MAJOR_VERSION>.<YYYY-MM-DD>-<SHA-7>
, onde:
-
<MAJOR_VERSION>
: a versão de lançamento. A versão de lançamento está atualmente definida como1
. -
<YYYY-MM-DD>
: a carimbo de data/hora da liberação do artefato. -
<SHA-7>
: o ID de confirmação do repositório a partir do qual a versão foi criada.
Você deve fornecer o <MAJOR_VERSION>
e o carimbo de data/hora no formato YYYY-MM-DD
. Sugerimos que você use o carimbo de data/hora de lançamento do artefato mais recente.
Execute o seguinte na sua linha de comando para obter o carimbo de data/hora mais recente: Substitua <OS>
pelo seu sistema operacional:
aws s3 ls s3://sagemaker-edge-release-store-us-west-2-
<OS>
/Releases/ | sort -r
Por exemplo, se você tiver um sistema operacional Windows de 32 bits, execute:
aws s3 ls s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/ | sort -r
Isso retorna:
2020-12-01 23:33:36 0 PRE 1.20201218.81f481f/ PRE 1.20201207.02d0e97/
A saída de retorno neste exemplo mostra dois artefatos de lançamento. O primeiro arquivo de artefato de lançamento indica que a versão de lançamento tem uma versão principal de1
, um registro de data e hora 20201218
(em YYYY-MM-DD formato) e um ID de confirmação do 81f481f
SHA-7.
nota
O comando anterior pressupõe que você tenha configurado o AWS Command Line Interface. Para obter mais informações sobre como definir as configurações que o AWS CLI usa para interagir AWS, consulte Configurando a AWS CLI.
Com base no seu sistema operacional, use os seguintes comandos para instalar os artefatos:
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/
<VERSION>
/<VERSION>
.zip . aws s3 cp s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/<VERSION>
/sha256_hex.shasum .
Você também deve baixar um certificado raiz. Esse certificado valida os artefatos do modelo assinados por AWS antes de carregá-los em seus dispositivos periféricos.
Substitua o <OS>
correspondente à sua plataforma na lista de sistemas operacionais compatíveis e <REGION>
substitua pela sua AWS
região.
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-
<OS>
/Certificates/<REGION>
/<REGION>
.pem .
Instalando o agente do Edge Manager
Você pode executar o agente do SageMaker AI Edge Manager como um processo autônomo na forma de um binário executável de formato executável e vinculável (ELF) ou vincular a ele como um objeto compartilhado dinâmico (.dll). O Linux é compatível com executá-lo como um binário executável independente e é o modo preferido. O Windows oferece apoio para executá-lo como um objeto compartilhado (.dll).
No Linux, recomendamos que você execute o binário por meio de um serviço que faz parte do seu sistema initialization (init
). Se quiser executar o binário diretamente, você pode fazê-lo em um terminal, conforme mostrado no exemplo a seguir. Se você tiver um sistema operacional moderno, não serão necessárias outras instalações antes de executar o agente, pois todos os requisitos são incorporados estaticamente no executável. Isso lhe dá flexibilidade para executar o agente no terminal, como um serviço ou dentro de um contêiner.
Para executar o agente, crie um arquivo de configuração JSON. Especifique os seguintes pares de chave-valor:
-
sagemaker_edge_core_device_name
: o nome do dispositivo. Esse nome de dispositivo precisa ser registrado junto com a frota de dispositivos no console do SageMaker Edge Manager. -
sagemaker_edge_core_device_fleet_name
: o nome da frota ao qual o dispositivo pertence. -
sagemaker_edge_core_region
: A AWS região associada ao dispositivo, à frota e aos buckets do Amazon S3. Isso corresponde à região em que o dispositivo está registrado e onde o bucket do Amazon S3 é criado (espera-se que sejam os mesmos). Os modelos em si podem ser compilados com SageMaker o Neo em uma região diferente, essa configuração não está relacionada à região de compilação do modelo. -
sagemaker_edge_core_root_certs_path
: o caminho absoluto da pasta para os certificados raiz. Isso é usado para validar o dispositivo com a AWS conta relevante. -
sagemaker_edge_provider_aws_ca_cert_file
: O caminho absoluto para o certificado Amazon Root CA (AmazonRootCA1.pem). Isso é usado para validar o dispositivo com a AWS conta relevante.AmazonCA
é um certificado de propriedade de AWS. -
sagemaker_edge_provider_aws_cert_file
: o caminho absoluto para AWS IoT assinar o certificado raiz (*.pem.crt
). -
sagemaker_edge_provider_aws_cert_pk_file
: O caminho absoluto para a chave AWS IoT privada. (*.pem.key
). -
sagemaker_edge_provider_aws_iot_cred_endpoint
: O endpoint de AWS IoT credenciais (identifier
.iot.region
.amazonaws.com). Esse endpoint é usado para validação de credenciais. Consulte Conectar dispositivos ao AWS IoT para obter mais informações. -
sagemaker_edge_provider_provider
: indica a implementação da interface do provedor que está sendo usada. A interface do provedor se comunica com os serviços de rede final para uploads, pulsações e validação de registro. Por padrão, isso é definido como"Aws"
. Nós permitimos implementações personalizadas da interface do provedor. Ele pode ser definido comoNone
para nenhum provedor ouCustom
para implementação personalizada com o caminho relevante do objeto compartilhado fornecido. -
sagemaker_edge_provider_provider_path
: fornece o caminho absoluto para o objeto compartilhado de implementação do provedor. (arquivo.so ou.dll). O arquivo .dll ou .so do provedor"Aws"
é fornecido com a versão do agente. Este campo é obrigatório. -
sagemaker_edge_provider_s3_bucket_name
: o nome do bucket do Amazon S3 (não o URI do bucket do Amazon S3). O bucket deve ter uma stringsagemaker
em seu nome. -
sagemaker_edge_log_verbose
(Booliano): opcional. Isso define o log de depuração. Selecione umTrue
ouFalse
. -
sagemaker_edge_telemetry_libsystemd_path
: somente para Linux,systemd
implementa a métrica do contador de falhas do agente. Defina o caminho absoluto do libsystemd para ativar a métrica do contador de falhas. Você pode descobrir que o caminho padrão do libsystemd pode ser encontrado executandowhereis libsystemd
no terminal do dispositivo. -
sagemaker_edge_core_capture_data_destination
: o destino para o upload dos dados de captura. Escolha"Cloud"
ou"Disk"
. O padrão é definido como"Disk"
. Configurá-lo para"Disk"
gravar o(s) tensor(es) de entrada e saída e os dados auxiliares no sistema de arquivos local em sua localização preferida. Ao escrever para"Cloud"
usar o nome do bucket do Amazon S3 fornecido nasagemaker_edge_provider_s3_bucket_name
configuração. -
sagemaker_edge_core_capture_data_disk_path
: defina o caminho absoluto no sistema de arquivos local, no qual os arquivos de dados de captura são gravados quando"Disk"
for o destino. Esse campo não é usado quando"Cloud"
for especificado como destino. -
sagemaker_edge_core_folder_prefix
: o prefixo principal no Amazon S3 em que os dados capturados são armazenados quando você"Cloud"
especifica como destino dos dados de captura (sagemaker_edge_core_capture_data_disk_path)
. Os dados capturados são armazenados em uma subpasta emsagemaker_edge_core_capture_data_disk_path
se"Disk"
estiver definido como o destino dos dados. -
sagemaker_edge_core_capture_data_buffer_size
(Valor inteiro): o tamanho do buffer circular dos dados de captura. Indica o número máximo de solicitações armazenadas no buffer. -
sagemaker_edge_core_capture_data_batch_size
(Valor inteiro): o tamanho do lote de dados de captura. Indica o tamanho de um lote de solicitações que são tratadas a partir do buffer. Esse valor deve ser igual ou menor quesagemaker_edge_core_capture_data_buffer_size
. Recomenda-se no máximo metade do tamanho do buffer para o tamanho do lote. -
sagemaker_edge_core_capture_data_push_period_seconds
(Valor inteiro): o período de envio dos dados de captura em segundos. Um lote de solicitações no buffer é tratado quando há solicitações de tamanho de lote no buffer ou quando esse período é concluído (o que ocorrer primeiro). Essa configuração define esse período de tempo. -
sagemaker_edge_core_capture_data_base64_embed_limit
: o limite para carregar dados de captura em bytes. Valor inteiro.
O arquivo de configuração deve ser semelhante ao exemplo a seguir (com seus valores específicos especificados). Este exemplo usa o AWS provedor padrão ("Aws"
) e não especifica um upload periódico.
{
"sagemaker_edge_core_device_name": "device-name"
,
"sagemaker_edge_core_device_fleet_name": "fleet-name"
,
"sagemaker_edge_core_region": "region"
,
"sagemaker_edge_core_root_certs_path": "<Absolute path to root certificates>
",
"sagemaker_edge_provider_provider": "Aws",
"sagemaker_edge_provider_provider_path" : "/path/to/
libprovider_aws.so",
"sagemaker_edge_provider_aws_ca_cert_file": "<Absolute path to Amazon Root CA certificate>
/AmazonRootCA1.pem",
"sagemaker_edge_provider_aws_cert_file": "<Absolute path to AWS IoT signing root certificate>
/device.pem.crt",
"sagemaker_edge_provider_aws_cert_pk_file": "<Absolute path to AWS IoT private key.>
/private.pem.key",
"sagemaker_edge_provider_aws_iot_cred_endpoint": "https://<AWS IoT Endpoint Address>
",
"sagemaker_edge_core_capture_data_destination": "Cloud",
"sagemaker_edge_provider_s3_bucket_name": "sagemaker-bucket-name
",
"sagemaker_edge_core_folder_prefix": "Amazon S3 folder prefix"
,
"sagemaker_edge_core_capture_data_buffer_size": 30,
"sagemaker_edge_core_capture_data_batch_size": 10,
"sagemaker_edge_core_capture_data_push_period_seconds": 4000,
"sagemaker_edge_core_capture_data_base64_embed_limit": 2,
"sagemaker_edge_log_verbose": false
}
O artefato de lançamento inclui um executável binário chamado sagemaker_edge_agent_binary
no /bin
diretório. Para executar o binário, use o -a
sinalizador para criar um descritor de arquivo de soquete (.sock) em um diretório de sua escolha e especifique o caminho do arquivo de configuração JSON do agente que você criou com o sinalizador -c
.
./sagemaker_edge_agent_binary -a
<ADDRESS_TO_SOCKET>
-c<PATH_TO_CONFIG_FILE>
O seguinte exemplo mostra o trecho de código com um diretório e um caminho de arquivo especificados:
./sagemaker_edge_agent_binary -a /tmp/sagemaker_edge_agent_example.sock -c sagemaker_edge_config.json
Neste exemplo, um descritor de arquivo de soquete chamado sagemaker_edge_agent_example.sock
é criado no /tmp
diretório e aponta para um arquivo de configuração que está no mesmo diretório de trabalho do agente chamado sagemaker_edge_config.json
.