定义 TensorFlow 图形并将其保存到磁盘上。

使用 TensorFlow 的 tf.Graph()tf.Session() 函数来定义和运行 TensorFlow 图形,并使用 tf.train.write_graph() 函数将其保存到磁盘上。

import tensorflow as tf

# Define a TensorFlow graph
graph = tf.Graph()
with graph.as_default():
x = tf.placeholder(tf.float32, shape=[None, 200])
W = tf.Variable(tf.zeros([200, 10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x, W) + b) # Save the graph to disk
with tf.Session(graph=graph) as sess:
tf.train.write_graph(sess.graph_def, './', 'graph.pb', as_text=False)

使用 TensorFlow 的 tf.lite.TFLiteConverter 类加载图形,并设置转换器的选项。

使用 tf.lite.TFLiteConverter.from_frozen_graph() 函数加载保存的 TensorFlow 图形,并设置转换器的选项。

# Load the graph and create a converter
converter = tf.lite.TFLiteConverter.from_frozen_graph(
graph_def_file='./graph.pb',
output_arrays=['Softmax'],
output_dtype=tf.float32.as_datatype_enum,
inference_type=tf.lite.constants.QUANTIZED_UINT8,
mean=[0.],
std=[255.],
optimizations=[tf.lite.Optimize.DEFAULT]
)

可以调用转换器的 convert() 方法将 TensorFlow 图形转换为 TensorFlow Lite 模型。

# Convert the graph to a TensorFlow Lite model
tflite_model = converter.convert() # Save the TensorFlow Lite model to disk
with open('./model.tflite', 'wb') as f:
f.write(tflite_model)

加载模型执行推理

import tflite_runtime.interpreter as tflite

# Load the TensorFlow Lite model and create an interpreter
interpreter = tflite.Interpreter(model_path='./model.tflite', num_threads=4)
interpreter.allocate_tensors() # Perform inference on a sample input
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()
input_data = np.zeros(input_details[0]['shape'], dtype=np.float32)
interpreter

TensorFlow 的 Graph 模式转换的更多相关文章

  1. Linux中的模式转换

    模式转换: 编辑-->输入: i: 在当前光标所在字符的前面,转为输入模式: a: 在当前光标所在字符的后面,转为输入模式: o: 在当前光标所在行的下方,新建一行,并转为输入模式: I:在当前 ...

  2. 如何使用tensorboard查看tensorflow  graph****.pb文件的模型结构

    参考网上的:https://github.com/tensorflow/tensorflow/issues/8854 import tensorflow as tf from tensorflow.p ...

  3. imx lcd HV和DE模式转换

    有些时候拿到的lcd手册中关于芯片的时序使用的DE模式的,而imx6内核中使用的参数设置趋势HV模式,应此就需要将DE模式的参数转化为HV模式. 参考链接: https://community.nxp ...

  4. Linux大小端模式转换函数

    转自 http://www.cnblogs.com/kungfupanda/archive/2013/04/24/3040785.html 不同机器内部对变量的字节存储顺序不同,有的采用大端模式(bi ...

  5. htonl(),htons(),ntohl(),ntons()--大小端模式转换函数

    不同机器内部对变量的字节存储顺序不同,有的采用大端模式(big-endian),有的采用小端模式(little-endian). 大端模式是指高字节数据存放在低地址处,低字节数据放在高地址处. 小端模 ...

  6. 命令和python模式转换

    安装完paython成功之后,就必须了解一下:命令模式和python交互模式 1.我们输入  cmd  之后进入的运行环境就是命令模式 2.在命令模式下输入  python,看到>>> ...

  7. adg的数据传输应用三大模式转换

    1.最大可用性模式(Maximum Availability) 1)该模式提供了仅次于"最大保护模式"的数据保护能力: 2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交 ...

  8. HTML连载30-CSS显示模式&模式转换

    一.CSS显示模式​ 1.在HTML中HTML将所有的标签分为两类,分别是容器类和文本级.在CSS中CSS也将所有的标签分为两类,分别是块级元素和行内元素 2.什么是块级元素呢?什么是行内元素​? ( ...

  9. TensorFlow的图切割模块——Graph Partitioner

    背景 [作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 在经过TensorFlow的Placer策略模块调整之后,下一步就是根据Pla ...

  10. TensorFlow中的Session、Graph、operation、tensor

    TensorFlow中的Session.Graph.operation.tensor

随机推荐

  1. List集合转换成数组

    我现在有个需求:将File集合转换成MultipartFile数组结构 然后我就开始在网上开启了List转换到数组之旅. 首先来看一个例子 ArrayList<String> list=n ...

  2. sm-crypto密码算法库

    一.环境配置 在之前的node.js库配置中,我们已经配置好了node和npm,再次检查配置情况 node -v npm -v npm install --save miniprogram-sm-cr ...

  3. Java实现发红包模拟

    1.先画界面 package com.cmk; import javax.swing.*; import java.awt.*; import java.awt.event.KeyAdapter; i ...

  4. python爬取知乎的网站内容

    #获取知乎的网站内容 import requests #数据请求模块 第三方模块 pip install requests import re #正则表达式 #网页head头 heads = { 'U ...

  5. ORACLE 数据库备份脚本(数据泵2-指定用户)

    #!/bin/bash export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #定义字符集RQ=`date +20%y-%m-%d` #创建数据泵目录directory, ...

  6. iOS开发之检测项目是否包含UIWebView

    应苹果审核要求不能包含UIWebView,所以我们上线之前应该扫一下项目是否包含UIWebView 我们直接打开终端 cd 到工程文件下面 执行命令 grep -r UIWebView .  在扫描结 ...

  7. 转载--文章(感谢陈晨博主分享) 关于 Json.net

    本文出自地址: http://www.cnblogs.com/freshman0216/p/4161800.html#undefined Newtonsoft.Json,一款.NET中开源的Json序 ...

  8. Java-token生成

    1. 引入jar包 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt< ...

  9. gui的服务器和vnc安装测试

    为了OpenStack做连接准备,我们要准备企业中不常用到的gui桌面,和vnc连接去调试 然后开始我们的教程 yum grouplist 列出包组选择要安装的服务 systemctl stop za ...

  10. BASE64编码作业

    BASE64编码作业 什么是BASE64编码 ase64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RF ...