模型保存的格式.h5和.pb对比

  • 将Tensorflow(.pb)格式转换为Keras(.h5)
  • 如何将Keras .h5导出到tensorflow .pb?
  • 如何将 Keras .h5 导出到 tensorflow .pb?

具有不同特征的不同文件格式,都由tensorflow用于保存模型(.h5特别是keras).

.h5是一种存储结构化数据(在这种情况下是神经网络)的方法,目前已由Google概述.

简单的class包含两个字段,您可以使用多种受支持的语言(例如C++Go)之一将其加载,解析,修改并以二进制格式发送给其他人.

  • 解析力极小且有效(与说出.xml相比),因此通常用于网络上的数据传输
  • 当您要将模型投入生产时(例如推论),由 Tensorflow的服务使用通过网络)
  • 不可知的语言-二进制格式可以由多种语言(Java,Python,Objective-C和C ++等)读取
  • tf2.0开始建议使用,您可以参阅官方序列化指南
  • 保存各种元数据(使用keras模型的情况下,优化程序,损失等)
  • SavedModel在概念上比单个文件更难掌握
  • 创建weights所在的文件夹
 

keras最初用于保存模型(keras现在正式是tensorflow的一部分)

.pb相比,它不那么通用,更面向数据",编程更少.

  • 用于保存巨型数据(因此某些神经网络很适合)
  • 常用文件保存格式
  • 所有内容都保存在一个文件中(权重,损失,与keras一起使用的优化程序等)
  • 不能与Tensorflow Serving一起使用,但是您可以通过keras.experimental.export_saved_model(model, 'path_to_saved_model')
  • 轻松将其转换为.pb 

如果不需要生产模型(或者距离合理很远),请使用较简单的模型(.h5).如果要进行生产,或者只想在所有tensorflow提供的工具中采用单一格式进行标准化,则使用.pb

你可能感兴趣的:(NLP,tensorflow2.x,keras,tensorflow,深度学习)