具有不同特征的不同文件格式,都由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

本文介绍了如何在Tensorflow和Keras之间转换模型格式。.h5文件是Keras的标准保存格式,轻便且易于使用,适合非生产环境。而.pb文件是Tensorflow的二进制格式,适用于生产环境,支持多种语言,并包含元数据。要将Keras的.h5模型转换为.pb,可以使用`keras.experimental.export_saved_model()`。反之,若需将.pb模型转换为.h5,需先加载.pb模型,然后用Keras重新构建模型并保存为.h5。
3404

被折叠的 条评论
为什么被折叠?



