PyTorch Osztály

Becslőt jelöl a PyTorch-kísérletek betanításához.

ELAVULT. Használja az ScriptRunConfig objektumot a saját meghatározott környezetével vagy az Azure ML PyTorch válogatott környezeteinek egyikével. A PyTorch-kísérletfuttatások ScriptRunConfig használatával történő konfigurálásának ismertetését lásd: PyTorch-modellek nagy léptékű betanítása az Azure Machine Learning használatával.

Támogatott verziók: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6

PyTorch-becslő inicializálása.

Docker-futtatási referencia. :type shm_size: str :p aram resume_from: A kísérlet folytatásához használni kívánt ellenőrzőpontot vagy modellfájlokat tartalmazó adatelérési út. :type resume_from: azureml.datapath.DataPath.DataPath :p aram max_run_duration_seconds: A futtatás maximálisan engedélyezett ideje. Az Azure ML megkísérli automatikusan

megszakítja a futtatásokat, ha ennél az értéknél több időt vesz igénybe.

Öröklődés
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)

Paraméterek

Name Description
source_directory
Kötelező
str

Kísérletkonfigurációs fájlokat tartalmazó helyi könyvtár.

compute_target
Kötelező

A számítási cél, ahol a betanítás megtörténik. Ez lehet objektum vagy a "local" sztring.

vm_size
Kötelező
str

A betanításhoz létrehozandó számítási cél virtuálisgép-mérete. Támogatott értékek: Bármely Azure-beli virtuális gép mérete.

vm_priority
Kötelező
str

A betanításhoz létrehozandó számítási cél virtuálisgép-prioritása. Ha nincs megadva, a rendszer "dedikált" értéket használ.

Támogatott értékek: "dedikált" és "alacsony ár/érték".

Ez csak akkor lép érvénybe, ha a vm_size param bemenetben meg van adva.

entry_script
Kötelező
str

A betanítási szkriptet tartalmazó fájl relatív elérési útja.

script_params
Kötelező

A parancssori argumentumok szótára, amely a(z) fájlban entry_scriptmegadott betanítási szkriptnek továbbítandó.

node_count
Kötelező
int

A betanításhoz használt számítási cél csomópontjainak száma. Ha 1-nél nagyobb, a rendszer egy elosztott MPI-feladatot futtat. Elosztott feladatok esetében csak a AmlCompute cél támogatott.

process_count_per_node
Kötelező
int

A csomópontonkénti folyamatok száma. Ha 1-nél nagyobb, a rendszer egy elosztott MPI-feladatot futtat. Elosztott feladatok esetében csak a AmlCompute cél támogatott.

distributed_backend
Kötelező
str

Az elosztott betanítás kommunikációs háttérrendszere.

ELAVULT. Használja a paramétert distributed_training .

Támogatott értékek: "mpi", "gloo" és "nccl".

'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training

Ezt a paramétert akkor kell megadni, ha node_count vagy process_count_per_node> 1.

== 1 és process_count_per_node == 1 esetén node_count a rendszer csak akkor használ háttérrendszert, ha a háttérrendszer kifejezetten be van állítva. Elosztott betanítás esetén csak a AmlCompute cél támogatott.

distributed_training
Kötelező
Mpi vagy Gloo vagy Nccl

Elosztott betanítási feladat futtatásának paraméterei.

Elosztott feladat MPI-háttérrendszerrel való futtatásához használja Mpi az objektumot a beállításhoz process_count_per_node. Elosztott feladat gloo háttérrendszerrel való futtatásához használja a következőt Gloo: . Elosztott feladat nccl-háttérrendszerrel való futtatásához használja a következőt Nccl: .

use_gpu
Kötelező

Meghatározza, hogy a kísérlet futtatásához használandó környezet támogatja-e a GPU-kat. Ha igaz, a rendszer gpu-alapú alapértelmezett Docker-rendszerképet használ a környezetben. Ha hamis, a rendszer processzoralapú rendszerképet használ. Az alapértelmezett Docker-rendszerképek (CPU vagy GPU) csak akkor lesznek használatban, ha a custom_docker_image paraméter nincs beállítva. Ez a beállítás csak Docker-kompatibilis számítási célokban használható.

use_docker
Kötelező

Meghatározza, hogy a kísérletet futtató környezetnek Docker-alapúnak kell-e lennie.

custom_docker_base_image
Kötelező
str

