[英]Feature are incompatible with given information in evaluate() using tf.contrib.learn.SVM
Code is as follows: 代码如下:
def svm_tf(file):
X,Y,training_size, index = process_data(file)
def input_fn():
return {
'example_id': tf.constant(index[:training_size]),
'multi_dim_feature': tf.constant(X[:training_size].values.tolist()),
}, tf.constant(Y[:training_size])
feature_columns = [tf.contrib.layers.real_valued_column("multi_dim_feature",dimension=4)]
svm = learn.SVM(feature_columns=feature_columns,
l1_regularization=0.0,
l2_regularization=1.0,
example_id_column='example_id')
svm.fit(input_fn=input_fn,steps=50)
def test_input():
return{
'example_id': tf.constant(index[training_size:]),
'features': tf.constant(X[training_size:].values.tolist())
}, tf.constant(Y[training_size:])
accuracy = svm.evaluate(input_fn=test_input,steps=1)['accuracy']
print('\nAccuracy :{0:f}\n'.format(accuracy))
However, when I run the program, it runs into error as follows: 但是,当我运行该程序时,它会遇到如下错误:
Traceback (most recent call last):
File "subscriber.py", line 84, in <module>
svm_tf(file)
File "subscriber.py", line 75, in svm_tf
accuracy = svm.evaluate(input_fn=test_input,steps=1)['accuracy']
File "/home/annie/.local/lib/python2.7/site-packages/tensorflow/python/util/deprecation.py", line 289, in new_func
return func(*args, **kwargs)
File "/home/annie/.local/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 543, in evaluate
log_progress=log_progress)
File "/home/annie/.local/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 827, in _evaluate_model
self._check_inputs(features, labels)
File "/home/annie/.local/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 757, in _check_inputs
(str(features), str(self._features_info)))
ValueError: Features are incompatible with given information. Given features: {'example_id': <tf.Tensor 'Const:0' shape=(1000,) dtype=string>, 'features': <tf.Tensor 'Const_1:0' shape=(1000, 4) dtype=float32>}, required signatures: {'example_id': TensorSignature(dtype=tf.string, shape=TensorShape([Dimension(4000)]), is_sparse=False), 'multi_dim_feature': TensorSignature(dtype=tf.float32, shape=TensorShape([Dimension(4000), Dimension(4)]), is_sparse=False)}.
I cannot find any relevant questions online and therefore is very lost Please help! 我在网上找不到任何相关问题,因此非常迷茫。请帮助! Thanks in advance 提前致谢
在您的test_input
函数中,将features
替换为multi_dim_features
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.