SageMaker에서 이미지 기반 모델 호출

이 항목에서는 입력 이미지 업스케일링의 예를 사용하여 AWS SageMaker에서 이미지 기반 모델을 호출하는 방법에 대해 설명합니다. 머신 러닝을 통한 이미지 업스케일링은 일반적으로 컨볼루션 신경망(CNN)과 같은 딥 러닝 모델을 사용하여 이미지의 해상도나 품질을 개선하는 작업을 포함합니다.

주:

AWS 마크 및 로고는 Amazon.com, Inc.의 상표 또는 등록 상표이며 식별 목적으로만 사용됩니다.

저해상도 이미지의 경우 Amazon AWS SageMaker JumpStart 모델에서 안정적인 확산을 통해 이미지를 업스케일링하여 고해상도 이미지로 변환합니다. 저해상도 이미지는 Base64 형식으로 인코딩되어 업스케일링을 위해 모델에 전달됩니다. 다음 이미지는 이 업스케일링 프로세스의 흐름을 보여줍니다. AWS SageMaker JumpStart 모델에 대한 자세한 내용은 AWS SageMaker InvokeEndpoint JumpStart Upscale ImagesAWS SageMaker InvokeEndpoint JumpStart Upscaling을 참조하십시오. AWS SageMaker 이미지 변환 프로세스

프로시저

  1. Control Room에서 SageMaker 엔드포인트 디스커버리를 사용하여 구성을 클릭하여 엔드포인트 목록을 가져옵니다. AWS SageMaker 엔드포인트 호출
    1. AWS SageMaker: 인증 작업에 설명된 대로 자격증명을 입력합니다.
    2. 지역 드롭다운을 클릭하여 엔드포인트를 가져올 AWS 인스턴스의 지역을 선택합니다.
    3. 연결을 클릭합니다.
      SageMaker와 연결되고 선택한 지역에서 사용 가능한 엔드포인트가 나열됩니다.
    4. 사용하려는 모델에 해당하는 엔드포인트 이름을 클릭하고 선택을 클릭합니다. 이 예에서는 이미지 기반 모델이 사용됩니다. 기존 모델 및 사전 학습된 모델이 사용되며, 추론 > 엔드포인트로 이동하면 이미 배포된 모델을 확인할 수 있습니다. 원하는 모델을 배포하려면 AWS SageMaker Deploy models for inference, 배포된 모델을 학습시키려면 AWS SageMaker Build, Train, and Deploy models for inference을 참조하십시오. 모델에 대한 자세한 정보를 보려면 모델을 클릭합니다.
    5. 선택을 클릭합니다.
      엔드포인트 이름지역을 상위 화면에 따라 자동으로 채웁니다.
  2. 콘텐츠 유형 드롭다운을 클릭하여 입력하려는 콘텐츠 페이로드 유형을 선택합니다. 이 예에서는 application/json;jpeg를 페이로드 유형으로 선택합니다.
  3. 저해상도 이미지를 폴더에 저장하고 다음과 같이 Base64 변환을 사용합니다. Base64 인코딩 작업을 수행하여 이미지를 Base64 인코딩한 텍스트로 변환합니다. 다음 예와 같이 base64 인코딩한 텍스트를 JSON 형식으로 입력합니다.
    {
       "prompt":"a cat",
       "image":encoded_image,
       "num_inference_steps":50,
       "guidance_scale":7.5
    }
    base64 인코딩의 출력은 encoded_image에 사용됩니다.
  4. 세션 이름으로 Default를 입력하거나 변수에 세션을 저장합니다.
  5. 응답 JSON은 str-ImageBasedModelResponse 변수로 저장됩니다.
    응답 JSON은 다음 두 부분으로 구성됩니다.
    • 생성된 이미지: 생성된 이미지 노드는 업스케일링된 이미지의 2진을 포함합니다.
    • Prompt: 입력 프롬프트. 이 예에서는 a cat입니다.
  6. Base64 디코더를 사용하면 출력을 이미지로 변환할 수 있습니다. 이 예의 Bot에서는 JSON의 각 노드를 읽고 Generated Image: 노드의 값을 디코더에 전달하여 업스케일링된 이미지를 생성합니다.