Оценщики Tensorflow: в чем разница между serve_input_fn и input_fn - PullRequest
0 голосов
/ 29 июня 2018

Мне кажется избыточным определять дважды входную функцию для модели и экспортера. Почему бы просто не использовать уникальную функцию ввода как в определении, так и в экспортере

Например, для примера изображений MNIST, где вводом является изображение размером 28x28x1, input_fn и serving_input_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)

.

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)

В конце оба определяют диктант {INPUT_FEATURE: изображение}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...