将tensorflow模型打包成PB文件及PB文件读取方式

将TensorFlow模型打包成PB文件及PB文件读取方式

在TensorFlow中,可以将训练好的模型打包成PB文件,以便在其他环境中使用。本文将详细讲解如何将TensorFlow模型打包成PB文件以及如何读取PB文件,并提供两个示例说明。

步骤1:将模型保存为PB文件

在TensorFlow中,可以使用tf.saved_model.simple_save()方法将模型保存为PB文件。可以使用以下代码将模型保存为PB文件:

import tensorflow as tf

# 创建模型
inputs = tf.placeholder(tf.float32, shape=[None, 784], name='inputs')
outputs = tf.placeholder(tf.float32, shape=[None, 10], name='outputs')
hidden = tf.layers.dense(inputs, 256, activation=tf.nn.relu)
logits = tf.layers.dense(hidden, 10, activation=None)
predictions = tf.nn.softmax(logits, name='predictions')

# 保存模型为PB文件
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    tf.saved_model.simple_save(sess, 'model', inputs={'inputs': inputs}, outputs={'predictions': predictions})

在这个代码中,我们首先创建了一个简单的模型,然后使用tf.saved_model.simple_save()方法将模型保存为PB文件。在保存模型时,我们需要指定模型的输入和输出张量,并将其保存在指定的文件夹中。

步骤2:读取PB文件

在TensorFlow中,可以使用tf.saved_model.loader.load()方法读取PB文件。可以使用以下代码读取PB文件:

import tensorflow as tf

# 读取PB文件
with tf.Session() as sess:
    tf.saved_model.loader.load(sess, ['serve'], 'model')
    graph = tf.get_default_graph()
    inputs = graph.get_tensor_by_name('inputs:0')
    predictions = graph.get_tensor_by_name('predictions:0')

在这个代码中,我们使用tf.saved_model.loader.load()方法读取PB文件,并使用tf.get_default_graph()方法获取默认图。然后,我们使用graph.get_tensor_by_name()方法获取输入和输出张量。

示例1:将TensorFlow模型打包成PB文件

以下是将TensorFlow模型打包成PB文件的示例代码:

import tensorflow as tf

# 创建模型
inputs = tf.placeholder(tf.float32, shape=[None, 784], name='inputs')
outputs = tf.placeholder(tf.float32, shape=[None, 10], name='outputs')
hidden = tf.layers.dense(inputs, 256, activation=tf.nn.relu)
logits = tf.layers.dense(hidden, 10, activation=None)
predictions = tf.nn.softmax(logits, name='predictions')

# 保存模型为PB文件
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    tf.saved_model.simple_save(sess, 'model', inputs={'inputs': inputs}, outputs={'predictions': predictions})

在这个示例中,我们创建了一个简单的模型,并使用tf.saved_model.simple_save()方法将模型保存为PB文件。

示例2:读取TensorFlow PB文件

以下是读取TensorFlow PB文件的示例代码:

import tensorflow as tf

# 读取PB文件
with tf.Session() as sess:
    tf.saved_model.loader.load(sess, ['serve'], 'model')
    graph = tf.get_default_graph()
    inputs = graph.get_tensor_by_name('inputs:0')
    predictions = graph.get_tensor_by_name('predictions:0')

在这个示例中,我们使用tf.saved_model.loader.load()方法读取PB文件,并使用graph.get_tensor_by_name()方法获取输入和输出张量。

结语

以上是将TensorFlow模型打包成PB文件及PB文件读取方式的详细攻略,包括将模型保存为PB文件和读取PB文件等步骤,并提供了两个示例。在实际应用中,我们可以根据具体情况来选择合适的方法来保存和读取模型。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:将tensorflow模型打包成PB文件及PB文件读取方式 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Java日常练习题,每天进步一点点(51)

    Java日常练习题是提高Java编程能力的有效途径。本文将介绍Java日常练习题,包括两个示例说明。 Java日常练习题 以下是Java日常练习题的一些示例: 编写一个Java程序,计算1到100的和。 编写一个Java程序,判断一个数是否为素数。 编写一个Java程序,将一个字符串反转。 编写一个Java程序,找出一个数组中的最大值和最小值。 编写一个Ja…

    tensorflow 2023年5月16日
    00
  • TensorBoard 计算图的查看方式

    TensorBoard 计算图的查看方式 在 TensorFlow 中,我们可以使用 TensorBoard 查看计算图。本文将详细讲解如何使用 TensorBoard 查看计算图,并提供两个示例说明。 示例1:使用 TensorBoard 查看计算图 在 TensorFlow 中,我们可以使用 tf.summary.FileWriter() 函数将计算图写…

    tensorflow 2023年5月16日
    00
  • tensorflow note

    #!/usr/bin/python # -*- coding: UTF-8 -*- # @date: 2017/12/23 23:28 # @name: first_tf_1223 # @author:vickey-wu from __future__ import print_function import tensorflow as tf import …

    tensorflow 2023年4月8日
    00
  • tensorflow 应用fizzbuzz

    60个字符解决fizzbuzz问题: for x in range(101):print”fizz”[x%3*4::]+”buzz”[x%5*4::]or x 下面是用tensorflow解决,跟上面的比起来非常复杂,但很有意思,而且适合学习tensorflow,发散一下思维,拓展tensorflow的应用范围。 tensorflow 应用fizzbuzz …

    tensorflow 2023年4月8日
    00
  • 基于tensorflow指定GPU运行及GPU资源分配的几种方式小结

    基于TensorFlow指定GPU运行及GPU资源分配的几种方式小结 在TensorFlow中,可以使用多种方式来指定GPU运行和分配GPU资源,以满足不同的需求。本文将详细介绍几种常用的方式,并提供两个示例说明。 指定GPU运行 在TensorFlow中,可以使用以下代码指定GPU运行: import tensorflow as tf # 指定GPU运行 …

    tensorflow 2023年5月16日
    00
  • tensorflow ImportError: libmklml_intel.so: cannot open shared object file: No such file or directory

    通过whl文件安装 tensorflow,显示缺少libmklml_intel.so 需要1)安装intel MKL库https://software.intel.com/en-us/articles/intel-mkl-dnn-part-1-library-overview-and-installation 2)将/usr/local/lib添加到 ~/.…

    tensorflow 2023年4月6日
    00
  • TensorFlow 解决“ImportError: Could not find ‘cudnn64_6.dll’”

    1. 问题描述 运行一个基于Tensorflow的代码时报错,如下所示: ImportError: Could not find ‘cudnn64_6.dll’. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environ…

    2023年4月8日
    00
  • 好用的函数,assert,random.sample,seaborn tsplot, tensorflow.python.platform flags 等,持续更新

    python 中好用的函数,random.sample等,持续更新 random.sample    random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列 import random list = [1, 2, 3, 4, 5, 6, 7, 8, 9…

    tensorflow 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部