我试图用Tensorflow运行MNIST数据集 . 这是我的代码
import tensorflow as tf
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)
X_train = np.array(mnist.train.images, 'float')
X_test = np.array(mnist.test.images, 'float')
y_train = np.array(mnist.train.images, 'int32')
y_test = np.array(mnist.test.images, 'int32')
# Specify feature
feature_columns = [tf.contrib.layers.real_valued_column('', dimension=784)]
# Build 3 layer DNN with 10, 20, 10 units respectively.
classifier = tf.contrib.learn.DNNClassifier(feature_columns=feature_columns,
hidden_units=[200, 100, 60, 30],
n_classes=10,
model_dir="./output"
)
# Fit model.
classifier.fit(X_train, y_train, batch_size=100, steps=1000)
# Evaluate accuracy.
accuracy_score = classifier.evaluate(X_test, y_test)["accuracy"]
print('Accuracy: {0:f}'.format(accuracy_score))
但是,我一直收到错误:
ValueError:无法压缩dim [1],预期维度为1,对于输入形状为'dnn / multi_class_head / softmax_cross_entropy_loss / Squeeze'(op:'Squeeze')得到784:[?,784] .
回溯是引起我注意第31行,这是我在分类器上调用fit()的地方,但我无法弄清楚原因 .
1 回答
这应该工作正常 . version = '1.1.0'并使用python 3.6 . 输入数据的维度可能存在一些问题,但可以从此向后工作 .
输出: