Tensorflow: Pase los parámetros de búsqueda de cuadrícula al modelo personalizado de TensorFlowEstimator

Creado en 20 abr. 2016  ·  3Comentarios  ·  Fuente: tensorflow/tensorflow

GridSearchCV es una excelente manera de probar y optimizar los hiperparámetros automáticamente. Lo uso con TensorFlowEstimator para optimizar learning_rate, batch_size, etc. Sería una gran adición si también puedo usarlo para personalizar otros parámetros en mi modelo personalizado.

Por ejemplo, digamos que tengo un modelo personalizado con una convnet y quiero optimizar el valor de la zancada. Este pseudocódigo explica lo que estoy tratando de lograr.

Utilicé una entrada personalizada de "parámetros" para la función del modelo solo como ejemplo, para no implicar que esta sea necesariamente la forma correcta de implementar esta función.

# 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

Comentario más útil

@ilblackdragon ¿ Alguna actualización sobre esto?

Todos 3 comentarios

Está en nuestra lista de TODO. Solo trato de descubrir cómo hacerlo bien para tener una forma general de pasar hiperparámetros a los modelos.

@ilblackdragon ¿ Alguna actualización sobre esto?

La función modelo tiene un argumento params . TensorFlowEstimator está obsoleto, use Estimator que toma el argumento params . Esto debería funcionar ahora, vuelva a abrir si esto no funciona.

¿Fue útil esta página
0 / 5 - 0 calificaciones