Все, что выполняется в TensorFlow Serving, является просто графом TensorFlow, будь то сама модель или ваши шаги предварительной обработки. Все, что вам нужно сделать, чтобы сложить два вместе, - это соединить два графика, подставив результат этапа предварительной обработки в качестве входных данных для модели, предполагая, что это совместимо.
Например, предположим, что ваша модель была что-то действительно простое, вроде этого, которое принимает ввод произвольной длины и вычисляет его норму L2:
input = tf.placeholder(tf.float32, [None])
norm = tf.norm(input, ord=2)
А затем у нас была функция подготовки данных, которую мы хотели применить, которая удваивала исходный ввод перед вычислением нормы L2 добавив его к самому себе:
input = tf.placeholder(tf.float32, [None])
doubled = tf.add(input, input)
Вы можете предварительно обработать и сделать «прогноз» (например, в этом игрушечном примере) в одном развертывании TensorFlow Serving, выполнив что-то вроде этого:
input = tf.placeholder(tf.float32, [None])
doubled = tf.add(input, input)
norm = tf.norm(input, ord=2)
Это не особенно полезно и, вероятно, намного проще, чем то, что вы делаете. Надеюсь, он передаст идею!