具有张量流回归的多个标签

时间:2018-01-21 06:27:54

标签: python numpy tensorflow

我试图让一个多标签模型进入张量流。我在这里看到了一个相关的问题:Multiple labels with tensorflow,但无法使解决方案有效。

代码来自tensorflow教程。 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/input_fn/boston.py

FEATURES = ["crim", "zn", "indus", "nox", "rm",
            "dis", "tax", "ptratio"]
LABELS = ["medv", "age"]

def get_input_fn(data_set, num_epochs=None, shuffle=True):
    return tf.estimator.inputs.pandas_input_fn(
        x=pd.DataFrame({k: data_set[k].values for k in FEATURES}),
        # y=pd.Series(data_set[LABEL].values),
        y=list(map(lambda label:  data_set[label].values, LABELS)),
        num_epochs=num_epochs,
        shuffle=shuffle)

在我的回归中,我将标签尺寸设置为2。

regressor = tf.estimator.DNNRegressor(feature_columns=feature_cols,
                                      label_dimension=2,
                                      hidden_units=[10, 10],
                                      model_dir="/tmp/boston_model")

我试试看:

Traceback (most recent call last):                                                                                                                     
  File "./boston.py", line 85, in <module>                                                                                                             
    tf.app.run()                                                                                                                                       
  File "/home/jillian/.eb/software/machine-learning/1.00/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 48, in run               
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))                                                                                                 
  File "./boston.py", line 67, in main                                                                                                                 
    regressor.train(input_fn=get_input_fn(training_set), steps=5000)                                                                                   
  File "./boston.py", line 43, in get_input_fn                                                                                                         
    shuffle=shuffle)                                                                                                                                   
  File "/home/jillian/.eb/software/machine-learning/1.00/lib/python3.6/site-packages/tensorflow/python/estimator/inputs/pandas_io.py", line 87, in pand
as_input_fn                                                                                                                                            
    'Index for y: %s\n' % (x.index, y.index))                                                                                                          
ValueError: Index for x and y are mismatched.                                                                                                          
Index for x: RangeIndex(start=0, stop=400, step=1)                                                                                                     
Index for y: <built-in method index of list object at 0x7f6f64a5bb48>    

我也尝试将y设置为numpy数组而不是列表。

0 个答案:

没有答案