PyTorch Kelas
Mewakili estimator untuk pelatihan dalam eksperimen PyTorch.
TIDAK DIGUNAKAN LAGI. Gunakan objek ScriptRunConfig dengan lingkungan yang Anda tentukan sendiri atau salah satu lingkungan yang dikuratori Azure ML PyTorch. Untuk pengenalan konfigurasi eksperimen PyTorch yang berjalan dengan ScriptRunConfig, lihat Melatih model PyTorch dalam skala dengan Azure Machine Learning.
Versi yang didukung: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6
- Warisan
-
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimatorPyTorch
Konstruktor
PyTorch(source_directory, *, compute_target=None, vm_size=None, vm_priority=None, entry_script=None, script_params=None, node_count=1, process_count_per_node=1, distributed_backend=None, distributed_training=None, use_gpu=False, use_docker=True, custom_docker_base_image=None, custom_docker_image=None, image_registry_details=None, user_managed=False, conda_packages=None, pip_packages=None, conda_dependencies_file_path=None, pip_requirements_file_path=None, conda_dependencies_file=None, pip_requirements_file=None, environment_variables=None, environment_definition=None, inputs=None, source_directory_data_store=None, shm_size=None, resume_from=None, max_run_duration_seconds=None, framework_version=None, _enable_optimized_mode=False, _disable_validation=True, _show_lint_warnings=False, _show_package_warnings=False)
Parameter
- compute_target
- AbstractComputeTarget atau str
Target komputasi tempat pelatihan akan dilakukan. Ini bisa berupa objek atau untai (karakter) "lokal".
- vm_size
- str
Ukuran mesin virtual dari target komputasi yang akan dibuat untuk pelatihan. Nilai yang didukung: Ukuran mesin virtual Azure apa pun.
- vm_priority
- str
Prioritas mesin virtual dari target komputasi yang akan dibuat untuk pelatihan. Jika tidak ditentukan, nilai 'dikhususkan' digunakan.
Nilai yang didukung: 'berdedikasi' dan 'prioritas rendah'.
Ini berlaku hanya jika vm_size param ditentukan dalam input.
- script_params
- dict
Kamus argumen baris perintah untuk diteruskan ke skrip pelatihan yang ditentukan dalam entry_script.
- node_count
- int
Jumlah simpul dalam target komputasi yang digunakan untuk pelatihan. Jika lebih besar dari 1, maka pekerjaan terdistribusi MPI akan dijalankan. Hanya target AmlCompute saja yang didukung untuk pekerjaan terdistribusi.
- process_count_per_node
- int
Jumlah proses per node. Jika lebih besar dari 1, maka pekerjaan terdistribusi MPI akan dijalankan. Hanya target AmlCompute saja yang didukung untuk pekerjaan terdistribusi.
- distributed_backend
- str
Backend komunikasi untuk pelatihan terdistribusi.
TIDAK DIGUNAKAN LAGI. Gunakan parameter distributed_training.
Nilai yang didukung: 'mpi', 'gloo' serta 'nccl'.
'mpi': MPI/Horovod 'gloo', 'nccl': Pelatihan Terdistribusi PyTorch Asli
Parameter ini diperlukan saat node_count atau process_count_per_node> 1.
Ketika node_count == 1 dan process_count_per_node == 1, tidak ada backend yang akan digunakan kecuali backend diatur secara eksplisit. Hanya target AmlCompute yang didukung untuk pelatihan terdistribusi.
Parameter untuk menjalankan pekerjaan pelatihan terdistribusi.
Untuk menjalankan pekerjaan terdistribusi dengan backend MPI, gunakanlah objek Mpi untuk menentukan process_count_per_node.
Untuk menjalankan pekerjaan terdistribusi dengan backend gloo, gunakan Gloo.
Untuk menjalankan pekerjaan terdistribusi dengan backend nccl, gunakan Nccl.
- use_gpu
- bool
Menentukan apakah lingkungan untuk menjalankan eksperimen harus mendukung GPU.
Jika true, gambar Docker default berbasis GPU akan digunakan di lingkungan. Jika false, gambar berbasis CPU akan digunakan. Gambar docker default (CPU atau GPU) hanya akan digunakan jika parameter custom_docker_image tidak diatur. Pengaturan ini hanya digunakan di target komputasi yang diaktifkan Docker saja.
- use_docker
- bool
Menentukan apakah lingkungan untuk menjalankan eksperimen harus berbasis Docker.
- custom_docker_base_image
- str
Nama gambar Docker dari gambar yang akan digunakan untuk pelatihan akan dibangun.
TIDAK DIGUNAKAN LAGI. Gunakan parameter custom_docker_image.
Jika tidak diatur, gambar berbasis CPU default akan digunakan sebagai gambar dasar.
- custom_docker_image
- str
Nama gambar Docker dari gambar yang akan digunakan untuk pelatihan akan dibangun. Jika tidak diatur, gambar berbasis CPU default akan digunakan sebagai gambar dasar.
- user_managed
- bool
Menentukan apakah Azure Machine Learning menggunakan kembali lingkungan python yang ada. Jika false, Azure Machine Learning akan membuat lingkungan Python berdasarkan spesifikasi dependensi conda.
- conda_packages
- list
Daftar untai (karakter) yang mewakili paket conda yang akan ditambahkan ke lingkungan Python untuk eksperimen.
- pip_packages
- list
Daftar untai (karakter) yang mewakili paket pip untuk ditambahkan ke lingkungan Python untuk eksperimen.
- conda_dependencies_file_path
- str
Jalur relatif ke file yaml dependensi conda.
Jika ditentukan, Azure Machine Learning tidak akan memasang paket terkait kerangka kerja apa pun.
TIDAK DIGUNAKAN LAGI. Gunakan parameter conda_dependencies_file.
- pip_requirements_file_path
- str
Jalur relatif ke file teks persyaratan pip.
Ini dapat diberikan dalam kombinasi dengan parameter pip_packages.
TIDAK DIGUNAKAN LAGI. Gunakan parameter pip_requirements_file.
- conda_dependencies_file
- str
Jalur relatif ke file yaml dependensi conda. Jika ditentukan, Azure Machine Learning tidak akan memasang paket terkait kerangka kerja apa pun.
- pip_requirements_file
- str
Jalur relatif ke file teks persyaratan pip.
Ini dapat diberikan dalam kombinasi dengan parameter pip_packages.
- environment_variables
- dict
Kamus nama dan nilai variabel lingkungan. Variabel lingkungan ini diatur pada proses di mana skrip pengguna sedang dijalankan.
- environment_definition
- Environment
Definisi lingkungan untuk percobaan. Ini termasuk PythonSection, DockerSection, serta variabel lingkungan. Opsi lingkungan apa pun yang tidak secara langsung diekspos melalui parameter lain ke konstruksi Estimator bisa diatur menggunakan parameter ini. Jika parameter ini ditentukan, maka akan lebih diutamakan daripada parameter terkait lingkungan lainnya seperti use_gpu, custom_docker_image, conda_packages, atau pip_packages.
Kesalahan akan dilaporkan pada kombinasi parameter yang tidak valid.
- inputs
- list
Daftar objek DataReference atau DatasetConsumptionConfig yang akan dipakai sebagai input.
- shm_size
- str
Ukuran blok memori bersama kontainer Docker. Jika tidak diatur, default azureml.core.environment._DEFAULT_SHM_SIZE digunakan. Untuk informasi selengkapnya, lihat Referensi eksekusi Docker.
- resume_from
- DataPath
Jalur data yang berisi file titik pemeriksaan atau model untuk melanjutkan eksperimen.
- max_run_duration_seconds
- int
Waktu maksimum yang diizinkan untuk eksekusi. Azure Machine Learning akan mencoba membatalkan eksekusi secara otomatis jika memakan waktu lebih lama dari nilai ini.
- framework_version
- str
Versi PyTorch akan digunakan untuk mengeksekusi kode pelatihan.
PyTorch.get_supported_versions() mengembalikan daftar versi yang didukung oleh SDK saat ini.
Keterangan
Saat menyerahkan pekerjaan pelatihan, Azure Machine Learning menjalankan skrip Anda di lingkungan conda dalam kontainer Docker. Kontainer PyTorch memiliki dependensi terpasang berikut.
Dependensi | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | | Python 3.6.2 | 3.6.2 | CUDA (khusus gambar GPU) | 10.0 | 10.1 | cuDNN (khusus gambar GPU) | 7.6.3 | 7.6.3 | NCCL (khusus gambar GPU) | 2.4.8 | 2.4.8 | azureml-defaults | | terbaru | terbaru openmpi | 3.1.2 | 3.1.2 | | horovod 0.18.1 | 0.18.1/0.19.1/0.19.5 | | miniconda 4.5.11 | 4.5.11 | | obor 1.0/1.1/1.2/1.3.1 | 1.4.0/1.5.0/1.6.0 | | torchvision 0.4.1 | 0.5.0 | git | 2.7.4 | 2.7.4 | | tensorboard 1.14 | 1.14 | | masa depan 0.17.1 | 0.17.1 |
Gambar Docker memperluas Ubuntu 16.04.
Untuk memasang dependensi tambahan, Anda dapat menggunakan parameter pip_packages atau conda_packages. Atau, Anda bisa menentukan parameter pip_requirements_file atau conda_dependencies_file.
Atau, Anda bisa juga membangun gambar Anda sendiri, dan meneruskan parameter custom_docker_image ke konstruktor penilai.
Untuk informasi selengkapnya mengenai kontainer Docker yang digunakan dalam pelatihan Pytorch, lihat https://github.com/Azure/AzureML-Containers.
Estimator PyTorch mendukung pelatihan terdistribusi di seluruh kluster CPU serta GPU menggunakan Horovod, sumber terbuka, semuanya mengurangi kerangka kerja untuk pelatihan terdistribusi. Untuk contoh dan informasi selengkapnya tentang menggunakan PyTorch dalam pelatihan terdistribusi, lihat tutorial Melatih dan mendaftarkan model PyTorch sesuai skala dengan Azure Machine Learning.
Atribut
DEFAULT_VERSION
DEFAULT_VERSION = '1.4'
FRAMEWORK_NAME
FRAMEWORK_NAME = 'PyTorch'
Saran dan Komentar
Kirim dan lihat umpan balik untuk