서비스 업데이트 중에 AWS DeepRacer 강화 학습 모델을 가져오지 못했습니다. - AWS DeepRacer

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

서비스 업데이트 중에 AWS DeepRacer 강화 학습 모델을 가져오지 못했습니다.

업데이트 중인 항목은 무엇입니까?

AWS DeepRacer는 보다 비용 효율적이고 정액 요금 요금과 간소화된 결제 기능을 제공하기 위해 서비스 아키텍처를 업데이트하고 있습니다. AWS S3 버킷에서 AWS DeepRacer 콘솔로 강화 학습 (RL) 모델의 교육, 평가 및 스토리지를 마이그레이션 (이동) 하고 있습니다. 업데이트 후에는 AWS DeepRacer가 사용자를 대신하여 SageMaker 및 RoboMaker와 같은 관련 AWS 서비스를 호출하는 대신 AWS DeepRacer에 직접 API 호출을 수행합니다. 이는 월별 AWS DeepRacer 청구서의 새로운 정액 요금 모델에 반영되며, 기본 서비스에 대한 별도의 요금이 더 이상 표시되지 않습니다. 대신 서비스 사용 및 모델 스토리지의 두 가지 범주로 구성된 항목이 하나 있습니다.

AWS DeepRacer 요금에 대해 자세히 알아보기이리.

RL 모델은 어떻게 됩니까?

업데이트 전에 학습한 AWS DeepRacer 모델은 Amazon S3 AWS DeepRacer 콘솔로 자동 이동 (복사 및 검증) 됩니다. 이동되는 모델은 유효성을 검사할 때까지 사용할 수 없습니다. 8월 10일부터 이동된 모델이 Amazon S3 제거되어 동일한 모델의 스토리지에 대한 이중 결제가 방지됩니다. AWS DeepRacer 스토리지는 모델을 이동하는 동안 2020년 7월과 8월에 무료로 제공됩니다. 업데이트 후에는 AWS DeepRacer 콘솔에서 모델을 관리 (삭제, 다운로드 또는 가져오기) 할 수 있습니다.모델섹션.

프로세스 중에 오류가 발생한 모델은 AWS DeepRacer 콘솔에서 사용할 수 없으며 Amazon S3 제거되지 않습니다. AWS DeepRacer 콘솔의 단계에 따라 오류를 해결하십시오. 나중에 모델을 수동으로 가져오려면가져오기AWS DeepRacer 콘솔의 단원을 클릭합니다.

그 밖의 무엇이 바뀌나요?

Amazon SageMaker 또는 AWS 로보메이커에 AWS DeepRacer 교육 또는 평가 작업이 더 이상 나열되지 않습니다. 모델을 지속적으로 개선하는 데 필요한 데이터를 얻을 수 있도록 콘솔에 버튼을 추가하여 교육 및 시뮬레이션 로그 파일을 쉽게 다운로드할 수 있습니다.

문제 해결

모델이 AWS DeepRacer 서비스 계정에 복사되지 않으면 오류 메시지를 찾아 단계를 따르십시오. 관련 도움말 항목에서 자세히 알아보십시오.

