2017-05-15 28 views
0

基于宽而深的教程,我正尝试使用MovieLens 1-M数据集创建一个类似的示例。Tensorflow:未能在MovieLens数据集上训练宽和深的模型

到目前为止,我想出了这个代码enter link description here(GitHub的链路)

不幸的是,运行我的代码时,它看起来像我的模式是不训练:

INFO:tensorflow:Create CheckpointSaverHook. 
INFO:tensorflow:Saving checkpoints for 1 into /var/folders/jl/_c3j45x14cn1w17jxrxv8t8m0000gn/T/tmp9LPo3i/model.ckpt. 
INFO:tensorflow:loss = 0.726383, step = 1 
INFO:tensorflow:global_step/sec: 2.59595 
INFO:tensorflow:loss = 0.0, step = 101 (38.522 sec) 
INFO:tensorflow:global_step/sec: 2.93759 
INFO:tensorflow:loss = 0.0, step = 201 (34.042 sec) 
INFO:tensorflow:global_step/sec: 2.83506 
INFO:tensorflow:loss = 0.0, step = 301 (35.274 sec) 
... 

从评价结果:

WARNING:tensorflow:Skipping summary for global_step, must be a float or np.float32. 
accuracy: 1.0 
accuracy/baseline_label_mean: 0.0 
accuracy/threshold_0.500000_mean: 1.0 
auc: 1.0 
global_step: 2000 
labels/actual_label_mean: 0.0 
labels/prediction_mean: 0.0 
... 

是否有问题的特点im指定宽和/或深的模型或是否有我的代码中的一般错误?

感谢您的帮助!

+0

请将您直接提供给该文章的图像中的内容写入。 – Shibli

+1

@Shibli更改了它 –

回答

0

你的input_fn是不变的,并且返回的总是相同的例子,这就是为什么你看到损失快速到0,并留在那里。

+0

感谢您的回复。我该如何改变input_fn以便它不总是返回相同的例子?我是否需要指定例如批量大小? –

+0

当前您的input_fn总是返回数据帧中的相同元素。尝试使用[pandas_input_fn](https://www.tensorflow.org/versions/master/api_docs/python/tf/estimator/inputs/pandas_input_fn)或查看其实施。 –