Amazon SageMaker AI 로컬 모드를 사용하여 모델을 테스트하려고 합니다.
해결 방법
모델을 프로덕션 엔드포인트에 배포하기 전에 테스트하려면 모델을 SageMaker AI 노트북 인스턴스에 로컬로 배포할 수 있습니다.
시작하기 전에 모델 아티팩트를 기록해 두십시오. 모델 아티팩트는 로컬이나 Amazon Simple Storage Service(Amazon S3)에 저장하는 훈련 작업 출력입니다.
모델을 로컬 모드로 배포하려면 다음 단계를 완료합니다.
-
Amazon SageMaker Python SDK 설치:
pip install sagemaker
-
SageMaker AI 노트북 인스턴스에서 다음 명령을 실행하여 필요한 라이브러리를 가져옵니다.
import boto3
import sagemaker
from sagemaker.local import LocalSession
-
모델 객체를 생성하려면 다음 명령을 실행합니다.
model = Model(
model_data='s3://your-bucket/path/to/model.tar.gz',
image_uri='your-container-image-uri',
role='your-sagemaker-role-arn',
sagemaker_session=sagemaker_session
)
참고: s3://your-bucket/path/path/to/model.tar.gz를 모델 아티팩트로, your-container-image-uri를 프레임워크의 Amazon Elastic Container Registry(Amazon ECR) 이미지로 바꾸십시오. 또한 your-sagemaker-role-arn을 AWS Identity and Access Management(IAM) 역할로, sagemaker_session을 현재 세션으로 바꾸십시오.
-
모델을 로컬로 배포하려면 다음 명령을 실행합니다.
predictor = model.deploy(initial_instance_count=1,instance_type='local')
참고: 사용자 지정 모델을 배포하는 경우 진입점 스크립트를 포함하십시오. 스크립트는 모델이 추론 요청을 로드하고 처리하는 방법을 정의합니다.
-
배포 후 다음 명령을 실행하여 추론합니다.
result = predictor.predict(your_input_data)
print(result)
참고: Amazon SageMaker Studio의 경우 도메인의 DockerSettings에서 EnableDockerAccess 파라미터를 활성화해야 합니다. 그런 다음 애플리케이션의 운영 체제(OS)에 따라 Docker를 설치합니다. 쉘 스크립트는 GitHub 웹사이트의 amazon-sagemaker-local-mode를 참조하십시오. 자세한 내용은 로컬 모드 시작하기를 참조하십시오.
관련 정보
Amazon SageMaker Python SDK 웹사이트의 로컬 모드