私はテンソルフローを使用し始めましたが、DNNClassifierで使用するためにデータを正しくインポートできませんでした。私は実際にhdf5形式のファイルを2つ持っています。これはpandasでインポートします。特徴ベクトルは次元100を有し、特徴が属することができる5つのクラスが存在する。 Iは、例えば、次のコードを使用する場合: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] [ノード:save/restoreV2_2 =復元V2 [dtypes = [DT_FLOAT]、_device = "/ job:localhost/replica:0/task:0/cpu:0"](recv_save/Const_0、save/RestoreV2_2/tensor_names 、save/RestoreV2_2/shape_and_slices)]]
これはなぜ起こりますか?この分類子に適用するためにデータをどのように変換する必要がありますか?