

Sagemaker Python SDK는 Amazon Sagemaker에서 기계 학습 모델을 교육 및 배포하기위한 오픈 소스 라이브러리입니다.
SDK를 사용하면 인기있는 딥 러닝 프레임 워크 Apache MXNet 및 TensorFlow를 사용하여 모델을 교육하고 배포 할 수 있습니다. Sagemaker 및 GPU 교육에 최적화 된 핵심 머신 러닝 알고리즘의 확장 가능한 구현 인 Amazon 알고리즘 으로 모델을 교육 및 배포 할 수도 있습니다. Sagemaker 호환 Docker 컨테이너에 내장 된 고유 한 알고리즘이 있는 경우 모델을 사용하여 모델을 교육하고 호스트 할 수 있습니다.
API 참조를 포함한 자세한 문서는 문서를 참조하십시오.
Sagemaker Python SDK는 PYPI로 제작되었으며 Sagemaker Python SDK의 최신 버전은 다음과 같이 PIP를 설치할 수 있습니다.
PIP 설치 SAGEMAKER == <https://pypi.org/project/sagemaker/>에서 pypi의 최신 버전
이 저장소를 클로닝하고 저장소의 루트 디렉토리에서 PIP 설치 명령을 실행하여 소스에서 설치할 수 있습니다.
git 클론 https://github.com/aws/sagemaker-python-sdk.git CD Sagemaker-Python-SDK PIP 설치.
Sagemaker Python SDK는 Unix/Linux 및 Mac을 지원합니다.
Sagemaker Python SDK는 다음에 테스트됩니다.
sagemaker Library는 사용자 요구를 더 잘 이해하고 문제를 진단하며 새로운 기능을 제공 할 수 있도록 원격 측정을 가능하게합니다. 이 원격 측정은 다양한 Sagemaker 기능의 사용을 추적합니다.
원격 측정을 거부하는 것을 선호하는 경우 SDK 기본 구성에서 TelemetryOptOut 매개 변수를 true 로 설정하여 쉽게 수행 할 수 있습니다. 자세한 지침은 Sagemaker Python SDK와 함께 기본값 구성 및 사용을 방문하십시오.
관리 서비스 인 Amazon Sagemaker는 Amazon Sagemaker가 관리하는 AWS 하드웨어에서 귀하를 대신하여 작업을 수행합니다. Amazon Sagemaker는 사용자가 허용하는 작업 만 수행 할 수 있습니다. AWS 문서에서 필요한 권한에 대해 자세히 알아볼 수 있습니다.
Sagemaker Python SDK는 Sagemaker를 사용하는 데 필요한 것 외에 추가 권한을 요구해서는 안됩니다. 그러나 경로가있는 IAM 역할을 사용하는 경우 iam:GetRole 에 대한 권한을 부여해야합니다.
Sagemaker Python SDK는 Apache 2.0 라이센스에 따라 라이센스가 부여됩니다. Copyright Amazon.com, Inc. 또는 그 계열사입니다. 모든 권리 보유. 라이센스는 http://aws.amazon.com/apache2.0/에서 사용할 수 있습니다.
Sagemaker Python SDK에는 단위 테스트 및 통합 테스트가 있습니다.
pip install --upgrade .[test] 또는 ZSH 사용자의 경우 : pip install --upgrade .[test]
단위 테스트
우리는 Tox를 사용하여 단위 테스트를 실행합니다.이 프로그램은 여러 Python 버전에 대한 단위 테스트를 실행하고 코드가 스타일 지침에 맞는지 확인하는 프로그램입니다. 우리는 지원되는 모든 Python 버전으로 Tox를 실행하므로 동일한 구성으로 단위 테스트를 실행하려면 설치된 Python 버전에 대한 통역사가 필요합니다.
Tox로 단위 테스트를 실행하려면 실행하십시오.
Tox Tests/Unit
통합 테스트
통합 테스트를 실행하려면 다음과 같은 전제 조건을 충족해야합니다.
SageMakerRole 이라는 IAM 역할이 있습니다. AmazonSagemakerfullaccess 정책이 첨부되어 있어야하고 탄성 추론을 사용하는 데 필요한 권한이있는 정책이 있어야합니다.aws ecr create-repository --repository-name remote-function-dummy-container실행하려는 통합 테스트 만 선택적으로 실행하는 것이 좋습니다. 다음과 같이 개별 테스트 기능 이름으로 필터링 할 수 있습니다.
Tox--k 'test_i_care_about'
또한 다음 명령을 실행하여 모든 통합 테스트를 실행할 수 있습니다. 다음 명령을 순서대로 실행하면 시간이 걸릴 수 있습니다.
독스 - 테스트/정수
동시에 실행할 수도 있습니다.
Tox--- 자동 테스트/정수
.githooks 디렉토리의 모든 git 후크를 활성화하려면 리포지토리 디렉토리 에서이 명령을 실행하십시오.
.git/hooks -type l -exec rm {} ;
.githooks -type f -exec ln -sf ../../ {} .git/hooks/;
개별 git 후크를 사용하려면 .githooks/ 디렉토리에서 .git/ hooks/ directory로 이동하십시오.
Python 환경을 설정하고 doc/requirements.txt 에 나열된 종속성을 설치하십시오.
# 콘다 Conda Create -N Sagemaker Python = 3.7 Conda는 Sagemaker를 활성화합니다 Conda 설치 Sphinx = 3.1.1 Sphinx_RTD_Theme = 0.5.0 # PIP PIP 설치 -R doc/reimporks.txt
클론/포크 레포를 클론하고 로컬 버전을 설치하십시오.
PIP 설치 -업그레이드.
그런 다음 sagemaker-python-sdk/doc 디렉토리에 cd 넣고 실행합니다.
HTML을 만드십시오
doc 디렉토리에서 .rst 파일을 편집 한 다음 make html 다시 실행하여 문서의 모든 페이지에 대한 템플릿을 편집 할 수 있습니다.
Python 웹 서버로 사이트를 미리 봅니다.
cd _build/html Python -m http. Server 8000
http : // localhost : 8000을 방문하여 웹 사이트를보십시오
Sagemaker Sparkml Serving을 사용하면 Sagemaker의 Sparkml 모델에 대한 예측을 수행 할 수 있습니다. Sagemaker에서 SparkML 모델을 호스팅하려면 MLeap 라이브러리로 직렬화해야합니다.
MLEAP에 대한 자세한 내용은 https://github.com/combust/mleap을 참조하십시오.
Spark의 지원되는 주요 버전 : 3.3 (MLEAP 버전 -0.20.0)
다음은 SparkMLModel 클래스 인스턴스를 작성하고 deploy() 인스턴스를 사용하여 훈련 된 SparkML 모델에 대한 예측을 수행하는 데 사용할 수있는 엔드 포인트를 작성하는 방법에 대한 예입니다.
sparkml_model = SparkMLModel ( model_data = 's3://path/to/model.tar.gz' , env = { 'SAGEMAKER_SPARKML_SCHEMA' : schema })
model_name = 'sparkml-model'
endpoint_name = 'sparkml-endpoint'
predictor = sparkml_model . deploy ( initial_instance_count = 1 , instance_type = 'ml.c4.xlarge' , endpoint_name = endpoint_name ) 모델이 배포되면 다음과 같은 CSV 페이로드로 엔드 포인트를 호출 할 수 있습니다.
payload = 'field_1,field_2,field_3,field_4,field_5'
predictor . predict ( payload ) SageMaker SparkML 서빙 schema 의 구조뿐만 아니라 다양한 content-type 및 Accept 형식에 대한 자세한 내용은 Sagemaker SparkML 서빙 컨테이너를 참조하십시오.