如何将Keras模型保存为多种格式以适配C++/Android/JavaScript
Keras模型跨C++/Android/JavaScript部署方案
完全可行,针对你提到的三个平台,分别推荐对应的模型格式和操作方法:
JavaScript平台
- 首选TensorFlow.js格式:导出后会生成一个描述模型结构的
.json文件,以及若干分片的权重二进制文件(如group1-shard1of3.bin) - 导出步骤:安装
tensorflowjs库后,执行以下代码:import tensorflowjs as tfjs tfjs.converters.save_keras_model(your_keras_model, "./tfjs_exported_model") - 加载使用:在JS代码里通过
tf.loadLayersModel('./tfjs_exported_model/model.json')即可加载模型并执行推理
Android平台
- 首选TensorFlow Lite格式(.tflite):轻量高效,适合移动设备
- 导出步骤:
import tensorflow as tf # 先把Keras模型保存为SavedModel格式 your_keras_model.save("saved_model_dir") # 转换为TFLite格式 converter = tf.lite.TFLiteConverter.from_saved_model("saved_model_dir") tflite_model = converter.convert() # 保存为.tflite文件 with open("model.tflite", "wb") as f: f.write(tflite_model) - 加载使用:在Android项目中引入TensorFlow Lite依赖,通过
Interpreter类加载.tflite文件即可运行推理
C++平台
- 有两种常用选择:
- TensorFlow SavedModel格式:适合需要完整TensorFlow功能的场景,导出直接用
your_keras_model.save("saved_model_dir"),然后用TensorFlow C++ API加载该目录即可 - TensorFlow Lite格式(.tflite):适合轻量、低资源消耗的推理场景,导出方法和Android一致,用TensorFlow Lite C++ API加载
.tflite文件
- TensorFlow SavedModel格式:适合需要完整TensorFlow功能的场景,导出直接用
内容的提问来源于stack exchange,提问作者Naman
相关产品推荐
相关产品推荐

