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á.
Requisitos de dados de imagem
Um trabalho de processamento do SageMaker Clarify fornece suporte para explicar imagens. Este tópico fornece os requisitos de formato de dados para dados de imagem. Para obter informações sobre o processamento dos dados da imagem, consultecomputer vision.
Um conjunto de dados de imagem contém um ou mais arquivos de imagem. Para identificar um conjunto de dados de entrada para o trabalho de processamento do SageMaker Clarify, defina um dataset_uri
parâmetro de configuração ProcessingInputnomeado dataset
ou de análise como um prefixo Amazon URI S3 dos seus arquivos de imagem.
Os formatos de arquivo de imagem e extensões de arquivo suportados estão listados na tabela a seguir.
Formato de imagem | Extensão de arquivo |
---|---|
JPEG |
jpg, jpeg |
PNG |
png |
Configure o parâmetro dataset_type
da análise para o valor application/x-image
. Como o tipo não é um formato de arquivo de imagem específico, content_type
ele será usado para decidir o formato e a extensão do arquivo de imagem.
O trabalho de processamento do SageMaker Clarify carrega cada arquivo de imagem em uma NumPymatriz
O trabalho de processamento do SageMaker Clarify converte RGB os dados brutos de uma imagem em um formato de imagem compatível, comoJPEG. Ele faz isso antes de enviar os dados ao endpoint para previsões. Os formatos de imagem suportados são os seguintes.
Formatos de dados | MIMEdigitar | Extensão de arquivo |
---|---|---|
JPEG |
|
jpg, jpeg |
PNG |
|
png |
NPY |
|
Todas acima |
Especifique o formato de dados da carga útil da solicitação usando o parâmetro de configuração de análise content_type
. Se o content_type
não for fornecido, o formato de dados será padronizado como image/jpeg
.
Ao receber a resposta de uma invocação de endpoint de inferência, o trabalho de processamento do SageMaker Clarify desserializa a carga útil da resposta e, em seguida, extrai as previsões dela.
Problema de classificação de imagem
O formato de dados da carga de resposta deve ser especificado pelo parâmetro de configuração de análise accept_type. Se accept_type
não for fornecido, o formato de dados será padronizado como application/json
. Os formatos suportados são os mesmos descritos na resposta do Endpoint para dados tabulares na seção de dados tabulares.
Veja um Inferência com o algoritmo de classificação de imagens exemplo de um algoritmo de classificação de imagem SageMaker incorporado que aceita uma única imagem e, em seguida, retorna uma matriz de valores de probabilidade (pontuações), cada um para uma classe.
Conforme mostrado na tabela a seguir, quando o content_type
parâmetro é definido comoapplication/jsonlines
, a resposta é um JSON objeto.
Carga da solicitação de endpoint | Carga útil de resposta do endpoint (representação de string) |
---|---|
Imagem única |
'{"prediction":[0.1,0.6,0.3]}' |
No exemplo anterior, defina o probability
parâmetro como JMESPath expressão “previsão” para extrair as pontuações.
Quando definido comoapplication/json
, a resposta é um JSON objeto, conforme mostrado na tabela a seguir. content_type
Carga da solicitação de endpoint | Carga útil de resposta do endpoint (representação de string) |
---|---|
Imagem única |
'[0.1,0.6,0.3]' |
No exemplo anterior, probability
defina a JMESPath expressão “[*]” para extrair todos os elementos da matriz. No exemplo anterior, [0.1, 0.6, 0.3]
é extraído. Alternativamente, se você pular a configuração do parâmetro de configuração probability
, todos os elementos da matriz também serão extraídos. Isso ocorre porque toda a carga útil é desserializada como as previsões.
Problema de detecção de objetos
A configuração de análise é accept_type
padronizada application/json
e o único formato suportado é o Formato de Inferência de Detecção de Objetos. Para obter mais informações sobre formatos de resposta, consulteFormatos de resposta.
A tabela a seguir é um exemplo de resposta de um terminal que gera uma matriz. Cada elemento da matriz é uma matriz de valores contendo o índice da classe, a pontuação de confiança e as coordenadas da caixa delimitadora do objeto detectado.
Carga da solicitação de endpoint | Carga útil de resposta do endpoint (representação de string) |
---|---|
Imagem única (um objeto) |
'[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244]]' |
Imagem única (dois objetos) |
'[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475]]' |
A tabela a seguir é um exemplo de resposta de um endpoint que gera um JSON objeto com uma chave referente à matriz. Defina a configuração da análise probability
com a chave “previsão” para extrair os valores.
Carga da solicitação de endpoint | Carga útil de resposta do endpoint (representação de string) |
---|---|
Imagem única (um objeto) |
'{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244]]}' |
Imagem única (dois objetos) |
'{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475]]}' |
Verifique previamente a solicitação e a resposta do endpoint para dados de imagem
Recomendamos que você implante seu modelo SageMaker em um endpoint de inferência em tempo real e envie solicitações para o endpoint. Examine manualmente as solicitações e respostas. Certifique-se de que ambos estejam em conformidade com os requisitos na seção Solicitação do Endpoint para dados de imagem e Resposta do Endpoint para dados de imagem.
A seguir estão dois exemplos de código que mostram como enviar solicitações e examinar as respostas para problemas de classificação de imagens e detecção de objetos.
Problema de classificação de imagem
O código de exemplo a seguir instrui um endpoint a ler um PNG arquivo e depois classificá-lo.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-image-classification \ --content-type "image/png" \ --accept "application/json" \ --body fileb://./test.png \ /dev/stderr 1>/dev/null
A partir do exemplo de código anterior, segue a saída da resposta.
[0.1,0.6,0.3]
Problema de detecção de objetos
O código de exemplo a seguir instrui um endpoint a ler um JPEG arquivo e, em seguida, detectar os objetos nele.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-object-detection \ --content-type "image/jpg" \ --accept "application/json" \ --body fileb://./test.jpg \ /dev/stderr 1>/dev/null
A partir do exemplo de código anterior, segue a saída da resposta.
{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475],[4.0, 0.32643985450267792, 0.3677481412887573, 0.034883320331573486, 0.6318609714508057, 0.5967587828636169],[8.0, 0.22552496790885925, 0.6152569651603699, 0.5722782611846924, 0.882301390171051, 0.8985623121261597],[3.0, 0.42260299175977707, 0.019305512309074402, 0.08386176824569702, 0.39093565940856934, 0.9574796557426453]]}