Skala Hyperopt-utvärderingsversioner

Slutförd

En av fördelarna med att använda Apache Spark i Azure Databricks är möjligheten att distribuera bearbetningsuppgifter över flera klusternoder. När du använder ett Spark-medvetet maskininlärningsbibliotek som MLlib kan maskininlärningsträning skalas ut för att minska den totala tiden som träningsprocessen tar. När du använder Hyperopt med ett distribuerat träningsbibliotek som MLlib skalas arbetet automatiskt över de tillgängliga arbetsnoderna i klustret.

Hyperopt stöder utskalning av utvärderingsversioner av hyperparameterjustering för bibliotek som inte distribueras med hjälp av klassen SparkTrials i stället för en vanlig Utvärderingsklass. Med den här metoden kan du dra nytta av utskalningsparallelliteten hos Spark för att distribuera hyperparameterjusteringskörningar över flera noder, även när du använder ett bibliotek som är utformat för bearbetning på en enda dator, till exempel Scikit-Learn.

Följande exempelkod visar hur du använder klassen SparkTrials .

from hyperopt import SparkTrials

  spark_trials = SparkTrials()
  with mlflow.start_run():
    argmin = fmin(
      fn=objective,
      space=search_space,
      algo=algo,
      max_evals=100,
      trials=spark_trials)
  
  print("Best param values: ", argmin)

Dricks

Mer information om hur du använder klassen SparkTrials finns i Klassen SparkTrials i Azure Databricks-dokumentationen.