Megosztás a következőn keresztül:


HyperDriveStep Osztály

Létrehoz egy Azure ML Pipeline-lépést a hyperparaméter-tunning futtatásához a Machine Learning-modell betanításához.

A HyperDriveStep használatára példaként tekintse meg a jegyzetfüzetet https://aka.ms/pl-hyperdrive.

Hozzon létre egy Azure ML Pipeline-lépést a hyperparaméter-tunning futtatásához a Machine Learning-modell betanításához.

Öröklődés
HyperDriveStep

Konstruktor

HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)

Paraméterek

name
str
Kötelező

[Kötelező] A lépés neve.

hyperdrive_config
HyperDriveConfig
Kötelező

[Kötelező] A HyperDrive-futtatás konfigurációját meghatározó HyperDriveConfig.

estimator_entry_script_arguments
list
alapértelmezett érték: None

A becslőbejegyzési szkript parancssori argumentumainak listája. Ha a Becslő bejegyzésszkriptje nem fogadja el a parancssori argumentumokat, állítsa ezt a paraméterértéket üres listára.

inputs
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
alapértelmezett érték: None

A bemenetiport-kötések listája.

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
alapértelmezett érték: None

Kimeneti portkötések listája

metrics_output
Union[PipelineData, DataReference, OutputPortBinding]
alapértelmezett érték: None

Nem kötelező érték, amely megadja a HyperDrive-beli futtatási metrikák JSON-fájlként való tárolásának helyét.

allow_reuse
bool
alapértelmezett érték: True

Azt jelzi, hogy a lépés újra felhasználja-e a korábbi eredményeket, amikor ugyanazokat a beállításokat használja újra. Az újrafelhasználás alapértelmezés szerint engedélyezve van. Ha a lépés tartalma (szkriptek/függőségek), valamint a bemenetek és paraméterek változatlanok maradnak, a lépés előző futtatásából származó kimenet újra felhasználva lesz. A lépés újbóli használata esetén a feladat számítási feladatként való elküldése helyett az előző futtatás eredményei azonnal elérhetővé válnak a további lépésekhez. Ha az Azure Machine Learning-adathalmazokat használja bemenetként, az újrafelhasználást az határozza meg, hogy az adathalmaz definíciója megváltozott-e, nem pedig az, hogy a mögöttes adatok megváltoztak-e.

version
str
alapértelmezett érték: None

Választható verziócímke, amely a modul funkcióváltozását jelöli.

name
str
Kötelező

[Kötelező] A lépés neve.

hyperdrive_config
HyperDriveConfig
Kötelező

[Kötelező] A HyperDrive-futtatás konfigurációját meghatározó HyperDriveConfig.

estimator_entry_script_arguments
list
Kötelező

A becslőbejegyzési szkript parancssori argumentumainak listája. Ha a Becslő bejegyzésszkriptje nem fogadja el a parancssori argumentumokat, állítsa ezt a paraméterértéket üres listára.

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
Kötelező

A kimeneti portkötések listája.

metrics_output
Union[PipelineData, DataReference, OutputPortBinding]
Kötelező

Nem kötelező érték, amely meghatározza a HyperDrive-metrika JSON-fájlként való tárolásának helyét.

allow_reuse
bool
Kötelező

Azt jelzi, hogy a lépés újra felhasználja-e a korábbi eredményeket, amikor ugyanazokat a beállításokat használja újra. Az újrafelhasználás alapértelmezés szerint engedélyezve van. Ha a lépés tartalma (szkriptek/függőségek), valamint a bemenetek és paraméterek változatlanok maradnak, a lépés előző futtatásából származó kimenet újra felhasználva lesz. A lépés újbóli használata esetén a feladat számítási feladatként való elküldése helyett az előző futtatás eredményei azonnal elérhetővé válnak a további lépésekhez. Ha az Azure Machine Learning-adathalmazokat használja bemenetként, az újrafelhasználást az határozza meg, hogy az adathalmaz definíciója megváltozott-e, nem pedig az, hogy a mögöttes adatok megváltoztak-e.

version
str
Kötelező

version

Megjegyzések

Vegye figyelembe, hogy a becslő objektumban (például az TensorFlow objektumban) használt bejegyzésszkript argumentumait listaként kell megadni a paraméterrel a estimator_entry_script_arguments HyperDriveStep példányosításakor. A becslő paraméter script_params egy szótárt fogad el. A estimator_entry_script_argument paraméter azonban listaként várja az argumentumokat.

A HyperDriveStep inicializálása magában foglalja az objektumok listájának DataReference megadását a inputs paraméterrel. Az Azure ML Pipelinesban a folyamatlépések egy másik lépés kimenetét vagy DataReference-objektumokat adhatnak meg bemenetként. Ezért a HyperDriveStep létrehozásakor a inputs és outputs a paramétert explicit módon kell beállítani, amely felülbírálja inputs a Becslő objektumban megadott paramétert.

A HyperDriveStep használatához ajánlott egy külön mappát használni a szkriptekhez és a lépéshez társított függő fájlokhoz, és ezt a mappát kell megadnia becslő objektumként source_directory. Lásd például az source_directory osztály paraméterét TensorFlow . Ennek két előnye van. Először is segít csökkenteni a lépéshez létrehozott pillanatkép méretét, mert csak a lépéshez szükséges pillanatkép készül. Másodszor, az előző futtatásból származó lépés kimenete újra felhasználható, ha nincsenek olyan módosítások, source_directory amelyek a snaphot újrafeltöltését váltanák ki.

Az alábbi példa bemutatja, hogyan használható a HyperDriveStep egy Azure Machine Learning Pipeline-ban.


   metrics_output_name = 'metrics_output'
   metrics_data = PipelineData(name='metrics_data',
                               datastore=datastore,
                               pipeline_output_name=metrics_output_name,
                               training_output=TrainingOutput("Metrics"))

   model_output_name = 'model_output'
   saved_model = PipelineData(name='saved_model',
                               datastore=datastore,
                               pipeline_output_name=model_output_name,
                               training_output=TrainingOutput("Model",
                                                              model_file="outputs/model/saved_model.pb"))

   hd_step_name='hd_step01'
   hd_step = HyperDriveStep(
       name=hd_step_name,
       hyperdrive_config=hd_config,
       inputs=[data_folder],
       outputs=[metrics_data, saved_model])

A teljes minta a következő forrásból érhető el: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-parameter-tuning-with-hyperdrive.ipynb

Metódusok

create_node

Hozzon létre egy csomópontot a HyperDrive lépésből, és adja hozzá az adott gráfhoz.

Ez a módszer nem használható közvetlenül. Ha ezzel a lépéssel példányosít egy folyamatot, az Azure ML automatikusan átadja a szükséges paramétereket ezen a módszeren keresztül, így a lépés hozzáadható a munkafolyamatot képviselő folyamatgráfhoz.

create_node

Hozzon létre egy csomópontot a HyperDrive lépésből, és adja hozzá az adott gráfhoz.

Ez a módszer nem használható közvetlenül. Ha ezzel a lépéssel példányosít egy folyamatot, az Azure ML automatikusan átadja a szükséges paramétereket ezen a módszeren keresztül, így a lépés hozzáadható a munkafolyamatot képviselő folyamatgráfhoz.

create_node(graph, default_datastore, context)

Paraméterek

graph
Graph
Kötelező

A csomópont hozzáadásához a gráfobjektum.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Kötelező

Az alapértelmezett adattár.

context
<xref:azureml.pipeline.core._GraphContext>
Kötelező

A gráfkörnyezet.

Válaszok

A létrehozott csomópont.

Visszatérési típus