서비스 오류 인간에서 나에게 말해줘 그 뜻은...
서비스_오류 모델 복사 오류: 업데이트를 다시 해 보십시오. 여러 번의 시도에도 불구하고 모델을 복사할 수 없었습니다. 모델이 여전히 S3 버킷에 있는 경우 모델을 선택하고업데이트. 또는 수동으로 가져옵니다. 자세한 내용은 단원을 참조하십시오.업데이트 중인 항목은 무엇입니까?. 이 메시지를 제거하려면 모델을 선택하고삭제.
SRC_버켓_나스_NOT_존재 버킷이 존재하지 않습니다. 수동으로 모델을 가져옵니다. 이 모델이 저장된 S3 버킷이 삭제되었으므로 업데이트 중에 모델을 복사할 수 없습니다. 여전히 모델의 사본이 있는 경우 S3에 배치하고 Amazon S3 S3에서 수동으로 가져옵니다. 자세한 내용은 단원을 참조하십시오.예상 권한. 이 메시지를 제거하려면 모델을 선택하고삭제.
접근_데니드_TO_버킷 버킷에 액세스할 수 없습니다. 버킷 권한을 복원합니다. 이 모델이 저장된 S3 버킷에 대한 권한이 변경되었으므로 업데이트 중에 모델을 복사할 수 없습니다. 버킷 권한을 복원하려면 단원을 참조하십시오.S3 폴더 구조. 권한을 복원한 후 모델을 다시 업데이트해 보십시오. 이 메시지를 제거하려면 모델을 선택하고삭제.
코치_체크포인트_DOES_NOT_존재 Coach 파일이 존재하지 않습니다. 수동으로 모델을 가져옵니다. S3 버킷에서 코치 체크포인트 메타데이터가 삭제되었으므로 모델을 복사할 수 없습니다. 여전히 파일이 있는 경우 복원을 시도한 다음업데이트. 또는 모델을 수동으로 가져옵니다. 자세한 내용은 단원을 참조하십시오.모델 임포트. 이 메시지를 제거하려면 모델을 선택하고삭제.
모델_TAR_파일_크기_리미트_초과됨 모델 파일이 너무 큽니다. 수동으로 모델을 가져옵니다. 모델 파일이 서비스에서 생성할 수 있는 파일 크기 제한을 초과하여 파일이 편집되었습니다. 이 모델은 가져오지 않습니다. 자세한 내용은 단원을 참조하십시오.S3 폴더 구조. 이 메시지를 제거하려면 모델을 선택하고삭제.
체크포인트_파일_크기_제한_초과됨 체크포인트 파일이 너무 큽니다. 수동으로 모델을 가져옵니다. 체크포인트 파일이 서비스에서 만들 수 있는 파일 크기 제한을 초과하여 파일이 편집되었습니다. 이 모델은 가져오지 않습니다. 자세한 내용은 단원을 참조하십시오.S3 폴더 구조. 이 메시지를 제거하려면 모델을 선택하고삭제.
JSON_YAML_파일_크기_제한_초과되었습니다. 메타데이터 파일이 너무 큽니다. 수동으로 모델을 가져옵니다. YAML 파일이 서비스에서 만들 수 있는 파일 크기 제한을 초과하여 파일이 편집되었습니다. 이 모델은 가져오지 않습니다. 자세한 내용은 단원을 참조하십시오.S3 폴더 구조. 이 메시지를 제거하려면 모델을 선택하고삭제.
파일_DOES_NOT_존재 파일이 존재하지 않습니다. 수동으로 모델을 가져옵니다. S3 버킷에서 삭제되었으므로 모델을 복사할 수 없습니다. 여전히 파일이 있는 경우 복원을 시도한 다음업데이트. 또는 모델을 수동으로 가져옵니다. 자세한 내용은 단원을 참조하십시오.S3 폴더 구조. 이 메시지를 제거하려면 모델을 선택하고삭제.
S3_복사_오류 모델 복사 오류: 업데이트를 다시 해 보십시오. 여러 번의 시도에도 불구하고 모델을 복사할 수 없었습니다. 모델이 여전히 S3 버킷에 있는 경우 모델을 선택하고업데이트. 또는 모델을 수동으로 가져옵니다. 자세한 내용은 단원을 참조하십시오.S3 폴더 구조. 이 메시지를 제거하려면 모델을 선택하고삭제.
체크포인트_파일_DOES_NOT_존재 체크포인트가 존재하지 않습니다. 수동으로 모델을 가져옵니다. 검사점 파일이 S3 버킷에서 삭제되었으므로 모델을 복사할 수 없습니다. 여전히 파일이 있는 경우 S3로 복원하고 모델을 선택한 다음업데이트. 또는 모델을 수동으로 가져옵니다. 자세한 내용은 단원을 참조하십시오.S3 폴더 구조. 이 메시지를 제거하려면 모델을 선택하고삭제.
모델_유효성 검사_서비스_오류 잘못된 모델: 수동으로 모델을 가져옵니다. 편집되었기 때문에 모델을 검증할 수 없습니다. 복사본이 있는 경우 수동으로 가져옵니다. 자세한 내용은 단원을 참조하십시오.S3 폴더 구조. 이 메시지를 제거하려면 모델을 선택하고삭제.
계정_리소스_이 (가) 존재하지 않습니다 누락되거나 잘못된 권한: 권한을 재설정합니다. 모델을 훈련했을 때 AWS DeepRacer에서 사용할 수 있는 권한이 제거되었으므로 모델을 복사할 수 없습니다. AWS DeepRacer가 필요한 권한을 다시 생성하도록 승인하려면 모델을 선택한 다음업데이트. 권한을 다시 생성한 후 AWS DeepRacer가 모델을 복사합니다. 자세한 내용은 단원을 참조하십시오.S3 폴더 구조.

