我不认为这是一个错误,从DNNClassifier的源代码中,我可以看出它的用法与TensorFlowDNNClassifier不同。DNNClassifier的构造函数没有步骤参数:
def __init__(self,hidden_units,feature_columns=None,model_dir=None,n_classes=2,weight_column_name=None,optimizer=None,activation_fn=nn.relu,dropout=None,config=None)
正如你可以看到这里。取而代之的是,DNNClassifier继承自baseEstimator的fit()方法现在具有步骤param,请注意,batch_size也会发生相同的情况:
def fit(self, x=None, y=None, input_fn=None, steps=None, batch_size=None, monitors=None):
对于“它没有完成而挂起?”,在baseEstimator的fit()方法的文档中说明,如果steps为
None(作为默认值),则模型将永远训练。
我仍然不明白为什么我想永远训练模型。我的猜测是,如果我们希望尽早停止验证数据,创建者会认为这种方式对分类器更好,但正如我所说的只是我的猜测。
如您所见,DNNClassifier不会像已过时的TensorFlowDNNClassifier一样提供任何反馈,这是假定可以使用DNNClassifier构造函数中存在的“
config”参数来设置反馈。因此,您应该将RunConfig对象作为config传递,并且在该对象的参数中,您应该设置详细的参数,不幸的是,我尝试对其进行设置,以便可以看到丢失的进度,但并没有那么幸运。
我建议您在他的博客中查看Yuan
Tang的最新帖子,他是skflow的创建者之一,又名tf learning。



