를 사용하여 하이브리드 작업과 직접 상호 작용할 수 있습니다.API - Amazon Braket

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

를 사용하여 하이브리드 작업과 직접 상호 작용할 수 있습니다.API

다음을 사용하여 Amazon Braket 하이브리드 작업에 직접 액세스하고 상호 작용할 수 있습니다.API. 그러나 를 사용할 때는 기본값 및 편의 방법을 사용할 수 없습니다.API 직접.

참고

Amazon Braket Python을 사용하여 Amazon Braket 하이브리드 작업과 상호 작용하는 것이 좋습니다. SDK 편리한 기본값 및 보호 기능을 제공하여 하이브리드 작업을 성공적으로 실행하는 데 도움이 됩니다.

이 항목에서는 사용에 대한 기본 사항을 다룹니다.API. 를 사용하기로 선택한 경우 이 접근 방식이 더 복잡할 수 있다는 점을 염두에 두고 하이브리드 작업을 실행하려면 몇 번의 반복을 거쳐야 합니다. API

를 API 사용하려면 계정에 AmazonBraketFullAccess 관리형 정책과 관련된 역할이 있어야 합니다.

참고

AmazonBraketFullAccess관리형 정책으로 역할을 얻는 방법에 대한 자세한 내용은 Amazon Braket 활성화 페이지를 참조하십시오.

또한 실행 역할도 필요합니다. 이 역할은 서비스에 전달됩니다. Amazon Braket 콘솔을 사용하여 역할을 생성할 수 있습니다. 권한 및 설정 페이지의 실행 역할 탭을 사용하여 하이브리드 작업에 대한 기본 역할을 생성합니다.

CreateJob은 API 하이브리드 작업에 필요한 모든 매개 변수를 지정해야 합니다. Python을 사용하려면 알고리즘 스크립트 파일을 tar 번들 (예: input.tar.gz 파일) 로 압축하고 다음 스크립트를 실행합니다. 하이브리드 작업이 시작되는 경로, 파일, 메서드를 지정하는 계정 정보 및 진입점과 일치하도록 각진 괄호 (<>) 안의 코드 부분을 업데이트하십시오.

from braket.aws import AwsDevice, AwsSession import boto3 from datetime import datetime s3_client = boto3.client("s3") client = boto3.client("braket") project_name = "job-test" job_name = project_name + "-" + datetime.strftime(datetime.now(), "%Y%m%d%H%M%S") bucket = "amazon-braket-<your_bucket>" s3_prefix = job_name job_script = "input.tar.gz" job_object = f"{s3_prefix}/script/{job_script}" s3_client.upload_file(job_script, bucket, job_object) input_data = "inputdata.csv" input_object = f"{s3_prefix}/input/{input_data}" s3_client.upload_file(input_data, bucket, input_object) job = client.create_job( jobName=job_name, roleArn="arn:aws:iam::<your_account>:role/service-role/AmazonBraketJobsExecutionRole", # https://docs.aws.amazon.com/braket/latest/developerguide/braket-manage-access.html#about-amazonbraketjobsexecution algorithmSpecification={ "scriptModeConfig": { "entryPoint": "<your_execution_module>:<your_execution_method>", "containerImage": {"uri": "292282985366.dkr.ecr.us-west-1.amazonaws.com/amazon-braket-base-jobs:1.0-cpu-py37-ubuntu18.04"} # Change to the specific region you are using "s3Uri": f"s3://{bucket}/{job_object}", "compressionType": "GZIP" } }, inputDataConfig=[ { "channelName": "hellothere", "compressionType": "NONE", "dataSource": { "s3DataSource": { "s3Uri": f"s3://{bucket}/{s3_prefix}/input", "s3DataType": "S3_PREFIX" } } } ], outputDataConfig={ "s3Path": f"s3://{bucket}/{s3_prefix}/output" }, instanceConfig={ "instanceType": "ml.m5.large", "instanceCount": 1, "volumeSizeInGb": 1 }, checkpointConfig={ "s3Uri": f"s3://{bucket}/{s3_prefix}/checkpoints", "localPath": "/opt/omega/checkpoints" }, deviceConfig={ "priorityAccess": { "devices": [ "arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3" ] } }, hyperParameters={ "hyperparameter key you wish to pass": "<hyperparameter value you wish to pass>", }, stoppingCondition={ "maxRuntimeInSeconds": 1200, "maximumTaskLimit": 10 }, )

하이브리드 작업을 생성한 후에는 다음을 통해 하이브리드 작업 세부 정보에 액세스할 수 있습니다. GetJob API 또는 콘솔. 이전 예제와 같이 createJob 코드를 실행한 Python 세션에서 하이브리드 작업 세부 정보를 가져오려면 다음 Python 명령을 사용합니다.

getJob = client.get_job(jobArn=job["jobArn"])

하이브리드 작업을 취소하려면 다음을 호출하십시오. CancelJob API 와 함께 Amazon Resource Name 직업의 ('JobArn').

cancelJob = client.cancel_job(jobArn=job["jobArn"])

체크포인트를 작업의 일부로 지정할 수 있습니다. createJob API checkpointConfig파라미터 사용.

checkpointConfig = { "localPath" : "/opt/omega/checkpoints", "s3Uri": f"s3://{bucket}/{s3_prefix}/checkpoints" },
참고

of는 localPath /opt/ml, /opt/braket/tmp, 또는 예약된 경로로 시작할 수 checkpointConfig 없습니다/usr/local/nvidia.