Tensorflow: Passar parâmetros de pesquisa de grade para o modelo personalizado do TensorFlowEstimator

Criado em 20 abr. 2016  ·  3Comentários  ·  Fonte: tensorflow/tensorflow

GridSearchCV é uma ótima maneira de testar e otimizar hiperparâmetros automaticamente. Eu o uso com o TensorFlowEstimator para otimizar o learning_rate, batch_size, ... etc. Seria uma ótima adição se eu também pudesse usá-lo para personalizar outros parâmetros no meu modelo personalizado.

Por exemplo, digamos que eu tenha um modelo personalizado com uma convnet e queira otimizar o valor do passo. Este pseudo código explica o que estou tentando alcançar.

Eu usei uma entrada "params" personalizada para a função de modelo apenas como exemplo, para não implicar que essa seja necessariamente a maneira correta de implementar esse recurso.

# 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

Comentários muito úteis

@ilblackdragon Alguma atualização sobre isso?

Todos 3 comentários

Está na nossa lista de TODO. Apenas tentando descobrir como fazer isso bem para ter uma maneira geral de passar hiperparâmetros para os modelos.

@ilblackdragon Alguma atualização sobre isso?

A função de modelo tem o argumento params . TensorFlowEstimator está obsoleto, use Estimator que aceita o argumento params . Isso deve funcionar agora, por favor, reabra se isso não acontecer.

Esta página foi útil?
0 / 5 - 0 avaliações