关于tensorflow模型保存几种格式

    技术2025-09-04  41

    ckpt

    常规模型保存,模型结构,数据,运算图分开保存。常用在训练阶段使用。

    h5

    keras前端保存的模型格式,有两种,纯数据和数据+网络结构,可以被tf调用。可以用软件查看内部数据,并进行修改。

    pb

    用于移动端端/server端都有使用,包括结构+数据,不可以修改内部,也就是为什么叫做凝固图了。可以做量化模型处理,目前只支持int8和float16两种格式量化。

    pbtxt

    pb的扩展格式,可以被修改内容,用记事本就可以修改。

    tflite

    一种实验的数据格式,也叫轻量化模型,多用于手机,平板,树莓派之类的边缘设备。可以用轻量级的`tflite_runtime`包来调用。

    支持int8和float16两种格式量化。

    说明  

    pb和tflite都可以做模型量化,pb量化用到tensorflow-serving服务器,好像量化后,只能在linux短的tf调用,而tflite轻量化-量化用到移动端,在ios系统上调用好像要经过处理,要不会报错。

    import tensorflow as tf   saved_model_dir = "./pb_model"   converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir,                                                      input_arrays=["inputs"],                                                      input_shapes={"inputs": [1, 784]},                                                      output_arrays=["predictions"]) converter.optimizations = ["DEFAULT"]   converter.post_training_quantize = True  # 就这个行 tflite_model = converter.convert() open("tflite_model_v3/eval_graph.tflite", "wb").write(tflite_model)

     

    Processed: 0.011, SQL: 9