SignatureDef的作用
本篇文章主要讲解
SignatureDef
接口的作用
概述
SignatureDef
的主要作用是定义输出和输入接口协议。他在构建SaveModel
时,被封装到二进制文件中。
SignatureDef结构
SignatureDef
包含三个部分:
- input:封装着
TensorInfo
信息的字典 - outputs :和上面一样,封装着
TensorInfo
信息的字典 method_name
:在加载的工具和系统中,对应着方法名。(我的理解是可能存在多个前面,用method_name
指定一个唯一的key)注意:构建
SignatureDef
对象的时候,需要指定tensor
的名字,数据类型以及它的形状。其实这些数据已经存放在graph中了,显示的指定这些信息是非常有用的,有了它,客户端就可以不需要去读取整个graph,就可以进行一些参数校验的工作了
相关的常量和工具
为了代码可以更好的复用,一般情况下都会使用和SignatureDef
相关的常量。这些常量都会被tensorflow中跨语言和跨平台的支持,特别是在c++、Python环境