TensorFlow restore/deploy 网络没有模型?

TensorFlow restore/deploy network without the model?

我已经使用 TensorFlow 构建并训练了一些网络,并成功地保存和恢复了模型的参数。

但是,对于某些情况 - 例如就像在客户的基础设施中部署训练有素的网络一样——它不是运送完整 code/model 的最佳解决方案。因此,我想知道是否有任何方法可以 restore/run 一个没有用于训练的原始 code/model 的训练网络?

我想这会引出一个问题,即除了变量的权重之外,TensorFlow 是否能够将网络架构的(压缩?)版本保存到检查点文件中。

这有可能吗?

如果您真的需要从 graphdef 文件 (*.pb) 恢复,例如从另一个应用程序加载它,您将需要使用此处的 freeze_graph.py 脚本:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/freeze_graph.py

此脚本将一个 graphdef (.pb) 和一个检查点 (.ckpt) 文件作为输入并输出一个 graphdef 文件,其中包含常量形式的权重(您可以阅读脚本上的文档以获取更多详细信息).