我刚开始使用tensorflow,但我没有正确导入数据以与DNNClassifier一起使用。我实际上有两个hdf5格式的文件,我用熊猫导入。特征向量具有维度100,并且特征可以属于5个类别。如果我使用例如下面的代码:Tensorflow数据导入
import pandas as pd
import numpy as np
import tensorflow as tf
#Data
train = pd.read_hdf("train.h5", "train")
test = pd.read_hdf("test.h5", "test")
Y=train.iloc[0:,0]
X=train.iloc[0:,1:]
X_t=test.iloc[0:,0:]
Y=np.array(Y.values).astype('int')
X=np.array(X.values).astype('double')
X_t=np.array(X_t.values).astype('double')
#Train
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=100)]
classifier = tf.contrib.learn.DNNClassifier(feature_columns=feature_columns,
hidden_units=[10, 20],
n_classes=5,
model_dir="/tmp/model")
# Define the training inputs
def get_train_inputs():
x = tf.constant(X)
y = tf.constant(Y)
return x, y
#fit
classifier.fit(input_fn=get_train_inputs, steps=1000)
predictions = list(classifier.predict(input_fn=get_train_inputs))
print(predictions)
我得到错误:InvalidArgumentError(参见上述用于回溯):形状在规格shape_and_slice [100,10]不匹配存储在检查点的形状:[1, 10] [[Node:save/RestoreV2_2 = RestoreV2 [dtypes = [DT_FLOAT],_device =“/ job:localhost/replica:0/task:0/cpu:0”](_ recv_save/Const_0,save/RestoreV2_2/tensor_names ,保存/ RestoreV2_2/shape_and_slices)]]
我不明白为什么会发生这种情况?我应该如何转换我的数据以应用于此分类器?