Solucionar erros Ambarella - Amazon SageMaker

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á.

Solucionar erros Ambarella

SageMaker O Neo exige que os modelos sejam empacotados em um arquivo TAR compactado ()*.tar.gz. Os dispositivos Ambarella exigem que arquivos adicionais sejam incluídos no arquivo TAR compactado antes que ele seja enviado para compilação. Inclua os seguintes arquivos em seu arquivo TAR comprimido se quiser compilar um modelo para destinos Ambarella com o Neo: SageMaker

  • Um modelo treinado usando uma estrutura suportada pelo SageMaker Neo

  • Um arquivo de configuração JSON

  • Imagens de calibração

Por exemplo, o conteúdo do seu arquivo TAR compactado será semelhante ao seguinte exemplo:

├──amba_config.json ├──calib_data | ├── data1 | ├── data2 | ├── . | ├── . | ├── . | └── data500 └──mobilenet_v1_1.0_0224_frozen.pb

O diretório é configurado da seguinte forma:

  • amba_config.json: Arquivo de configuração

  • calib_data: Pasta contendo imagens de calibração

  • mobilenet_v1_1.0_0224_frozen.pb: TensorFlow modelo salvo como um gráfico congelado

Para obter informações sobre estruturas suportadas pelo SageMaker Neo, consulteEstruturas compatíveis.

Configurando o arquivo de configuração

O arquivo de configuração fornece as informações exigidas pela cadeia de ferramentas Ambarella para compilar o modelo. O arquivo de configuração deve ser salvo como um arquivo JSON e o nome do arquivo deve terminar com *config.json. O gráfico a seguir mostra o conteúdo do arquivo de configuração.

Chave Descrição Exemplo

inputs

Dicionário camadas entradas de mapa para atributo.

{inputs:{"data":{...},"data1":{...}}}

“data”

Nome da camada de entrada. Nota: “data” é um exemplo do nome que você pode usar para rotular a camada de entrada.

“data”

formato

Descreve a forma da entrada para o modelo. Isso segue as mesmas convenções que SageMaker o Neo usa.

“forma”: “1,3,224.224"

filePath

Caminho relativo para o diretório contendo imagens de calibração. Eles podem ser arquivos binários ou de imagem, como JPG ou PNG.

“caminho do arquivo”: “calib_data/”

colorformat

Formato de cor que o modelo espera. Isso será usado ao converter imagens em binário. Valores suportados: [RGB, BGR]. O padrão é RGB.

"colorformat":"RGB"

médio

Valor médio a ser subtraído da entrada. Pode ser um valor único ou uma lista de valores. Quando a média é fornecida como uma lista, o número de entradas deve corresponder à dimensão do canal da entrada.

“média”: 128,0

escalar

Valor da escala a ser usado para normalizar a entrada. Pode ser um valor único ou uma lista de valores. Quando a escala é fornecida como uma lista, o número de entradas deve corresponder à dimensão do canal da entrada.

“escala”: 255,0

O exemplo a seguir é um arquivo de configuração de amostra:

{ "inputs": { "data": { "shape": "1, 3, 224, 224", "filepath": "calib_data/", "colorformat": "RGB", "mean":[128,128,128], "scale":[128.0,128.0,128.0] } } }

Imagens de calibração

Quantize seu modelo treinado fornecendo imagens de calibração. Quantizar seu modelo melhora o desempenho do motor CVflow em um sistema Ambarella em um chip (SoC). O conjunto de ferramentas Ambarella usa as imagens de calibração para determinar como cada camada no modelo deve ser quantizada para obter desempenho e precisão ideais. Cada camada é quantizada independentemente dos formatos INT8 ou INT16. O modelo final tem uma mistura de camadas INT8 e INT16 após a quantização.

Quantas imagens você deve usar?

É recomendável incluir entre 100 e 200 imagens que representem os tipos de cenas que o modelo deve manipular. O tempo de compilação do modelo aumenta linearmente com o número de imagens de calibração no arquivo de entrada.

Quais são os formatos de imagem recomendados?

As imagens de calibração podem estar em um formato binário bruto ou em formatos de imagem como JPG e PNG.

Sua pasta de calibração pode conter uma mistura de imagens e arquivos binários. Se a pasta de calibração contiver imagens e arquivos binários, o conjunto de ferramentas primeiro converterá as imagens em arquivos binários. Quando a conversão é concluída, ela usa os arquivos binários recém-gerados junto com os arquivos binários que estavam originalmente na pasta.

Posso converter as imagens em formato binário primeiro?

Sim. Você pode converter as imagens para o formato binário com pacotes de código aberto, como OpenCV ou PIL. Corte e redimensione as imagens para que elas satisfaçam a camada de entrada do seu modelo treinado.

Média e escala

Você pode especificar as opções de pré-processamento médio e de escala para o conjunto de ferramentas Amberalla. Essas operações são incorporadas à rede e aplicadas durante a inferência em cada entrada. Não forneça dados processados se você especificar a média ou a escala. Mais especificamente, não forneça dados dos quais você tenha subtraído a média ou aplicado a escala.

Verifique seu registro de compilação

Para obter informações sobre como verificar o registro de compilação de dispositivos Ambarella, consulte Verifique seu registro de compilação.