기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Edge Manager 다운로드 및 설정
Edge Manager 에이전트는 엣지 디바이스용 추론 엔진입니다. 에이전트를 사용하면 엣지 디바이스에 로드된 모델로 예측을 수행할 수 있습니다. 또한 에이전트는 모델 지표를 수집하고 특정 간격으로 데이터를 캡처합니다.
이 섹션에서는 에이전트로 디바이스를 설정해 보겠습니다. 그러려면 우선 릴리스 버킷의 릴리스 아티팩트와 서명 루트 인증서를 머신에 로컬로 복사해야 합니다. 릴리스 아티팩트를 압축 해제한 후 Amazon S3에 업로드합니다. 다음으로 에이전트의 구성 파일을 정의하고 저장합니다. 복사 및 붙여넣기할 템플릿이 제공됩니다. 마지막으로 릴리스 아티팩트, 구성 파일, 자격 증명을 디바이스에 복사합니다.
SageMaker Edge Manager 에이전트를 다운로드합니다.
지원되는 운영 체제에 따라 에이전트는 바이너리 형식으로 릴리스됩니다. 이 예제는 Linux 운영 체제를 사용하고 ARM64 아키텍처를 사용하는 Jetson Nano에서 추론을 실행합니다. 디바이스 지원 운영 체제 및 아키텍처에 대한 자세한 정보는 지원되는 디바이스, 칩 아키텍처, 시스템에서 확인하세요.
us-west-2 리전의 SageMaker Edge Manager 릴리스 버킷에서 최신 버전 바이너리를 가져옵니다.
!aws s3 ls s3://sagemaker-edge-release-store-us-west-2-linux-armv8/Releases/ | sort -r그러면 버전 기준으로 정렬된 릴리스 아티팩트가 반환됩니다.
PRE 1.20210512.96da6cc/ PRE 1.20210305.a4bc999/ PRE 1.20201218.81f481f/ PRE 1.20201207.02d0e97/버전 형식은
<MAJOR_VERSION>.<YYYY-MM-DD>.<SHA-7>입니다. 세 가지 구성 요소로 구성되어 있습니다.<MAJOR_VERSION>: 릴리스 버전. 릴리스 버전은 현재1(으)로 설정되어 있습니다.<YYYY-MM-DD>: 아티팩트 릴리스의 타임스탬프.<SHA-7>: 릴리스가 빌드된 리포지토리 커밋 ID.
압축된 TAR 파일을 로컬로 복사하거나 디바이스에 직접 복사. 다음 예제에서 이 문서가 릴리스된 시점의 최신 릴리스 아티팩트를 복사하는 방법을 알아봅시다.
!aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Releases/1.20201218.81f481f/1.20201218.81f481f.tgz ./아티팩트가 있으면 압축된 TAR 파일의 압축을 풉니다. 다음은 TAR 파일의 압축을 풀고
agent_demo디렉토리에 저장합니다.!mkdir agent_demo !tar -xvzf 1.20201218.81f481f.tgz -C ./agent_demoAmazon S3 버킷에 에이전트 릴리스 아티팩트를 업로드합니다. 다음 코드 예제에서는
agent_demo에 있는 콘텐츠를 복사하여agent_demoAmazon S3 버킷에 있는 디렉터리에 업로드합니다.!aws s3 cp --recursive ./agent_demo s3://{bucket}/agent_demo또한 릴리스 버킷의 서명 루트 인증서도 필요합니다.
!aws s3 cp s3://sagemaker-edge-release-store-us-west-2-linux-x64/Certificates/us-west-2/us-west-2.pem ./Amazon S3 버킷에 서명 루트 인증서를 업로드합니다.
!aws s3 cp us-west-2.pem s3://{bucket}/authorization-files/-
SageMaker Edge Manager 에이전트 구성 파일을 정의합니다.
먼저 에이전트 구성 파일을 다음과 같이 정의합니다.
sagemaker_edge_config = { "sagemaker_edge_core_device_name":"device_name", "sagemaker_edge_core_device_fleet_name":"device_fleet_name", "sagemaker_edge_core_capture_data_buffer_size": 30, "sagemaker_edge_core_capture_data_push_period_seconds": 4, "sagemaker_edge_core_folder_prefix": "demo_capture", "sagemaker_edge_core_region": "us-west-2", "sagemaker_edge_core_root_certs_path": "/agent_demo/certificates", "sagemaker_edge_provider_aws_ca_cert_file": "/agent_demo/iot-credentials/AmazonRootCA1.pem", "sagemaker_edge_provider_aws_cert_file": "/agent_demo/iot-credentials/device.pem.crt", "sagemaker_edge_provider_aws_cert_pk_file": "/agent_demo/iot-credentials/private.pem.key", "sagemaker_edge_provider_aws_iot_cred_endpoint":"endpoint", "sagemaker_edge_provider_provider": "Aws", "sagemaker_edge_provider_s3_bucket_name": bucket, "sagemaker_edge_core_capture_data_destination": "Cloud" }다음을 바꿉니다.
-
"device_name"을(를) 디바이스 이름으로(이 문자열은 이전 단계에서device_name변수에 저장). -
"device_fleet_name을(를) 디바이스 플릿 이름으로(이 문자열은 이전 단계에서device_fleet_name변수에 저장). -
"endpoint"자격 증명 공급자에 대한 AWS계정별 엔드포인트를 사용합니다(이 문자열은 라는 변수의 이전 단계에서 저장됨endpoint).
그런 다음 JSON 파일로 저장합니다.
edge_config_file = open("sagemaker_edge_config.json", "w") json.dump(sagemaker_edge_config, edge_config_file, indent = 6) edge_config_file.close()Amazon S3 버킷에 구성 파일을 업로드합니다.
!aws s3 cp sagemaker_edge_config.json s3://{bucket}/ -
릴리스 아티팩트, 구성 파일, 자격 증명을 디바이스에 복사합니다.
다음 지침은 엣지 디바이스에 적용됩니다.
참고
먼저 엣지 디바이스AWS CLI에 PythonAWS SDK for Python (Boto3), 및를 설치해야 합니다.
디바이스에서 터미널을 엽니다. 릴리스 아티팩트, 자격 증명, 구성 파일을 저장할 폴더를 생성합니다.
mkdir agent_demo cd agent_demoAmazon S3 버킷에 저장한 릴리스 아티팩트 콘텐츠를 디바이스에 복사합니다.
# Copy release artifacts aws s3 cp s3://<bucket-name>/agent_demo/ ./ --recursive(릴리스 아티팩트 콘텐츠는 이전 단계에서
agent_demo디렉터리에 저장.)<bucket-name>,agent_demo을(를) 각각 Amazon S3 버킷 이름과 릴리스 아티팩트 파일 경로로 바꿉니다./bin디렉터리로 이동하여 바이너리 파일을 실행 가능하게 만듭니다.cd bin chmod +x sagemaker_edge_agent_binary chmod +x sagemaker_edge_agent_client_example cd agent_demo자격 AWS IoT증명을 저장할 디렉터리를 만들고 Amazon S3 버킷에서 엣지 디바이스로 자격 증명을 복사합니다( 변수에 정의한 것과 동일한을 사용합니다
bucket.mkdir iot-credentials cd iot-credentials aws s3 cp s3://<bucket-name>/authorization-files/AmazonRootCA1.pem ./ aws s3 cp s3://<bucket-name>/authorization-files/device.pem.crt ./ aws s3 cp s3://<bucket-name>/authorization-files/private.pem.key ./ cd ../모델 서명 루트 인증서를 저장할 디렉터리를 만듭니다.
mkdir certificates cd certificates aws s3 cp s3://<bucket-name>/authorization-files/us-west-2.pem ./ cd agent_demo구성 파일을 디바이스에 복사합니다.
#Download config file from S3 aws s3 cp s3://<bucket-name>/sagemaker_edge_config.json ./ cd agent_demo엣지 디바이스의
agent_demo디렉터리는 다음과 비슷한 형태가 됩니다.├──agent_demo | ├── bin | ├── sagemaker_edge_agent_binary | └── sagemaker_edge_agent_client_example | ├── sagemaker_edge_config.json | ├── certificates | └──us-west-2.pem | ├── iot-credentials | ├── AmazonRootCA1.pem | ├── device.pem.crt | └── private.pem.key | ├── docs | ├── api | └── examples | ├── ATTRIBUTIONS.txt | ├── LICENSE.txt | └── RELEASE_NOTES.md