即使网格只是一个点,带有 skflow/TF 学习的 Gridsearchcv 也会永远运行

Posted

技术标签:

【中文标题】即使网格只是一个点,带有 skflow/TF 学习的 Gridsearchcv 也会永远运行【英文标题】:Gridsearchcv with skflow/TF learn runs forever even if grid is just one point 【发布时间】:2016-09-20 17:35:43 【问题描述】:

我正在尝试对 DNN 回归的步骤、learning_rate 和 batch_size 进行网格搜索。我尝试使用简单的示例来做到这一点,这里显示的波士顿数据集boston example 但是,我无法让它工作。它不会抛出任何错误,它只是运行并运行并运行。即使我设置了一个单点网格,它也会这样做。 您在下面看到任何错误吗?我错过了一些明显的东西吗? 我对sklearn和skflow都是新手(我知道,skflow已经被合并到Tensorflow Learn中,但我认为例子应该是一样的),但我只是结合了我找到的例子。

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_)

感谢您的帮助!!

【问题讨论】:

【参考方案1】:

将 fit_params 添加到 gird_search 否则 TensorFlowDNNRegressor 将永远运行。

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

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

【讨论】:

以上是关于即使网格只是一个点,带有 skflow/TF 学习的 Gridsearchcv 也会永远运行的主要内容,如果未能解决你的问题,请参考以下文章

带有模板的 Kendo UI 网格编号列不会过滤

在OpenSCAD中是带有穿孔或网格外部的3D形状吗?

如何在 Matplotlib 中使用带有大型数组的网格网格?

OpenCV 的 findCirclesGrid 没有找到圆圈网格

关于使用 maxscript 将法线从一个网格复制到另一个网格

如何在网格布局中重叠组件?