小编kla*_*ron的帖子

将 tf1.x saving_model.pb 重新保存到新的 tf2.0 saving_model.pb

我有一个旧的训练有素的 tf1.x 模型(让它成为Model1),用占位符、tf.contrib 等构建。我可以通过从 tf.Session(在 tf1.x 中)中的 .ckpt 检查点恢复图形来使用此模型。我解决了使用Model1 的最简单方法是将其导出:

# tf1.x code
tf.saved_model.simple_save(sess, saved_Model1_path,
    inputs={'input':'Placeholder:0'}, outputs={'output':'.../Sigmoid:0'})
Run Code Online (Sandbox Code Playgroud)

即使在tf2.0中我也可以使用获得的saved_model.pb:

# tf2.0 code
Model1 = tf.saved_model.load(saved_Model1_path)
out = Model1.signatures['serving_default'](tf.convert_to_tensor(data))['output'].numpy()
out = Model1.signatures['serving_default'].prune('Placeholder:0', '.../Sigmoid:0')(data)
out = Model1.prune('Placeholder:0', '.../Sigmoid:0')(data)
Run Code Online (Sandbox Code Playgroud)

现在想象一下,我有一个用 tf2.0 tf.function 编写的前/后处理。

我希望将预处理->模型1->后处理的构建导出到tf2.0中的单个saved_model.pb中。由于Model1的 save_model.pb使用 tf.Placeholders (像这样,我不是这里的专家),所以出现了问题。

同时,我可以轻松地从其他 tf2.0 导出模型构建 saving_model.pb:

import os
import tensorflow as tf
assert tf.__version__[0] == '2'

class M1(tf.Module):
    def __init__(self):
        super(M1, self).__init__()
        self.v = tf.Variable(2.)
    @tf.function(input_signature=[tf.TensorSpec([], tf.float32)])
    def M1_func(self, x):
        return …
Run Code Online (Sandbox Code Playgroud)

python protocol-buffers deep-learning tensorflow tensorflow2.0

5
推荐指数
1
解决办法
4070
查看次数

C中赋值操作的未知行为

我不确切地知道从这种结构中返回真假的案例.你能描述一下吗?Sry,如果是谷歌搜索,我还没找到.

( (struct->param = param_init()) == NULL )
Run Code Online (Sandbox Code Playgroud)

c boolean assignment-operator

0
推荐指数
1
解决办法
106
查看次数