Tensorflow: Übergeben Sie Rastersuchparameter an das benutzerdefinierte TensorFlowEstimator-Modell

Erstellt am 20. Apr. 2016  ·  3Kommentare  ·  Quelle: tensorflow/tensorflow

GridSearchCV ist eine großartige Möglichkeit, Hyperparameter automatisch zu testen und zu optimieren. Ich verwende es mit TensorFlowEstimator, um learning_rate, batch_size usw. zu optimieren. Es wäre eine großartige Ergänzung, wenn ich damit auch andere Parameter in meinem benutzerdefinierten Modell anpassen könnte.

Angenommen, ich habe ein benutzerdefiniertes Modell mit einem Convnet und möchte den Schrittwert optimieren. Dieser Pseudocode erklärt, was ich erreichen möchte.

Ich habe eine benutzerdefinierte "params"-Eingabe für die Modellfunktion nur als Beispiel verwendet, um nicht zu implizieren, dass dies unbedingt der richtige Weg ist, um diese Funktion zu implementieren.

# My custom model. 
# Feature request: New params dict with values filled by GridSearchCV
def cnn_model(X, Y, params):
  stride = params['stride']
  ... custom model definition here ...

# Create the Convnet classifier
cnn_classifier = learn.TensorFlowEstimator(model_fn=cnn_model)

# Grid search on different stride values.
parameters = {'stride': [1, 2, 3],}
grid_searcher = GridSearchCV(cnn_classifier, parameters)
grid_searcher.fit(X, Y)
feature

Hilfreichster Kommentar

@ilblackdragon Irgendwelche Neuigkeiten dazu?

Alle 3 Kommentare

Es steht auf unserer TODO-Liste. Ich versuche nur herauszufinden, wie man es gut macht, um eine allgemeine Möglichkeit zu haben, Hyperparameter an die Modelle zu übergeben.

@ilblackdragon Irgendwelche Neuigkeiten dazu?

Die Modellfunktion hat das Argument params . TensorFlowEstimator ist veraltet, bitte verwenden Sie Estimator , das das Argument params akzeptiert. Dies sollte jetzt funktionieren, bitte öffnen Sie es erneut, wenn dies nicht der Fall ist.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen