【发布时间】:2017-07-12 13:46:23
【问题描述】:
我一直在使用 CNN 进行文本分类,并使用了 tensorflow 的 contrib learn。
但是,当我尝试执行以下代码时:
classifier = learn.Estimator(model_fn=cnn_model)
classifier.fit(x_train, y_train, steps=10000)
y_predicted = [ p['class'] for p in classifier.predict(x_test, as_iterable=True)]
score = metrics.accuracy_score(y_test, y_predicted)
print('Accuracy: {0:f}'.format(score))
我运行时出现以下错误:
错误:属性“TI”的数据类型字符串不在允许值列表中: uint8, int32, int64 on line 'classifier.fit'
【问题讨论】:
-
我已经对您的代码进行了一些格式化,请检查内容是否仍然正确。而且,疯狂的猜测:会不会是
y_train应该将类表示为整数,但实际上包含浮点数? -
y_train 包含 0 和 1。
-
而 x_train 包含数字数组
-
嗯,我对 contrib.learn 不熟悉。但可能您仍然应该包含
x_train和y_train的定义。