且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在 Tensorflow 中如何冻结保存的模型

更新时间:2023-12-02 11:36:34

https://blog.metaflow.fr/tensorflow-how-to-freeze-a-model-and-serve-it-with-a-python-api-d4f3596b3adc 工作正常.

问题是我使用 tensorflow 而不是使用 tflearn 加载模型.

所以...而不是:

tf.train.import_meta_graph(...)

我们这样做:

model.load(...)

TFLearn 知道如何正确解析图.

This is probably a very basic question...

But how do I convert checkpoint files into a single .pb file. My goal is to serve the model using probably C++

These are the files that I'm trying to convert.

As a side note I'm using tflearn with tensorflow.

Edit 1: I found an article that explains how to do this: https://blog.metaflow.fr/tensorflow-how-to-freeze-a-model-and-serve-it-with-a-python-api-d4f3596b3adc

The problem is that I'm stuck with the following error

KeyError: "The name 'Adam' refers to an Operation not in the graph."

How do I fix this?

Edit 2: Maybe this will shed some light on the problem.

The error that I get comes from the regression layer, if I use: sgd. I'll get

KeyError: "The name 'SGD' refers to an Operation not in the graph."

The tutorial on https://blog.metaflow.fr/tensorflow-how-to-freeze-a-model-and-serve-it-with-a-python-api-d4f3596b3adc works just fine.

The problem was that I was loading the model using tensorflow instead of using tflearn.

So... instead of:

tf.train.import_meta_graph(...)

We do:

model.load(...)

TFLearn knows how to parse the graph properly.