我有一个有趣的,非新颖的,但似乎一般未解决,至少在我能在网上找到的来源,问题。问题基本上是这样的:
我希望通过TF服务API将我的RNN状态保持在呼叫/调用之间。
我发现很多人在网上谈论这个问题,例如在以下链接中:
https://github.com/tensorflow/serving/issues/724
https://groups.google.com/a/tensorflow.org/forum/#!topic/discuss/00tipdqxRZk
Tensorflow Serving - Stateful LSTM
不幸的是,似乎有一些关于问题的讨论和关于内置修复程序的讨论被添加到TF但尚未存在,但没有关于如何解决此问题的实际指南/示例。
我最近能找到如何执行此操作的指南是groups.google链接中的以下内容:
“作为未来读者的背景,有两个广泛的案例需要考虑。第一个是你想要运行整个序列计算的地方,有多个步骤,每个步骤都有状态保留下一步。这个案例用动态展开。“
我真的不确定如何实现这一点。我真的不想在这里分享我的代码只是因为SO帖子真的很长,并且不要指望任何人通读它并告诉我该怎么做。
任何一般提示都会很棒。
我现在有两个文件用于在服务api中部署和使用我的RNN。它们被称为rnn_save_model.py和rnn_client.py。 rnn_save_model只是在代码中创建实际模型,然后使用SavedModelBuilder将其保存到文件中。然后,当我通过以下命令加载模型时,rnn_client将一些参数传递给模型:
tensorflow_model_server --port = 9000 --model_name = rnn --model_base_path = / tmp / rnn_model / 我甚至不确定在哪里添加代码以使模型加载存储到文件的状态或某些东西,因为模型本身在rnn_save_model中“创建”一次,我不知道如何通过rnn_client文件清楚地传递状态然后将其添加到图形中,因为当前状态下的文件只是使用在内存中加载的模型并与其连接VS实际编辑模型,就像从文件或其他东西加载先前状态一样。
我真的很感激任何帮助!