모델 가져오기

학습한 RL 모델을 가져오려면 다음을 수행하십시오.

필요한 모든 파일이 필요한 폴더에 있으면 다음을 따르십시오.가져오기 모델지침.

모델 파일

필수 - 성공적으로 가져오려면 AWS DeepRacer RL 모델에 이러한 파일을 포함해야 합니다. 단원의 단계를 따르십시오.S3 폴더 구조올바른 폴더에 있는지 확인합니다.
  • .coach_checkpoint-.coach_checkpoint 파일은 가져올 체크포인트의 이름을 포함하는 포인터 파일입니다. 다음 코드는.coach_checkpoint 파일의 예를 보여 줍니다. 이 파일은 한 줄이며 키 이름이 들어 있습니다.

    13_Step-25173.ckpt
  • *ckpt*file - 체크포인트 파일 이름은 명명 규칙을 사용합니다.number of training iteration_Step-total steps.ckpt. 다음 코드에 체크포인트의 예가 나와 있습니다.

    1_Step-42.ckpt, 2_Step-91.ckpt, 3_Step-124.ckpt, 4_Step-162.ckpt
  • model_metadata.json- model_metadata.json 파일에는 모델에 대한 설명 정보가 포함되어 있습니다. 다음 코드에 model_metadata.json 파일의 내용 예가 나와 있습니다.

    { "action_space": [ { "steering_angle": -30, "speed": 0.5, "index": 0 }, { "steering_angle": -30, "speed": 1, "index": 1 }, { "steering_angle": 30, "speed": 1, "index": 9 } ], "sensor": [ "FRONT_FACING_CAMERA" ], "neural_network": "DEEP_CONVOLUTIONAL_NETWORK_SHALLOW", "version": "3" }
  • reward_function.py

  • model.tar.gz

선택 사항 - 이러한 파일 없이 모델을 가져오지만 교육 및 평가 지표를 렌더링하려면 해당 모델이 필요합니다.
  • deepracer_checkpoints.json- 이 파일이 있으면.coach_checkpoint무시됩니다. 다음 코드는 json 형식을 보여주는 예제입니다..coach_checkpoint모델을 성공적으로 가져오려면 파일을 입력해야 합니다.

    {"best_checkpoint": {"name": "319_Step-43282.ckpt"}, "last_checkpoint": {"name": "20_Step-43482.ckpt"}}
  • training_params.yaml

  • EvaluationMetrics*.json

  • TrainingMetrics*.json

체크포인트 파일 찾기

모델을 가져올 때 다음 체크포인트 파일이 순서대로 있는지 확인합니다.

  1. deepracer_checkpoints.json- 다음 코드는 json 형식을 보여주는 예제입니다..coach_checkpoint모델을 성공적으로 가져오려면 파일을 입력해야 합니다.

    {"best_checkpoint": {"name": "319_Step-43282.ckpt"}, "last_checkpoint": {"name": "20_Step-43482.ckpt"}}
  2. .coach_checkpoint- 더.coach_checkpointfile 은 가져올 체크포인트의 이름을 포함하는 포인터 파일입니다. 다음 코드에서는 체크포인트 파일 내용의 예를 보여 줍니다. 이 파일은 한 줄이며 키 이름이 들어 있습니다.

    13_Step-25173.ckpt

다음의 경우,deepracer_checkpoints.json가 있지만 파일에서 명명된 체크포인트를 찾을 수 없습니다. 가져오기가 실패합니다.