Annak a Docker-rendszerképnek a neve, amelyből a betanításhoz használni kívánt rendszerkép létrejön.

ELAVULT. Használja a paramétert custom_docker_image .

Ha nincs beállítva, a rendszer egy alapértelmezett cpu-alapú rendszerképet használ alaprendszerképként.

custom_docker_image
Kötelező
str

Annak a Docker-rendszerképnek a neve, amelyből a betanításhoz használni kívánt rendszerkép létrejön. Ha nincs beállítva, a rendszer egy alapértelmezett cpu-alapú rendszerképet használ alaprendszerképként.

image_registry_details
Kötelező

A Docker lemezkép-beállításjegyzékének részletei.

user_managed
Kötelező

Meghatározza, hogy az Azure ML újra felhasználja-e a meglévő Python-környezetet. Ha hamis, az Azure ML létrehoz egy Python-környezetet a Conda-függőségek specifikációja alapján.

conda_packages
Kötelező

A kísérletHez a Python-környezethez hozzáadni kívánt Conda-csomagokat képviselő sztringek listája.

pip_packages
Kötelező

A kísérlethez a Python-környezethez hozzáadni kívánt pip-csomagokat képviselő sztringek listája.

conda_dependencies_file_path
Kötelező
str

A conda dependencies yaml fájl relatív elérési útja. Ha meg van adva, az Azure ML nem telepíti a keretrendszerhez kapcsolódó csomagokat. ELAVULT. Használja a paramétert conda_dependencies_file .

pip_requirements_file_path
Kötelező
str

A pipkövetelmények szövegfájljának relatív elérési útja. Ez a paraméterrel pip_packages együtt adható meg. ELAVULT. Használja a paramétert pip_requirements_file .

conda_dependencies_file
Kötelező
str

A conda dependencies yaml fájl relatív elérési útja. Ha meg van adva, az Azure ML nem telepíti a keretrendszerhez kapcsolódó csomagokat.

pip_requirements_file
Kötelező
str

A pipkövetelmények szövegfájljának relatív elérési útja. Ez a paraméterrel pip_packages együtt adható meg.

environment_variables
Kötelező

A környezeti változók nevének és értékeinek szótára. Ezek a környezeti változók a felhasználói szkript végrehajtásának folyamatán vannak beállítva.

environment_definition
Kötelező

A kísérlet környezetdefiníciója. Ide tartoznak a PythonSection, a DockerSection és a környezeti változók. Ezzel a paraméterrel bármely olyan környezeti beállítás beállítható, amely nem érhető el közvetlenül más paraméterekkel a Becslő szerkezetében. Ha ez a paraméter meg van adva, elsőbbséget élvez más környezettel kapcsolatos paraméterekkel szemben, például use_gpu, custom_docker_image, conda_packagesvagy pip_packages. A hibák a paraméterek érvénytelen kombinációi esetén jelennek meg.

inputs
Kötelező

A bemenetként használandó objektumok listája DataReference vagy DatasetConsumptionConfig objektumai.

source_directory_data_store
Kötelező

A projektmegosztás háttéradattára.

shm_size
Kötelező
str

A Docker-tároló megosztott memóriablokkjának mérete. Ha nincs beállítva, a rendszer az alapértelmezett azureml.core.environment._DEFAULT_SHM_SIZE használja. További információ: Docker-futtatási referencia.

resume_from
Kötelező

A kísérlet folytatásához használandó ellenőrzőpont- vagy modellfájlokat tartalmazó adatútvonal.

max_run_duration_seconds
Kötelező
int

A futtatás maximális engedélyezett ideje. Az Azure ML megpróbálja automatikusan megszakítani a futtatásokat, ha az ennél az értéknél tovább tart.

framework_version
Kötelező
str

A betanítási kód végrehajtásához használandó PyTorch-verzió. PyTorch.get_supported_versions() az aktuális SDK által támogatott verziók listáját adja vissza.

source_directory
Kötelező
str

Kísérletkonfigurációs fájlokat tartalmazó helyi könyvtár.

compute_target
Kötelező

A számítási cél, ahol a betanítás megtörténik. Ez lehet egy objektum vagy a "local" sztring.

vm_size
Kötelező
str

A betanításhoz létrehozandó számítási cél virtuálisgép-mérete. Támogatott értékek: Bármely Azure-beli virtuálisgép-méret.

vm_priority
Kötelező
str

