Protocol Buffer是什么?
是由谷歌推出的,跨语言跨平台的序列化结构数据的可扩展机制。比XML更节约内存,更快,更简单。
SavedModel 格式是什么?
SavedModel包含一个完整的Tensorflow程序,不仅包含权重值,还包含计算。
它不需要原始模型构建代码就可以运行,因此对共享和部署(使用TFLite、TensorFlow.js、TensorFlow Serving或TensorFlow Hub)非常有用。
【备注】
TFLite:在终端(如手机)部署模型,用于推理。
TensorFlow.js: 在浏览器或node.js训练和部署模型。
TensorFlow Serving:在服务器进行模型部署。
TensorFlow Hub:是一个包含经过训练的模型的代码库,模型稍作调整就可以部署到任何设备上。
Assets是什么?
一个SavedModel可能包含任意files, 这些files是使用该SavedModel所必须的,它们被称为assets。比如,a vocabulary file used initialize a lookup table。
SignatureDef是什么?
定义TensorFlow graph中某个运算的signature,用于在创建SavedModel时指定一个function的inputs和outputs。
SignatureDef 结构:
inputs: string 到TensorInfo的映射
outputs: string 到TensorInfo的映射
method_name: a supported method name in the loading tool/system
[注] TensorFlow包含name,type 和 tensor shape的特定信息。当 tensor information 已经存在于图中时,明确的将TensorInfo定义为SignatureDef的一部分是有用的,因为tools可以不用读图就执行签名验证。
Modules:
builder | 创建SavedModel protocol buffer并保存变量和assets |
constants | 用于SavedModel保存和恢复operations的常量 |
experimental | |
loader | 载入 .pb |
main_op | 创建一个main op,该op 定义了构成savedModel载入/恢复operations的一系列序列化op。 |
signature_def_utils | 用于创建和检查signatureDef protos |
tag_constants | 用于SavedModel图的常用tags |
utils |
Classes
Asset | 指代SavedModel中的一个重要文件 |
Builder | 创建SavedModel protocol buffer,保存变量和assets |
SaveOptions | 保存选项 |
Functions
build_signature_def | 创建SignatureDef protocol buffer |
build_tensor_info | 由Tensor创建TensorInfo proto(deprecated) |
classification_signature_def | 由已知的examples 和predictions 创建classifcation signature |
contains_saved_model | 用于检查给出的export dir 是否包含有一个SavedModel |
get_tensor_from_tensor_info | 返回TensorInfo proto所描述的 Tensor或CompositeTensor(deprecated) |
is_valid_signature | 用于确定一个SignatureDef是否可以被TensorFlowServing served |
load | 根据SavedModel的特定tags来载入model(deprecated) |
load_v2 | 从export_dir 载入SavedModel |
main_op_with_restore | 返回main_op, 该op用于初始化variables, tables 并恢复graph(deprecated) |
被contains_saved_model替代,两者作用一样 | |
predict_signature_def | 由给出的inputs 和 outputs创建prediction signature |
regression_signature_def | 由给出的examples 和predictions创建regression signature |
save | 将tf.Module(及其subclasses)的对象保存为 SavedModel格式 |
simple_save | 创建适用于serving的SavedModel |