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._FrameworkBaseEstimator
PyTorch

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

source_directory
str
Diperlukan

Direktori lokal yang berisi file konfigurasi eksperimen.

compute_target
AbstractComputeTarget atau str
Diperlukan

Target komputasi tempat pelatihan akan dilakukan. Ini bisa berupa objek atau untai (karakter) "lokal".

vm_size
str
Diperlukan

Ukuran mesin virtual dari target komputasi yang akan dibuat untuk pelatihan. Nilai yang didukung: Ukuran mesin virtual Azure apa pun.

vm_priority
str
Diperlukan

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.

entry_script
str
Diperlukan

Jalur relatif ke file yang berisi skrip pelatihan.

script_params
dict
Diperlukan

Kamus argumen baris perintah untuk diteruskan ke skrip pelatihan yang ditentukan dalam entry_script.

node_count
int
Diperlukan

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
Diperlukan

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
Diperlukan

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.

distributed_training
Mpi atau Gloo atau Nccl
Diperlukan

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
Diperlukan

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
Diperlukan

Menentukan apakah lingkungan untuk menjalankan eksperimen harus berbasis Docker.

custom_docker_base_image
str
Diperlukan

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
Diperlukan

Nama gambar Docker dari gambar yang akan digunakan untuk pelatihan akan dibangun. Jika tidak diatur, gambar berbasis CPU default akan digunakan sebagai gambar dasar.

image_registry_details
ContainerRegistry
Diperlukan

Detail registri gambar Docker.

user_managed
bool
Diperlukan

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
Diperlukan

Daftar untai (karakter) yang mewakili paket conda yang akan ditambahkan ke lingkungan Python untuk eksperimen.

pip_packages
list
Diperlukan

Daftar untai (karakter) yang mewakili paket pip untuk ditambahkan ke lingkungan Python untuk eksperimen.

conda_dependencies_file_path
str
Diperlukan

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
Diperlukan

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
Diperlukan

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
Diperlukan

Jalur relatif ke file teks persyaratan pip. Ini dapat diberikan dalam kombinasi dengan parameter pip_packages.

environment_variables
dict
Diperlukan

Kamus nama dan nilai variabel lingkungan. Variabel lingkungan ini diatur pada proses di mana skrip pengguna sedang dijalankan.

environment_definition
Environment
Diperlukan

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
Diperlukan

Daftar objek DataReference atau DatasetConsumptionConfig yang akan dipakai sebagai input.

source_directory_data_store
Datastore
Diperlukan

Penyimpanan data pendukung untuk berbagi proyek.

shm_size
str
Diperlukan

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
Diperlukan

Jalur data yang berisi file titik pemeriksaan atau model untuk melanjutkan eksperimen.

max_run_duration_seconds
int
Diperlukan

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
Diperlukan

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'