A betanításhoz létrehozandó számítási cél virtuálisgép-prioritása. Ha nincs megadva, a rendszer a "dedicated" (dedikált) értéket használja.

Támogatott értékek: "dedikált" és "alacsonyprioritás".

Ez csak akkor lép érvénybe, ha a vm_size param meg van adva a bemenetben.

entry_script
Kötelező
str

A betanítási szkriptet tartalmazó fájl relatív elérési útja.

script_params
Kötelező

Parancssori argumentumok szótára, amely a(z) fájlban megadott betanítási entry_scriptszkriptnek adható át.

node_count
Kötelező
int

A betanításhoz használt számítási cél csomópontjainak száma. Ha 1-nél nagyobb, a rendszer mpi elosztott feladatot futtat. Elosztott feladatok esetében csak az azureml.core.compute.AmlCompute cél támogatott.

process_count_per_node
Kötelező
int

A csomópontonkénti folyamatok száma. Ha 1-nél nagyobb, a rendszer egy elosztott MPI-feladatot futtat. Elosztott feladatok esetében csak a AmlCompute cél támogatott.

distributed_backend
Kötelező
str

Az elosztott betanítás kommunikációs háttérrendszere.

ELAVULT. Használja a paramétert distributed_training .

Támogatott értékek: "mpi", "gloo" és "nccl".

'mpi': MPI/Horovod 'gloo', 'nccl': Native PyTorch Distributed Training

Erre a paraméterre akkor van szükség, ha node_count vagy process_count_per_node> 1.

Ha node_count == 1 és process_count_per_node == 1, a rendszer csak akkor használ háttérrendszert, ha a háttérrendszer kifejezetten be van állítva. Elosztott betanítás esetén csak a AmlCompute cél támogatott.

distributed_training
Kötelező
Mpi vagy Gloo vagy Nccl

Elosztott betanítási feladat futtatásának paraméterei.

Elosztott feladat MPI-háttérrendszerrel való futtatásához használja Mpi az objektumot a beállításhoz process_count_per_node. Elosztott feladat gloo háttérrendszerrel való futtatásához használja a következőt Gloo: . Elosztott feladat nccl háttérrendszerrel való futtatásához használja a következőt Nccl: .

use_gpu
Kötelező

Meghatározza, hogy a kísérlet futtatásához használandó környezet támogassa-e a GPU-kat. Ha igaz, a rendszer gpu-alapú alapértelmezett Docker-rendszerképet használ a környezetben. Ha hamis, a rendszer cpu-alapú rendszerképet használ. Az alapértelmezett Docker-rendszerképek (CPU vagy GPU) csak akkor lesznek használatban, ha a custom_docker_image paraméter nincs beállítva. Ez a beállítás csak a Docker-kompatibilis számítási célokban használatos.

use_docker
Kötelező

Meghatározza, hogy a kísérletet futtató környezetnek Docker-alapúnak kell-e lennie.

custom_docker_base_image
Kötelező
str

Annak a Docker-rendszerképnek a neve, amelyből a betanításhoz használni kívánt rendszerkép létrejön.

ELAVULT. Használja a paramétert custom_docker_image .

Ha nincs beállítva, a rendszer egy alapértelmezett CPU-alapú rendszerképet használ alapként.

custom_docker_image
Kötelező
str

Annak a Docker-rendszerképnek a neve, amelyből a betanításhoz használni kívánt rendszerkép létrejön. Ha nincs beállítva, a rendszer egy alapértelmezett CPU-alapú rendszerképet használ alapként.

image_registry_details
Kötelező

A Docker lemezkép-beállításjegyzékének részletei.

user_managed
Kötelező

Meghatározza, hogy az Azure ML újra felhasználja-e a meglévő Python-környezetet. Ha hamis, az Azure ML létrehoz egy Python-környezetet a conda függőségek specifikációja alapján.

conda_packages
Kötelező

A kísérlet Python-környezetéhez hozzáadandó Conda-csomagokat jelölő sztringek listája.

pip_packages
Kötelező

A kísérlet Python-környezetéhez hozzáadandó pip-csomagokat képviselő sztringek listája.

conda_dependencies_file_path
Kötelező
str

A conda dependencies yaml fájl relatív elérési útja. Ha meg van adva, az Azure ML nem telepít keretrendszerhez kapcsolódó csomagokat. ELAVULT. Használja a paramétert conda_dependencies_file .

pip_requirements_file_path
Kötelező
str

