https://github.com/tensorflow/tensorflow/blob/r1.3/tensorflow/examples/learn/wide_n_deep_tutorial.pyのチュートリアルコードを使用していますが、コードを評価する代わりに予測を行うまでは問題ありません。入力fnを使用してTensorflowエスティメータで予測
def input_fn_predict(data_file, num_epochs, shuffle):
"""Input builder function."""
df_data = pd.read_csv(
tf.gfile.Open(data_file),
names=CSV_COLUMNS,
skipinitialspace=True,
engine="python",
skiprows=1)
# remove NaN elements
df_data = df_data.dropna(how="any", axis=0)
labels = df_data["income_bracket"].apply(lambda x: ">50K" in x).astype(int)
return tf.estimator.inputs.pandas_input_fn(#removed paramter y
x=df_data,
batch_size=100,
num_epochs=num_epochs,
shuffle=shuffle,
num_threads=5)
そして、このようにそれを呼び出すために:私は(ちょうどパラメータyを削除することで)このようになり予測のための別の関数を作ってみました
predictions = m.predict(
input_fn=input_fn_predict(test_file_name, num_epochs=1, shuffle=True)
)
for i, p in enumerate(predictions):
print(i, p)
- 私は右のそれをやっていますか?
- 16282(テストファイルの行数)の代わりに81404という予測が得られるのはなぜですか?
- 各行は、このような何か含ま:
{ '確率':配列([0.78595656、0.21404342]、DTYPE =のfloat32)、 'logits':配列([ - 1.3007226]、DTYPEを=配列([0])、配列([ 0.21404341]、dtype = float32)}
どうすれば読むことができますか?