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 e configure o agente do Edge Manager manualmente
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:
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:
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 comoNonepara nenhum provedor ouCustompara 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 stringsagemakerem seu nome. -
sagemaker_edge_log_verbose(Booliano): opcional. Isso define o log de depuração. Selecione umTrueouFalse. -
sagemaker_edge_telemetry_libsystemd_path: somente para Linux,systemdimplementa 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 libsystemdno 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_nameconfiguraçã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_pathse"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.