Tensorflow模型dir非常大,结果不准确,估计员培训需要执行很多次

时间:2018-03-11 12:24:12

标签: python tensorflow deep-learning classification regression

我有5403行的简单CSV训练数据集,如下所示:

4;4;8
10159;33589;43748
12353;32085;44438
12120;23906;36026
1001;788;1789
788;1001;1789

它基本上是随机生成的数字(行中两个,第三个是加法结果)第一个数字(val1)+第二个数字(val2)=第三个数字(结果)。数据集已生成一次,因此数据集的每个执行时间都相同。用于评估的测试集以相同的方式完成。我的代码是:

classifier = tf.estimator.DNNRegressor(
        feature_columns=my_feature_columns,
        hidden_units=[100, 100],
        model_dir='model_2'
    )
    classifier.train(input_fn=lambda: train_input_fn(train_x, train_y, len(train_x)), steps=350)

    classifier.evaluate(input_fn=lambda: train_input_fn(test_x, test_y, len(test_x)), steps=50)

    expected = [8, 12, 200, 81, 200, 211, 299, 250, 1789, 45000]
    predict_x = {
        'val1': [4, 6, 100, 40, 100, 30, 99, 100, 1001, 40000],
        'val2': [4, 6, 100, 41, 100, 181, 200, 150, 788, 5000],
    }

    predictions = classifier.predict(input_fn=lambda: eval_input_fn(predict_x,
                                                                    labels=None,
                                                                    batch_size=440))

问题和疑问:

当我第一次“询问”这段代码关于4 + 4的结果时,它没有给出正确的结果(它给出了我的例子8.943672)。当我再次运行它时,它给我的结果仍然不正确,但每次运行时都更接近正确。当我运行数百次后,我终于得到了预期的结果。

问题1:为什么这段代码“无法立即学习”?

问题2:我在训练集中有一行:4; 4; 8,为什么机制没有从数据集中得到结果而不是进行计算?

问题3:正如我所提到的,我已经运行了这个代码数百次,我的模型目录model_2现在超过1,1Gb,而trainig数据集是90,2 Kb,为什么这么大?我能减少吗?

0 个答案:

没有答案