Преобразовать tf.py_func в собственную операцию Tensorflow - PullRequest
0 голосов
/ 14 марта 2019

Я пытался использовать модель на основе seq2seq в Tensorflow Serving.

Кажется, что работает без поиска луча.

Однако, когда поиск лучавключен, tf.py_func дополнительно участвует в выводе.

Поскольку tf.py_func не может быть сериализован в GraphDef, я не мог использовать это в Tensorflow Serving.

Мне нужно преобразоватьtf.py_func использовал здесь для чистых операций TF.

Фрагмент этого py_func,

def gather_tree_py(values, parents):
  beam_length = values.shape[0]
  num_beams = values.shape[1]
  res = np.zeros_like(values)
  res[-1, :] = values[-1, :]
  for beam_id in range(num_beams):
    parent = parents[-1][beam_id]
    for level in reversed(range(beam_length - 1)):
      res[level, beam_id] = values[level][parent]
      parent = parents[level][parent]
  return np.array(res).astype(values.dtype)

def gather_tree(values, parents):
  res = tf.py_func(func=gather_tree_py, inp=[values, parents], Tout=values.dtype)

Так как я новичок, мне нужна помощьв конвертации.

Как я могу выполнить этот процесс конвертации?

Добро пожаловать, чтобы также сослаться на этот выпуск .

...