0

tensorflow サービングを使用して textsum のデコード機能をセットアップしようとしていますが、MNIST チュートリアルを介して実行するために完全に必要なものを完全に理解できていません。Tensorflow サービング モデルの設定に関する他のチュートリアルや、textsum に合わせたものに出くわした人はいますか? どんな助けや指示も素晴らしいでしょう。ありがとう!

最後に、ここにある seq2seq_attention.py の「train」でトレーニングされたモデルからデコード機能をエクスポートしようとしています: https://github.com/tensorflow/models/blob/master/textsum/seq2seq_attention.py

以下の 2 つのファイルを比較して、上記の textsum モデルに対して何を実行する必要があるかを理解するとき、「default_graph_signature、入力テンソル、classes_tensor など」で何を割り当てる必要があるかを理解するのに苦労しています。 textsum モデルと一致しない可能性がありますが、これは私が解決しようとしているものであり、テンソルフローのサービスにエクスポートされている他のモデルを見た場合、おそらくもう少し意味があるかもしれません。

比較: https://github.com/tensorflow/tensorflow/blob/r0.11/tensorflow/examples/tutorials/mnist/mnist_softmax.py

https://github.com/tensorflow/serving/blob/master/tensorflow_serving/example/mnist_export.py

- - - - - - - - - 編集 - - - - - - - - - -

以下は私がこれまでに持っているものですが、いくつかの問題があります。サービス提供のために Textsum Eval 機能をセットアップしようとしています。まず、Saver(sharded=True) の割り当てが発生すると、「保存する変数がありません」というエラーが表示されます。それはさておき、テキストサムデコードを介して結果をエクスポートするために、「classification_signature」および「named_graph_signature」変数に何を割り当てる必要があるのか​​ もわかりません。

私がここで欠けているものについての助け...確かにそれは少しです。

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import sys
import tensorflow as tf
from tensorflow.contrib.session_bundle import exporter

tf.app.flags.DEFINE_string("export_dir", "exports/textsum",
                           "Directory where to export textsum model.")

tf.app.flags.DEFINE_string('checkpoint_dir', 'log_root',
                            "Directory where to read training checkpoints.")
tf.app.flags.DEFINE_integer('export_version', 1, 'version number of the model.')
tf.app.flags.DEFINE_bool("use_checkpoint_v2", False,
                     "If true, write v2 checkpoint files.")
FLAGS = tf.app.flags.FLAGS

def Export():
    try:
        saver = tf.train.Saver(sharded=True)
        with tf.Session() as sess:
            # Restore variables from training checkpoints.
            ckpt = tf.train.get_checkpoint_state(FLAGS.checkpoint_dir)
            if ckpt and ckpt.model_checkpoint_path:
                saver.restore(sess, ckpt.model_checkpoint_path)
                global_step = ckpt.model_checkpoint_path.split('/')[-1].split('-')[-1]
                print('Successfully loaded model from %s at step=%s.' %
                    (ckpt.model_checkpoint_path, global_step))
            else:
                print('No checkpoint file found at %s' % FLAGS.checkpoint_dir)
                return

            # Export model
            print('Exporting trained model to %s' % FLAGS.export_dir)
            init_op = tf.group(tf.initialize_all_tables(), name='init_op')
            model_exporter = exporter.Exporter(saver)

            classification_signature = <-- Unsure what should be assigned here

            named_graph_signature = <-- Unsure what should be assigned here

            model_exporter.init(
                init_op=init_op,
                default_graph_signature=classification_signature,
                named_graph_signatures=named_graph_signature)

            model_exporter.export(FLAGS.export_dir, tf.constant(global_step), sess)
            print('Successfully exported model to %s' % FLAGS.export_dir)
    except:
        err = sys.exc_info()
        print ('Unexpected error:', err[0], ' - ', err[1])
        pass


def main(_):
    Export()

if __name__ == "__main__":
    tf.app.run()
4

0 に答える 0