在不同会话中加载 Tensorflow 模型

维克托

我对这一切有点陌生所以你能帮我吗?我试图找到这个问题的答案,但一无所获。

我正在尝试在单独的函数中在 python 中加载 Tensorflow 模型,以便我可以在循环中使用该模型,而不必在 for 循环的每次迭代中加载它。

这是我现在的代码:

def load_network():
    prediction = neural_network_model(x)    
    return (prediction)



def use_neural_network(data, prediction):         
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        saver = tf.train.import_meta_graph(model_name+'.meta')
        saver.restore(sess,model_name)
        pred = sess.run(prediction, feed_dict={x: data})
        pred = np.asarray(pred)
    return pred


if __name__ == '__main__':
    result=[]
    Load= start_network()
    for i in data:
        result.append(use_neural_network(i,Load))

我想得到这样的东西:

def load_network():
    prediction = neural_network_model(x)    
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        saver = tf.train.import_meta_graph(model_name+'.meta')
        saver.restore(sess,model_name)

    return (prediction)



def use_neural_network(data, prediction):         
    with tf.Session() as sess:
        pred = sess.run(prediction, feed_dict={x: data})
        pred = np.asarray(pred)
    return pred


if __name__ == '__main__':
    result=[]
    Load= start_network()
    for i in data:
        result.append(use_neural_network(i,Load))
彼得·索尔丹

通常,您想要实现的目标很容易实现,并且您走在正确的轨道上。在主块中,你有start_network()而不是load_network()在你的第一行。我还建议不要将其Load用作变量名,但这应该不是问题。此外,TensorFlow 会话(sess在您的代码中)应该是一个全局变量,或者您应该在主块或load_network()函数中初始化它,然后将其传递给use_neural_network()函数。当前写入sess两个函数中的两个变量的方式是本地的,因此引用不同的会话。

如果您想避免使用该neural_network_model( x )功能,即在开始时构建模型,您可能希望冻结模型并以这种方式加载它,同时嵌入架构。最容易遵循指南,就像这个

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在tensorflow.js中加载模型

来自分类Dev

TensorFlow:无法加载训练模型

来自分类Dev

在 tensorflow.js 中加载保存模型后使用自定义模型进行错误预测

来自分类Dev

如何在TensorFlow 2.x中加载Tensorflow 1.x保存的模型?

来自分类Dev

如何从GCS存储桶加载TensorFlow模型

来自分类Dev

使用估计器在 Java 中加载/提供 tensorflow 模型时出现问题

来自分类Dev

在Keras中加载模型

来自分类Dev

在Codeigniter中加载模型

来自分类Dev

在 keras 中加载模型

来自分类Dev

使用Tensorflow 2.1加载自定义模型

来自分类Dev

保存和加载Tensorflow模型导致Keras错误

来自分类Dev

加载在线托管的TensorFlow(.h5)模型

来自分类Dev

无法使用TensorFlow和TFLEARN保存或加载模型

来自分类Dev

将预训练的词嵌入加载到 Tensorflow 模型中

来自分类Dev

在 C++ 中使用加载的 tensorflow 模型运行推理

来自分类Dev

针对状态LSTM模型的TensorFlow不同的输入和输出形状

来自分类Dev

在 TensorFlow Lite 中运行 Keras 模型时的不同预测

来自分类Dev

如何在具有tensorflow v2.x后端的keras中加载具有tensorflow v1.x后端的keras模型?

来自分类Dev

恢复TensorFlow模型

来自分类Dev

TensorFlow LSTM生成模型

来自分类Dev

从Tensorflow模型获取权重

来自分类Dev

TensorFlow模型的输入

来自分类Dev

TensorFlow模型语法

来自分类Dev

使用tensorflow的.ckpt模型

来自分类Dev

Tensorflow显示模型摘要

来自分类Dev

简单的Tensorflow线性模型

来自分类Dev

Tensorflow无法保存模型

来自分类Dev

Tensorflow 模型精度

来自分类Dev

将tensorflow 1.xx模型加载到tensorflow 2.xx中