关于如何使用partial_fit(tensorflow或scikit-learn)的任何建议

时间:2017-04-11 00:45:09

标签: tensorflow scikit-learn

我试图使用TensorFlow来适应在线学习模型。我的候选人是DNNRegressorMLPRegressor

如果我有一个complete_dataset并将其拆分为10个子集,我希望如果我用partial_fit训练模型并且我连续用子集提供模型,在使用第10个子集后我会有预测类似于使用complete_dataset训练的模型。

显然,实施并不是那么简单,如果有人能给我一些建议,我真的很感激。我也会考虑尝试使用scikit-learn,但我猜这种方法是类似的。

到目前为止,我认为我需要确保(如果我错了,请纠正我):

  • 学习率是恒定的
  • ???

这是我的代码的一部分:

for i in range(10):
    clf_partial = tf.contrib.learn.DNNRegressor(feature_columns=feature_columns,
                                                hidden_units=[100],
                                                activation_fn=tf.nn.tanh
                                                )

    RMSE_partial_ = []
    for c in np.random.permutation(unique_countries):
        X_train_partial = data[countries == c].as_matrix().astype('float32')
        y_train_partial = labels[countries == c].as_matrix().astype('float32')
        train_partial = tf.contrib.learn.datasets.base.Dataset(X_train_partial, y_train_partial.reshape(y_train_partial.shape[0], 1))
        clf_partial = clf_partial.partial_fit(input_fn=get_train_inputs_partial, steps=50)
        pred_partial = np.array(list(clf_partial.predict(input_fn=get_test_data_partial)))
        RMSE_partial = np.sqrt(np.mean((pred_partial - labels) ** 2))
        RMSE_partial_.append(RMSE_partial)
        print('#' * 20)
    tmp2.append(RMSE_partial_)

0 个答案:

没有答案