定义 TensorFlow 图形并将其保存到磁盘上。
使用 TensorFlow 的 tf.Graph()
和 tf.Session()
函数来定义和运行 TensorFlow 图形,并使用 tf.train.write_graph()
函数将其保存到磁盘上。
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 图形,并设置转换器的选项。
1 2 3 4 5 6 7 8 9 10 | # 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 模型。
1 2 3 4 5 6 | # 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) |
加载模型执行推理
1 2 3 4 5 6 7 8 9 10 11 | 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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现