Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sesuaikan pekerjaan pelatihan Anda untuk mengakses gambar di registri Docker pribadi
Anda dapat menggunakan registri Docker
Buat dan simpan gambar Anda di registri Docker pribadi
Buat registri Docker pribadi untuk menyimpan gambar Anda. Registri Anda harus:
-
gunakan protokol API HTTP Docker Registry
-
dapat diakses dari VPC yang sama yang ditentukan dalam VpcConfigparameter di API.
CreateTrainingJob
MasukanVpcConfig
saat Anda membuat pekerjaan pelatihan Anda. -
diamankan dengan sertifikat TLS dari otoritas sertifikat
publik yang dikenal.
Untuk informasi selengkapnya tentang membuat registri Docker, lihat Menerapkan server registri
Konfigurasikan VPC dan SageMaker pekerjaan pelatihan Anda
SageMaker menggunakan koneksi jaringan dalam VPC Anda untuk mengakses gambar di registri Docker Anda. Untuk menggunakan gambar di registri Docker Anda untuk pelatihan, registri harus dapat diakses dari VPC Amazon di akun Anda. Untuk informasi selengkapnya, lihat Gunakan registri Docker yang memerlukan otentikasi untuk pelatihan.
Anda juga harus mengonfigurasi pekerjaan pelatihan Anda untuk terhubung ke VPC yang sama dengan yang dapat diakses oleh registri Docker Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi Pekerjaan Pelatihan untuk Akses VPC Amazon.
Buat pekerjaan pelatihan menggunakan gambar dari registri Docker pribadi Anda
Untuk menggunakan gambar dari registri Docker pribadi Anda untuk pelatihan, gunakan panduan berikut untuk mengonfigurasi gambar Anda, mengonfigurasi, dan membuat pekerjaan pelatihan. Contoh kode yang mengikuti menggunakan AWS SDK for Python (Boto3) klien.
-
Buat objek konfigurasi gambar pelatihan dan
Vpc
masukanTrainingRepositoryAccessMode
bidang sebagai berikut.training_image_config = { 'TrainingRepositoryAccessMode': 'Vpc' }
catatan
Jika registri Docker pribadi Anda memerlukan otentikasi, Anda harus menambahkan
TrainingRepositoryAuthConfig
objek ke objek konfigurasi gambar pelatihan. Anda juga harus menentukan Nama Sumber Daya Amazon (ARN) dari AWS Lambda fungsi yang menyediakan kredensyal akses untuk SageMaker menggunakanTrainingRepositoryCredentialsProviderArn
bidang objek.TrainingRepositoryAuthConfig
Untuk informasi lebih lanjut, lihat contoh struktur kode di bawah ini.training_image_config = { 'TrainingRepositoryAccessMode': 'Vpc', 'TrainingRepositoryAuthConfig': { 'TrainingRepositoryCredentialsProviderArn': '
arn:aws:lambda:Region:Acct:function:FunctionName
' } }Untuk informasi tentang cara membuat fungsi Lambda untuk menyediakan otentikasi, lihat. Gunakan registri Docker yang memerlukan otentikasi untuk pelatihan
-
Gunakan klien Boto3 untuk membuat pekerjaan pelatihan dan meneruskan konfigurasi yang benar ke create_training_job API. Petunjuk berikut menunjukkan cara mengkonfigurasi komponen dan membuat pekerjaan pelatihan.
-
Buat
AlgorithmSpecification
objek yang ingin Anda lewaticreate_training_job
. Gunakan objek konfigurasi gambar pelatihan yang Anda buat pada langkah sebelumnya, seperti yang ditunjukkan pada contoh kode berikut.algorithm_specification = { 'TrainingImage': '
myteam.myorg.com/docker-local/my-training-image:<IMAGE-TAG>
', 'TrainingImageConfig': training_image_config, 'TrainingInputMode': 'File
' }catatan
Untuk menggunakan versi tetap, bukan versi gambar yang diperbarui, lihat intisari
gambar alih-alih berdasarkan nama atau tag. -
Tentukan nama pekerjaan pelatihan dan peran yang ingin Anda berikan
create_training_job
, seperti yang ditunjukkan pada contoh kode berikut.training_job_name = '
private-registry-job
' execution_role_arn = 'arn:aws:iam::123456789012:role/SageMakerExecutionRole
' -
Tentukan grup keamanan dan subnet untuk konfigurasi VPC untuk pekerjaan pelatihan Anda. Registri Docker pribadi Anda harus mengizinkan lalu lintas masuk dari grup keamanan yang Anda tentukan, seperti yang ditunjukkan dalam contoh kode berikut.
vpc_config = { 'SecurityGroupIds': ['
sg-0123456789abcdef0
'], 'Subnets': ['subnet-0123456789abcdef0
','subnet-0123456789abcdef1
'] }catatan
Jika subnet Anda tidak dalam VPC yang sama dengan registri Docker pribadi Anda, Anda harus mengatur koneksi jaringan antara dua VPC. SeeConnect VPC menggunakan VPC peering untuk informasi lebih lanjut.
-
Tentukan konfigurasi sumber daya, termasuk instance komputasi pembelajaran mesin dan volume penyimpanan yang akan digunakan untuk pelatihan, seperti yang ditunjukkan dalam contoh kode berikut.
resource_config = { 'InstanceType': '
ml.m4.xlarge
', 'InstanceCount':1
, 'VolumeSizeInGB':10
, } -
Tentukan konfigurasi data input dan output, tempat dataset pelatihan disimpan, dan di mana Anda ingin menyimpan artefak model, seperti yang ditunjukkan pada contoh kode berikut.
input_data_config = [ { "ChannelName": "training", "DataSource": { "S3DataSource": { "S3DataDistributionType": "
FullyReplicated
", "S3DataType": "S3Prefix
", "S3Uri": "s3://your-training-data-bucket/training-data-folder
" } } } ] output_data_config = { 'S3OutputPath': 's3://your-output-data-bucket/model-folder
' } -
Tentukan jumlah detik maksimum yang dapat dijalankan oleh pekerjaan pelatihan model seperti yang ditunjukkan pada contoh kode berikut.
stopping_condition = { 'MaxRuntimeInSeconds':
1800
} -
Terakhir, buat pekerjaan pelatihan menggunakan parameter yang Anda tentukan pada langkah sebelumnya seperti yang ditunjukkan pada contoh kode berikut.
import boto3 sm = boto3.client('sagemaker') try: resp = sm.create_training_job( TrainingJobName=training_job_name, AlgorithmSpecification=algorithm_specification, RoleArn=execution_role_arn, InputDataConfig=input_data_config, OutputDataConfig=output_data_config, ResourceConfig=resource_config, VpcConfig=vpc_config, StoppingCondition=stopping_condition ) except Exception as e: print(f'error calling CreateTrainingJob operation: {e}') else: print(resp)
-