ValueError: элементы feature_columns должны быть либо DenseColumn, либо CategoryoricalColumn - PullRequest
0 голосов
/ 19 сентября 2019

Код прост:

    x_data = np.linspace(0, 10.0, 1000000)
    y_true = (0.5 * x_data) + 5 
    x_train, x_eval, y_train, y_eval = train_test_split(x_data, y_true, test_size = 0.25, random_state=101)
    input_func = tf.estimator.inputs.numpy_input_fn({'x':x_train}, y_train, 
                                                batch_size=8, num_epochs=None, shuffle= True)
    estimator = tf.estimator.LinearRegressor(feature_columns=feat_cols)
    estimator.train(input_fn=input_func, steps=1000)

Ошибка:

ИНФОРМАЦИЯ: тензор потока: вызов model_fn.--------------------------------------------------------------------------- ValueError Traceback (последний вызов был последним) в () ----> 1 estimator.train (input_fn = input_func,steps = 1000) 2 #eval_metrics = estimator.evaluate (input_fn = eval_input_func, steps = 1000)

8 кадров /usr/local/lib/python3.6/dist-packages/tensorflow/python/feature_column/feature_column_v2.py в init (self, feature_columns, unit, sparse_combiner, обучаемый, name, ** kwargs)Дано: {} '. Format (column)) 501 502 self._units = units

ValueError: Элементами feature_columns должны быть либо DenseColumn, либо CategoryoricalColumn.Дано: SequenceNumericColumn (key = 'x', shape = (1,), default_value = 0.0, dtype = tf.float32, normalizer_fn = None)

1 Ответ

1 голос
/ 19 сентября 2019

Следующий код отлично работает для обучения и прогнозирования.

x_data = np.linspace(0, 10.0, 1000)
print(x_data.shape)
y_true = (0.5 * x_data) + 5
print(y_true.shape)
x_train, x_eval, y_train, y_eval = train_test_split(x_data, y_true, test_size=0.25, random_state=101)
train_func = tf.estimator.inputs.numpy_input_fn({'x': x_train}, y_train, batch_size=8, num_epochs=10, shuffle=True)

features = [tf.contrib.layers.real_valued_column("x", dimension=1)]
estimator = tf.estimator.LinearRegressor(feature_columns=features)

estimator.train(input_fn=train_func, steps=100) # Fit the model to training data.

eval_func = tf.estimator.inputs.numpy_input_fn({'x': x_eval}, batch_size=1, num_epochs=1, shuffle=False)

result = estimator.predict(eval_func) # Predict scores

print("predict_scores", list(result))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...