Aracılığıyla paylaş


HyperDriveStep Sınıf

Machine Learning modeli eğitimi için hiper parametre tunning'i çalıştırmak için bir Azure ML İşlem Hattı adımı oluşturur.

HyperDriveStep kullanma örneği için not defterine https://aka.ms/pl-hyperdrivebakın.

Machine Learning modeli eğitimi için hiper parametre bağlamasını çalıştırmak için bir Azure ML İşlem Hattı adımı oluşturun.

Devralma
HyperDriveStep

Oluşturucu

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

Parametreler

name
str
Gerekli

[Gerekli] Adımın adı.

hyperdrive_config
HyperDriveConfig
Gerekli

[Gerekli] HyperDrive çalıştırmasının yapılandırmasını tanımlayan bir HyperDriveConfig.

estimator_entry_script_arguments
list
varsayılan değer: None

Tahmin aracı giriş betiği için komut satırı bağımsız değişkenlerinin listesi. Tahmin Aracının giriş betiği komut satırı bağımsız değişkenlerini kabul etmiyorsa, bu parametre değerini boş bir listeye ayarlayın.

inputs
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
varsayılan değer: None

Giriş bağlantı noktası bağlamalarının listesi.

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
varsayılan değer: None

Çıkış bağlantı noktası bağlamalarının listesi

metrics_output
Union[PipelineData, DataReference, OutputPortBinding]
varsayılan değer: None

HyperDrive çalıştırma ölçümlerini JSON dosyası olarak depolama konumunu belirten isteğe bağlı değer.

allow_reuse
bool
varsayılan değer: True

Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını gösterir. Yeniden kullanma varsayılan olarak etkindir. Adım içeriği (betikler/bağımlılıklar) ve girişler ve parametreler değişmeden kalırsa, bu adımın önceki çalıştırmasından elde edilen çıkış yeniden kullanılır. Adımı yeniden kullanırken, işi işlem için göndermek yerine, önceki çalıştırmanın sonuçları hemen sonraki adımlarda kullanılabilir hale gelir. Giriş olarak Azure Machine Learning veri kümelerini kullanıyorsanız, yeniden kullanım, temel alınan verilerin değişip değişmediğine göre değil, veri kümesinin tanımının değişip değişmediğine göre belirlenir.

version
str
varsayılan değer: None

Modülün işlevselliğinde bir değişikliği belirtmek için isteğe bağlı bir sürüm etiketi.

name
str
Gerekli

[Gerekli] Adımın adı.

hyperdrive_config
HyperDriveConfig
Gerekli

[Gerekli] HyperDrive çalıştırmasının yapılandırmasını tanımlayan bir HyperDriveConfig.

estimator_entry_script_arguments
list
Gerekli

Tahmin aracı giriş betiği için komut satırı bağımsız değişkenlerinin listesi. Tahmin Aracının giriş betiği komut satırı bağımsız değişkenlerini kabul etmiyorsa, bu parametre değerini boş bir listeye ayarlayın.

inputs
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Gerekli

Giriş bağlantı noktası bağlamalarının listesi.

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
Gerekli

Çıkış bağlantı noktası bağlamalarının listesi.

metrics_output
Union[PipelineData, DataReference, OutputPortBinding]
Gerekli

HyperDrive çalıştırma ölçümlerini JSON dosyası olarak depolama konumunu belirten isteğe bağlı bir değer.

allow_reuse
bool
Gerekli

Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını gösterir. Yeniden kullanma varsayılan olarak etkindir. Adım içeriği (betikler/bağımlılıklar) ve girişler ve parametreler değişmeden kalırsa, bu adımın önceki çalıştırmasından elde edilen çıkış yeniden kullanılır. Adımı yeniden kullanırken, işi işlem için göndermek yerine, önceki çalıştırmanın sonuçları hemen sonraki adımlarda kullanılabilir hale gelir. Giriş olarak Azure Machine Learning veri kümelerini kullanıyorsanız, yeniden kullanım, temel alınan verilerin değişip değişmediğine göre değil, veri kümesinin tanımının değişip değişmediğine göre belirlenir.

version
str
Gerekli

sürüm

Açıklamalar

Tahmin aracı nesnesinde kullanılan giriş betiğindeki bağımsız değişkenlerin (örneğin, TensorFlow nesne) HyperDriveStep örneği oluşturulurken parametresi kullanılarak estimator_entry_script_argumentsliste olarak belirtilmesi gerektiğini unutmayın. Tahmin aracı parametresi script_params bir sözlüğü kabul eder. Ancak, estimator_entry_script_argument parametre bağımsız değişkenleri liste olarak bekler.

HyperDriveStep başlatma işlemi, parametresiyle bir nesne listesi DataReference belirtmeyi inputs içerir. Azure ML İşlem Hatları'nda işlem hattı adımı başka bir adımın çıkışını veya DataReference nesnelerini giriş olarak alabilir. Bu nedenle, bir HyperDriveStep inputs oluştururken ve outputs parametreleri açıkça ayarlanmalıdır ve bu da Estimator nesnesinde belirtilen parametreyi geçersiz kılar inputs .

HyperDriveStep ile çalışmak için en iyi yöntem, betikler ve adımla ilişkili bağımlı dosyalar için ayrı bir klasör kullanmak ve tahmin aracı nesnesinin source_directoryklasörü olarak bu klasörü belirtmektir. Örneğin, sınıfının parametresine TensorFlow bakınsource_directory. Bunu yapmanın iki avantajı vardır. İlk olarak, yalnızca adım için gerekenler anlık görüntülendiğinden, adım için oluşturulan anlık görüntünün boyutunu azaltmaya yardımcı olur. İkinci olarak, snaphot'un yeniden yüklenmesini tetikleyecek bir değişiklik source_directory yapılmazsa önceki çalıştırmadan alınan adım çıktısı yeniden kullanılabilir.

Aşağıdaki örnekte, Bir Azure Machine Learning İşlem Hattında HyperDriveStep'in nasıl kullanılacağı gösterilmektedir.


   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])

Tam örnek şu kaynaktan edinilebilir: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-parameter-tuning-with-hyperdrive.ipynb

Yöntemler

create_node

HyperDrive adımından bir düğüm oluşturun ve verilen grafiğe ekleyin.

Bu yöntem doğrudan kullanılmak üzere tasarlanmamıştır. Bu adımla bir işlem hattı örneği oluşturulduğunda, Azure ML bu yöntem aracılığıyla gerekli parametreleri otomatik olarak geçirir, böylece adım iş akışını temsil eden bir işlem hattı grafiğine eklenebilir.

create_node

HyperDrive adımından bir düğüm oluşturun ve verilen grafiğe ekleyin.

Bu yöntem doğrudan kullanılmak üzere tasarlanmamıştır. Bu adımla bir işlem hattı örneği oluşturulduğunda, Azure ML bu yöntem aracılığıyla gerekli parametreleri otomatik olarak geçirir, böylece adım iş akışını temsil eden bir işlem hattı grafiğine eklenebilir.

create_node(graph, default_datastore, context)

Parametreler

graph
Graph
Gerekli

Düğümün ekleneceği graf nesnesi.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Gerekli

Varsayılan veri deposu.

context
<xref:azureml.pipeline.core._GraphContext>
Gerekli

Grafik bağlamı.

Döndürülenler

Oluşturulan düğüm.

Dönüş türü