A pip-követelmények szövegfájljának relatív elérési útja. Ez a paraméterrel pip_packages együtt adható meg. ELAVULT. Használja a paramétert pip_requirements_file .

conda_dependencies_file
Kötelező
str

A conda dependencies yaml fájl relatív elérési útja. Ha meg van adva, az Azure ML nem telepít keretrendszerhez kapcsolódó csomagokat.

pip_requirements_file
Kötelező
str

A pip-követelmények szövegfájljának relatív elérési útja. Ez a paraméterrel pip_packages együtt adható meg.

environment_variables
Kötelező

Környezeti változók neveinek és értékeinek szótára. Ezek a környezeti változók a felhasználói szkript végrehajtásának folyamatán vannak beállítva.

environment_definition
Kötelező

A kísérlet környezetdefiníciója. Ide tartoznak a PythonSection, a DockerSection és a környezeti változók. Ezzel a paraméterrel bármely olyan környezeti beállítás beállítható, amely nem érhető el közvetlenül a Becslő szerkezet más paraméterein keresztül. Ha ez a paraméter meg van adva, elsőbbséget élvez más környezettel kapcsolatos paraméterekkel, például use_gpu, custom_docker_image, conda_packagesvagy pip_packages. Érvénytelen kombinációk esetében hibaüzenet jelenik meg.

inputs
Kötelező

A azureml.data.data_reference listája. Bemenetként használandó DataReference-objektumok.

source_directory_data_store
Kötelező

A projektmegosztás háttéradattára.

shm_size
Kötelező

A Docker-tároló megosztott memóriablokkjának mérete. Ha nincs beállítva, a rendszer az alapértelmezett azureml.core.environment._DEFAULT_SHM_SIZE használja. További információkért lásd:

framework_version
Kötelező
str

A betanítási kód végrehajtásához használandó PyTorch-verzió. PyTorch.get_supported_versions() az aktuális SDK által támogatott verziók listáját adja vissza.

_enable_optimized_mode
Kötelező

A környezet gyorsabb előkészítéséhez engedélyezze a növekményes környezet összeállítását előre elkészített keretrendszerrendszerképekkel. Egy előre elkészített keretrendszerrendszerkép az Azure ML alapértelmezett CPU-/GPU-alaprendszerképeire épül, és előre telepítve vannak a keretrendszer függőségei.

_disable_validation
Kötelező

A futtatás elküldése előtt tiltsa le a szkript érvényesítését. Az alapértelmezett érték az Igaz.

_show_lint_warnings
Kötelező

Parancsprogram-linting figyelmeztetések megjelenítése. Az alapértelmezett érték a Hamis.

_show_package_warnings
Kötelező

Csomagérvényesítési figyelmeztetések megjelenítése. Az alapértelmezett érték a Hamis.

Megjegyzések

Betanítási feladat elküldésekor az Azure ML conda környezetben futtatja a szkriptet egy Docker-tárolóban. A PyTorch-tárolókra a következő függőségek vannak telepítve.

Függőségek | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | Python | 3.6.2. 3.6.2. CUDA (csak GPU-rendszerkép) | 10.0 | 10.1 . cuDNN (csak GPU-rendszerkép) | 7.6.3. 7.6.3. NCCL (csak GPU-rendszerkép) | 2.4.8. 2.4.8. azureml-defaults | Legutóbbi | Legutóbbi | 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. fáklya | 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 . jövő | 0.17.1. 0.17.1.

A Docker-rendszerképek kiterjesztik az Ubuntu 16.04-et.

További függőségek telepítéséhez használhatja a vagy conda_packages a pip_packages paramétert. Vagy megadhatja a vagy conda_dependencies_file paramétertpip_requirements_file. Másik lehetőségként létrehozhatja saját rendszerképét, és átadhatja a custom_docker_image paramétert a becslő konstruktornak.

A PyTorch-betanításban használt Docker-tárolókkal kapcsolatos további információkért lásd: https://github.com/Azure/AzureML-Containers.

A PyTorch becslő támogatja az elosztott betanítást a CPU- és GPU-fürtök között a Horovod nyílt forráskódú, az elosztott betanítás összes csökkentési keretrendszerének használatával. Példák és további információk a PyTorch elosztott betanításban való használatáról: PyTorch-modellek nagy léptékű betanítása és regisztrálása az Azure Machine Learning használatával.

Attribútumok

DEFAULT_VERSION

DEFAULT_VERSION = '1.4'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'PyTorch'