Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan API dengan Hybrid Jobs
Anda dapat mengakses dan berinteraksi dengan Amazon Braket Hybrid Jobs secara langsung menggunakan. API Namun, metode default dan kenyamanan tidak tersedia saat menggunakan secara API langsung.
catatan
Kami sangat menyarankan Anda berinteraksi dengan Amazon Braket Hybrid Jobs menggunakan Amazon Braket Python SDK.
Topik ini mencakup dasar-dasar penggunaanAPI. Jika Anda memilih untuk menggunakan API, perlu diingat bahwa pendekatan ini bisa lebih kompleks dan bersiaplah untuk beberapa iterasi untuk menjalankan pekerjaan hybrid Anda.
Untuk menggunakan API, akun Anda harus memiliki peran dengan kebijakan ter AmazonBraketFullAccess kelola.
catatan
Untuk informasi selengkapnya tentang cara mendapatkan peran dengan kebijakan terkel AmazonBraketFullAccess ola, 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 hybrid.
Ini CreateJob API mengharuskan Anda menentukan semua parameter yang diperlukan untuk pekerjaan hybrid. Untuk menggunakan Python, kompres file skrip algoritma Anda ke bundel tar, seperti file input.tar.gz, dan jalankan skrip berikut. Perbarui bagian-bagian kode dalam tanda kurung miring (<>) agar sesuai dengan informasi akun dan titik masuk yang menentukan jalur, file, dan metode tempat pekerjaan hybrid 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 dapat mengakses detail pekerjaan hibrida melalui GetJob API atau konsol. Untuk mendapatkan detail 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, panggil CancelJob API dengan Amazon Resource Name the job ('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 dimulai dengan salah satu jalur cadangan berikut:/opt/ml,, /opt/braket/tmp, atau/usr/local/nvidia.