我是靠谱客的博主 平常大山,最近开发中收集的这篇文章主要介绍.h5文件转.pb文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

       模型训练出来后,一般我们会导出.h5文件和.pb文件。前段时间模型跑完后,我只导出了.h5文件,当今天想要用.pb文件时,又不想重新跑模型,可以用以下代码将.h5文件转换为.pb文件。

from tensorflow.python.framework.convert_to_constants import convert_variables_to_constants_v2
import tensorflow as tf

再定义一个方法函数

def convert_h5to_pb(h5_path, pb_path,  pb_name):
    model = tf.keras.models.load_model(h5_path, compile=False)
    model.summary()
    full_model = tf.function(lambda Input: model(Input))
    full_model = full_model.get_concrete_function(tf.TensorSpec(model.inputs[0].shape, model.inputs[0].dtype))
    
    frozen_func = convert_variables_to_constants_v2(full_model)
    frozen_func.graph.as_graph_def()
    layers = [op.name for op in frozen_func.graph.get_operations()]
    print("-" * 50)
    print("Frozen model layers: ")
    for layer in layers:
        print(layer)
    print("-" * 50)
    print("Frozen model inputs: ")
    print(frozen_func.inputs)
    print("Frozen model outputs: ")
    print(frozen_func.outputs)
    tf.io.write_graph(graph_or_graph_def=frozen_func.graph,
                      logdir=pb_path,
                      name=pb_name,
                      as_text=False)

调用就行,这里放上运行及结果

 

 一般来讲,模型跑完还是将.pb和.h5文件一并导出较好。

最后

以上就是平常大山为你收集整理的.h5文件转.pb文件的全部内容,希望文章能够帮你解决.h5文件转.pb文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部