2016-05-23 8 views
1

Ich versuche, eine Rastersuche über Schritte, learning_rate und batch_size einer DNN-Regression zu tun. Ich habe versucht, dies mit dem einfachen Beispiel zu tun, der Boston-Datensatz hier gezeigt boston example jedoch kann ich es nicht zum Laufen bringen. Es wirft keinen Fehler, es läuft nur und läuft und läuft. Das tut es auch, wenn ich ein Gitter eines einzelnen Punktes aufstelle. Haben Sie einen Fehler in den folgenden Punkten? Vermisse ich etwas Offensichtliches? Ich bin neu in Sklearn und Skflow (ich weiß, Skflow wurde in Tensorflow Learn verschmolzen, aber ich denke, das Beispiel sollte das gleiche sein), aber ich habe nur die Beispiele kombiniert, die ich gefunden habe.Gridsearchcv mit skflow/TF lernen läuft für immer, auch wenn Gitter nur einen Punkt

from sklearn import datasets, cross_validation, metrics 
from sklearn import preprocessing, grid_search 
import skflow 

# Load dataset 
boston = datasets.load_boston() 
X, y = boston.data, boston.target 

# Split dataset into train/test 
X_train, X_test, y_train, y_test=cross_validation.train_test_split(X, y,test_size=0.2, random_state=42) 

# scale data (training set) to 0 mean and unit Std. dev 
scaler = preprocessing.StandardScaler() 
X_train = scaler.fit_transform(X_train) 
regressor = skflow.TensorFlowDNNRegressor(hidden_units=[10, 10], 
steps=5000, learning_rate=0.1, batch_size=10) 

# use a full grid over all parameters 
param_grid = {"steps": [200,400], 
       "learning_rate": [0.1,0.2], 
       "batch_size": [10,32]} 

# run grid search 
gs = grid_search.GridSearchCV(regressor, param_grid=param_grid, scoring = 'accuracy', verbose=10, n_jobs=-1,cv=2) 
gs.fit(X_train, y_train) 

# summarize the results of the grid search 
print(gs.best_score_) 
print(gs.best_params_) 

Danke für jede Hilfe !!

Antwort

0

Fit_params zu gird_search hinzufügen sonst TensorFlowDNNRegressor läuft für immer.

gs = grid_search.GridSearchCV(
     regressor, param_grid=param_grid, 
     scoring = 'accuracy', verbose=10, n_jobs=-1,cv=2 
    ) 

zu

gs = grid_search.GridSearchCV(
     regressor, param_grid=param_grid, scoring = 'accuracy', 
     verbose=10, n_jobs=-1,cv=2, fit_params={'steps': [200,400]} 
)