# We can find a deepracer_checkpoints.json file in the S3 containing the model you want to import: {"best_checkpoint": {"name": "319_Step-43282.ckpt"}, "last_checkpoint": {"name": "20_Step-43482.ckpt"}} # We CAN'T find the named checkpoints in the file: 320_Step-43278.ckpt 321_Step-43280.ckpt 322_Step-43282.ckpt # The import fails. :-(

다음의 경우,.coach_checkpoint가 있지만 파일에서 명명된 체크포인트를 찾을 수 없습니다. 가져오기가 실패합니다.

# We can find a .coach_checkpoint file in the S3 containing the model you want to import: 13_Step-25173.ckpt # We CAN'T find the named checkpoints in the file: 13_Step-25174.ckpt 13_Step-25175.ckpt 14_Step-3456.ckpt # The import fails. :-(

그렇지 않은 경우deepracer_checkpoints.json도 없습니다.coach_checkpoint파일이 있으면 가져오기에 실패합니다.

가져오기가 성공적인지 확인하려면 다음을 확인하십시오..coach_checkpoint은 (는) 모델의 S3 버킷의 모델 폴더에 있습니다. 그런 다음 체크 포인트가 호출되었는지 확인하십시오..coach_checkpoint파일이 있고 체크포인트 파일의 키 이름이 명명 규칙을 따릅니다.number of training iteration_Step-total steps.ckpt.

# We can find a .coach_checkpoint file in the S3 containing the model you want to import: 13_Step-25173.ckpt # We CAN find the named checkpoints in the file: 13_Step-25173.ckpt 13_Step-25174.ckpt 13_Step-25175.ckpt 14_Step-3456.ckpt # The import succeeds. :-)

체크포인트 로직

언제deepracer_checkpoints.json파일이 존재합니다.best_checkpointlast_checkpoint키를 사용하여 파일을deepracer_checkpoints file.

When only a .coach_checkpoint file exists지정된 체크포인트를 복사합니다. 다음 코드에 체크포인트의 예가 나와 있습니다coach_checkpoint파일.

1_Step-42.ckpt, 2_Step-91.ckpt, 3_Step-124.ckpt, 4_Step-162.ckpt
  • The .coach_checkpoint예제의 파일은 다음을 포함합니다.4_Step-162.ckpt.

  • A deepracer_checkpoints.json파일이 없습니다.

  • 마지막 두 개의 체크포인트를 복사합니다.3_Step-124.ckpt4_Step-162.ckpt.

다음 코드는 다음 내용의 다른 예를 보여 줍니다.coach_checkpoint파일.

3_Step-124.ckpt.data-00000-of-00001, 3_Step-124.ckpt.index, 3_Step-124.ckpt.meta, 4_Step-162.ckpt.index, 4_Step-162.ckpt.meta 4_Step-162.ckpt.data-00000-of-00001

체크포인트 파일 이름은 명명 규칙을 사용합니다.number of training iteration_Step-total steps.ckpt이 예제에서는 s3:list 호출을 합니다. 이것은 우리가 모든 것을 복사한다는 것을 의미합니다.3_Step-124.ckpt*파일 및4_Step-162.ckpt*마지막 체크포인트에서 두 번째 파일을 찾는 파일입니다.

S3 폴더 구조

이 단원에서는 가져오기 프로세스를 성공적으로 완료하기 위해 Amazon S3 폴더 구조가 어떻게 나타나야 하는지 설명합니다. 이 안내서를 사용하여 필요한 모든 파일이 올바른 폴더에 있는지 확인하고 가져오기를 다시 시도하십시오.

