HyperDriveStep Sınıf
Machine Learning model eğitimi için hiper parametre atamasını ç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 tunning'i ç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 | Description |
---|---|
name
Gerekli
|
[Gerekli] Adımın adı. |
hyperdrive_config
Gerekli
|
[Gerekli] HyperDrive çalıştırmasının yapılandırmasını tanımlayan bir HyperDriveConfig. |
estimator_entry_script_arguments
|
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. Default value: None
|
inputs
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Giriş bağlantı noktası bağlamalarının listesi. Default value: None
|
outputs
|
Çıkış bağlantı noktası bağlamalarının listesi Default value: None
|
metrics_output
|
HyperDrive çalıştırma ölçümlerini JSON dosyası olarak depolama konumunu belirten isteğe bağlı değer. Default value: None
|
allow_reuse
|
Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını gösterir. Yeniden kullan özelliği 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 hesaplamaya göndermek yerine, önceki çalıştırmanın sonuçları sonraki adımlarda hemen 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 değil, veri kümesinin tanımının değişip değişmediğine göre belirlenir. Default value: True
|
version
|
Modülün işlev değişikliğini belirtmek için isteğe bağlı bir sürüm etiketi. Default value: None
|
name
Gerekli
|
[Gerekli] Adımın adı. |
hyperdrive_config
Gerekli
|
[Gerekli] HyperDrive çalıştırmasının yapılandırmasını tanımlayan bir HyperDriveConfig. |
estimator_entry_script_arguments
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
Gerekli
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Giriş bağlantı noktası bağlamalarının listesi. |
outputs
Gerekli
|
Çıkış bağlantı noktası bağlamalarının listesi. |
metrics_output
Gerekli
|
HyperDrive çalıştırma ölçümlerini JSON dosyası olarak depolama konumunu belirten isteğe bağlı bir değer. |
allow_reuse
Gerekli
|
Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını gösterir. Yeniden kullan özelliği 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 hesaplamaya göndermek yerine, önceki çalıştırmanın sonuçları sonraki adımlarda hemen 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 değil, veri kümesinin tanımının değişip değişmediğine göre belirlenir. |
version
Gerekli
|
sürüm |
Açıklamalar
Tahmin aracı nesnesinde kullanılan giriş betiğine yönelik bağımsız değişkenlerin (örneğin, TensorFlow nesne) bir HyperDriveStep örneği oluştururken parametresi kullanılarak estimator_entry_script_arguments
liste 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 pipelines'da 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; bu durum Tahmin Aracı nesnesinde belirtilen parametreyi geçersiz kılar inputs
.
HyperDriveStep ile çalışmak için en iyi uygulama, betikler ve adımla ilişkili bağımlı dosyalar için ayrı bir klasör kullanmak ve tahmin aracı nesnesinin klasörü olarak bu klasörü belirtmektir source_directory
. Örneğin, sınıfının parametresine TensorFlow bakınsource_directory
. Bunu yapmanın iki avantajı vardır. İlk olarak, adım için oluşturulan anlık görüntünün boyutunu azaltmaya yardımcı olur çünkü yalnızca adım için gerekli olan anlık görüntü oluşturulur. İkinci olarak, snaphot'un yeniden yüklenmesini tetikleyecek bir değişiklik source_directory
olmadığında ö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öntemin doğrudan kullanılması amaçlanmamış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öntemin doğrudan kullanılması amaçlanmamış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
Name | Description |
---|---|
graph
Gerekli
|
Düğümün ekleneceği grafik nesnesi. |
default_datastore
Gerekli
|
Varsayılan veri deposu. |
context
Gerekli
|
<xref:azureml.pipeline.core._GraphContext>
Graf bağlamı. |
Döndürülenler
Tür | Description |
---|---|
Oluşturulan düğüm. |