Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat mengakses dan berinteraksi dengan Amazon Braket Hybrid Jobs secara langsung menggunakan API. Namun, metode default dan kenyamanan tidak tersedia saat menggunakan API secara langsung.
catatan
Kami sangat menyarankan agar Anda berinteraksi dengan Amazon Braket Hybrid Jobs menggunakan Amazon Braket Python SDK
Topik ini mencakup dasar-dasar penggunaan API. Jika Anda memilih untuk menggunakan API, perlu diingat bahwa pendekatan ini bisa lebih kompleks dan bersiaplah untuk beberapa iterasi agar pekerjaan hybrid Anda berjalan.
Untuk menggunakan API, akun Anda harus memiliki peran dengan kebijakan AmazonBraketFullAccess
terkelola.
catatan
Untuk informasi selengkapnya tentang cara mendapatkan peran dengan kebijakan AmazonBraketFullAccess
terkelola, lihat halaman Aktifkan Amazon Braket.
Selain itu, Anda memerlukan peran eksekusi. Peran ini akan diteruskan ke layanan. Anda dapat membuat peran menggunakan konsol Amazon Braket. Gunakan tab Peran eksekusi pada halaman Izin dan pengaturan untuk membuat peran default untuk pekerjaan hibrida.
Sebuah CreateJob
API mengharuskan Anda menentukan semua parameter yang diperlukan untuk pekerjaan hybrid. Untuk menggunakan Python, kompres file skrip algoritme Anda ke bundel tar, seperti file input.tar.gz, dan jalankan skrip berikut. Perbarui bagian kode dalam kurung miring (<>
) agar sesuai dengan informasi akun Anda dan titik masuk yang menentukan jalur, file, dan metode tempat pekerjaan hibrida Anda dimulai.
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/Ankaa-3"
]
}
},
hyperParameters={
"hyperparameter key you wish to pass": "<hyperparameter value you wish to pass>",
},
stoppingCondition={
"maxRuntimeInSeconds": 1200,
"maximumTaskLimit": 10
},
)
Setelah Anda membuat pekerjaan hybrid Anda, Anda dapat mengakses detail pekerjaan hybrid melalui GetJob
API atau konsol. Untuk mendapatkan rincian pekerjaan hybrid dari sesi Python di mana Anda menjalankan createJob
kode seperti pada contoh sebelumnya, gunakan perintah Python berikut.
getJob = client.get_job(jobArn=job["jobArn"])
Untuk membatalkan pekerjaan hybrid, hubungi CancelJob
API dengan Amazon Resource Name dari pekerjaan ('JobArn').
cancelJob = client.cancel_job(jobArn=job["jobArn"])
Anda dapat menentukan pos pemeriksaan sebagai bagian dari createJob
API menggunakan checkpointConfig
parameter.
checkpointConfig = {
"localPath" : "/opt/omega/checkpoints",
"s3Uri": f"s3://{bucket}/{s3_prefix}/checkpoints"
},
catatan
LocalPath checkpointConfig
tidak dapat memulai dengan salah satu jalur cadangan berikut:/opt/ml
,, /opt/braket
/tmp
, atau. /usr/local/nvidia