【问题标题】:Guess number using tensorflow使用 tensorflow 猜数字
【发布时间】:2018-08-19 03:11:30
【问题描述】:

我正在学习张量流。我想根据数字做一些简单的“猜测者”。我有以下 csv:

val1;val2;result
1;1;2
1;2;3
2;1;3
2;2;4
2;3;5
3;2;5
3;3;6

方程式只是将两个数字相加(例如 1+1=2)。我试过这个:

train_x, train_y = load_data()
my_feature_columns = []
for key in train_x.keys():
    my_feature_columns.append(tf.feature_column.numeric_column(key=key))
classifier = tf.estimator.DNNClassifier(
                                            feature_columns=my_feature_columns,
                                            hidden_units=[10,10],
                                            n_classes=3
                                           )
classifier.train(input_fn=lambda: train_input_fn(train_x, train_y, 100), steps=1000)
classifier.evaluate(input_fn=lambda: train_input_fn(train_x, train_y, 100), steps=1000)

expected = [8, 12]
predict_x = {
    'val1': [4, 6],
    'val2': [4, 6],
}
predictions = classifier.predict(predict_x)

上面的代码不起作用。我收到错误:

Label IDs must < n_classes

我想从.predict()接收基于val1和val2的函数结果,如上面的代码:4+4=86+6=12

【问题讨论】:

    标签: python tensorflow deep-learning classification tensorflow-estimator


    【解决方案1】:

    您的猜测者解决了一个回归问题,而不是分类this question 解释了其中的区别)。试试这个:

    classifier = tf.estimator.DNNRegressor(
                                                feature_columns=my_feature_columns,
                                                hidden_units=[10,10],
                                               )
    

    【讨论】:

    • 代码似乎可以正确执行,但是我无法打印predictions 变量,里面有predict generator。你能解释一下如何得到结果吗?
    • 例如list(predictions)
    • 我收到错误:TypeError('{!r} is not a Python function'.format(func)) TypeError: {'val2': [4, 6], 'val1': [ 4, 6]} 不是 Python 函数
    • 你应该将input_fn传递给predict,而不是原始数据,就像train - tensorflow.org/api_docs/python/tf/estimator/Estimator#predict一样
    猜你喜欢
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 2016-02-22
    相关资源
    最近更新 更多