Tensorflow 张量流估计:什么';服务输入和输入之间的区别是什么

Tensorflow 张量流估计:什么';服务输入和输入之间的区别是什么,tensorflow,machine-learning,tensorflow-estimator,Tensorflow,Machine Learning,Tensorflow Estimator,对我来说,为模型和导出器定义两次输入函数似乎是多余的。为什么不在定义和导出器中都使用唯一的输入函数呢 例如,对于MNIST图像示例,其中输入为28x28x1的图像,input\u fn和服务于\u input\u fn如下所示 train_input_fn = tf.estimator.inputs.numpy_input_fn( x={INPUT_FEATURE: train_data}, y=train_labels, batch_size=100, num_

对我来说,为模型和导出器定义两次输入函数似乎是多余的。为什么不在定义和导出器中都使用唯一的输入函数呢

例如,对于MNIST图像示例,其中输入为28x28x1的图像,
input\u fn
服务于\u input\u fn
如下所示

train_input_fn = tf.estimator.inputs.numpy_input_fn(
    x={INPUT_FEATURE: train_data},
    y=train_labels,
    batch_size=100,
    num_epochs=None,
    shuffle=True)


最后,两者都定义了一个dict{INPUT\u FEATURE:image}

为输入提供服务fn
当您想要进行预测时是必要的,该预测用于定义带有
tf.placeholder
的输入数据类型<代码>输入\u fn将返回用于训练的源和目标序列数据集

要有帮助

def serving_input_receiver_fn():
  inputs = {
    INPUT_FEATURE: tf.placeholder(tf.float32, [None, 28, 28, 1]),
  }
  return tf.estimator.export.ServingInputReceiver(inputs, inputs)
classifier.train(input_fn=train_input_fn, steps=FLAGS.steps)
classifier.export_savedmodel(DIR_MODEL,
        serving_input_receiver_fn=serving_input_receiver_fn)