폴더 구조를 확인하고 파일이 올바른 폴더에 있는지 확인합니다.
  1. OpenS3AWS 관리 콘솔에서 S3 버킷 선택aws-deepracer-XxXXXxxX-xXXx-XxXX-XXxX-xXXXXxxXXxX가져오거나 마이그레이션할 모델이 들어 있습니다.

  2. 모델의 S3 버킷에서 모델을 선택합니다.S3 접두사 DeepRacer-SageMaker-RoboMaker-comm-XXXXXXXXXXXX-XXXXXXXXXXXXXX-xxxxxXxX-xxXx-XXxx-xXXX-XXxXxXXXXxXX가져오거나 마이그레이션할 모델의 경우

  3. 에서접두사폴더, 관찰ip모델폴더. 또한 모델도 확인해야 합니다.training_params.yamlreward_function.py파일을 생성합니다.

  4. 열기ip폴더에 포함되어 있는지 확인하는 폴더hyperparameters.json파일.

  5. 언제hyperparameters.json파일이 제자리에 있습니다. 한 레벨로 다시 이동합니다.S3 접두사루트 폴더.

  6. 열기모델폴더에 필요한 모든 모델 아티팩트가 포함되어 있는지 확인합니다. 귀하.coach_checkpoint파일이 이 폴더에 있어야 합니다.

  7. 모든 파일이 올바른 폴더에 있으면 AWS DeepRacer 콘솔로 돌아가서 가져오기 또는 마이그레이션을 다시 시도하십시오.

S3 버킷 정책

모델이 저장된 S3 버킷에 대한 권한이 변경되었으므로 업데이트 중에 모델을 복사할 수 없습니다. 이러한 문제는 AWS DeepRacer S3 또는 AWS DeepRacer 서비스 역할 정책의 권한을 직접 편집한 두 가지 이유로 발생할 수 있습니다.

DeepRacer S3에 대한 권한을 직접 편집한 경우 다음 정책을 사용하여 버킷 권한을 복원합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1586917903457", "Effect": "Allow", "Principal": { "Service": "deepracer.amazonaws.com" }, "Action": [ "s3:GetObjectAcl", "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:${Partition}:deepracer:${Region}:${Account}:model/reinforcement_learning/${ResourceId}" } } } ] }

사용자 지정을 사용할 경우AWS Key Management Service이 버킷에 대한 (KMS) 리소스에는 다음을 포함합니다.AWS KMS리소스 정책:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "statement identifier", "Effect": "effect", "Principal": "principal", "Action": "action", "Resource": "resource", "Condition": { "StringEquals": { "aws:SourceArn": "arn:${Partition}:deepracer:${Region}:${Account}:model/reinforcement_learning/${ResourceId}" } } }] }

권한을 복원한 후 모델을 다시 업데이트해 보십시오.

AWS DeepRacer 서비스 역할 정책을 직접 편집한 경우ACCESS_DENIED_TO_BUCKET오류 및 선택업데이트. 이렇게 하면 IAM 서비스 역할이 다시 생성되고 모델 마이그레이션을 다시 시도합니다.

이 메시지를 제거하려면 모델을 선택하고삭제.

모델 가져오기 권한

역할 및 정책을 수정한 경우 관리형 정책에 최소한 다음 권한이 포함되어 있는지 확인합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy", "s3:ListBucket", "s3:GetBucketAcl", "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] } ] }

역할에는 다음과 같은 신뢰 정책이 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "deepracer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

SageMaker에서 모델을 가져오는 방법

SageMaker에서 RL 모델을 가져오려면:

  1. AWS DeepRacer 콘솔에서 다음을 선택합니다.모델 가져오기.

  2. 다음 사항을 입력합니다.

    • 모델 이름

    • 모델 설명

    • 모델 s3 버킷 및 접두사

    • 모델을 가져오는 것으로 가정할 역할

참고

macOS 및 iOS에서는 “로 시작하는 파일 . “, .coach_체크포인트와 같이 숨겨져 있습니다. 이러한 필수 파일을 표시하려면 Finder에서 Command+Shift+점을 누릅니다. 그런 다음 가져오기에 포함되도록 S3 버킷으로 옮깁니다.

모델을 가져오지 못하면 오류 메시지에 나와 있는 지침을 따르고가져오기 재시도AWS DeepRacer 콘솔의 단원을 클릭합니다.

모델 마이그레이션 권한

관리형 정책에는 최소한 아래 권한이 있어야 합니다. 권한을 수정하지 않으면 문제가 되지 않습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy", "s3:ListBucket", "s3:GetBucketAcl", "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::*deepracer*", "arn:aws:s3:::*deepracer*/*" ] } ] }

역할에는 다음과 같은 신뢰 정책이 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "deepracer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }