Skip to main content
 首页 » 编程设计

python之使用tensorflow猜数字

2025年01月19日26mfrbuaa

我正在学习 tensorflow 。我想根据数字做一些简单的“猜测”。我有以下 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=8 和 6+6 =12

请您参考如下方法:

您的猜测器解决的是回归问题,而不是分类(this question 解释了差异)。试试这个:

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