张量流的。 pb 格式和keras的 .h5 格式存储模型之间的主要区别是什么?有什么理由选择一个?
答案 0 :(得分:3)
具有不同特征的不同文件格式,tensorflow
都使用它们来保存模型(.h5
特别是keras
用于保存模型)。
.pb
-protobuf 这是一种存储结构化数据(在这种情况下为神经网络)的方法,项目为open source,目前由Google概述。
person {
name: "John Doe"
email: "jdoe@example.com"
}
包含两个字段的简单class
,您可以用多种支持的语言(例如C++
,Go
)将其加载,解析,修改并以二进制格式发送给其他人。
.xml
相比),因此通常用于网络上的数据传输tf2.0
开始建议使用,您可以看到official serializing guide keras
的模型,则可节省优化工具,损失等)SavedModel
在概念上比单个文件更难掌握weights
所在的文件夹您可以阅读有关here这种格式的信息
.h5
-HDF5二进制数据格式 keras
最初用于保存模型(keras
现在是tensorflow
的正式组成部分)。与.pb
相比,它不那么通用,更“面向数据”,程序设计也更少。
keras
一起使用的优化程序等)Tensorflow Serving
一起使用,但您可以通过.pb
将该变量简单地转换为keras.experimental.export_saved_model(model, 'path_to_saved_model')
如果不需要生产模型(或者距离合理很远),请使用较简单的模型(.h5
。如果您要进行生产,或者只是想在所有.pb
提供的工具中使用单一格式进行标准化,则使用tensorflow
。