tensorflow数据结构-MetaInfoDef
计算图结构
- MetaGraphDef(计算图)
- MetaInfoDef(运算方法)
- OpList(运算方法集合)
- OpDef(运算方法)
- ArgDef(输入,输出)
- AttrDef(属性)
- OpDef(运算方法)
- OpList(运算方法集合)
- GraphDef (连接结构)
- NodeDef(节点)
- SaverDef (模型持久化)
- CheckpointFormatVersion(模型定义使用的版本)
- map<string, CollectionDef> (集合)
- NodeList(节点value)
- BytesList(序列化value)
- map<string, SignatureDef>(签名)
- AssetFileDef (权重值)
- MetaInfoDef(运算方法)
MetaInfoDef
文章目录
- MetaInfoDef
- OpList
- OpDef
- ArgDef
- AttrDef
- OpDeprecation
- 案例
记录计算图中所有是使用到的运算方法
message MetaInfoDef {// 用户指定的版本字符串 可以是模型和修订的名称,// 此模型已经过训练的步骤等。string meta_graph_version = 1;// 此graph_def的生产者使用的(运算方法)OpDefs的副本。// 一个运算方法在这里只能出项一次。// 删除了graph_def中未使用的描述和操作。OpList stripped_op_list = 2;// 序列化的protobuf。 可以是创建或修改此元图的时间,也可以是模型的名称。google.protobuf.Any any_info = 3;// 用户在meta_graph上提供了标签,并包含了graph_def。// MetaGraphDefs应标记其功能或用例。// 例子:“train”,“serve”,“gpu”,“tpu”等。// 这些标签使加载程序能够访问适合于特定用例或运行时环境的MetaGraph。repeated string tags = 4;// 由框架指定string tensorflow_version = 5;// 由框架指定string tensorflow_git_version = 6;// 一个标志,表示是否已从此graph_def中的节点中删除了默认值的attrs。bool stripped_default_attrs = 7;}
OpList
定义运算集合
一个OpDefs的集合,集合意味着没有重复的
message OpList {repeated OpDef op = 1;
};
OpDef
定义运算结构的具体实现
message OpDef {string name = 1;// 可重复的ArgDef结构的输入repeated ArgDef input_arg = 2;// 可重复的ArgDef结构的输出repeated ArgDef output_arg = 3;// 记录上面输入,输出中tyep_attr属性的具体意义repeated AttrDef attr = 4;// 可以根据计算图的版本选择使用使用OpDeprecation deprecation = 8;// 对此运算方法OP做的一行可读的描述。string summary = 5;// 更加具体的op描述解释string description = 6;// 该操作可以参与哪些优化,以下都时标识是否可以进行某一种优化// op是否可以互换进行,比如 ("op(a,b) == op(b,a)" for all inputs)bool is_commutative = 18;// 是否能进行赋值bool is_aggregate = 16; // for things like add// 是否有状态依赖bool is_stateful = 17; // for things like variables, queue// 是否允许不初始化进行bool allows_uninitialized_input = 19; // for Assign, etc.
};
ArgDef
定义节点输入,输出的结构
message ArgDef {string name = 1;// 人类可读的描述。string description = 2;// 描述input/output的一个或多个张量的类型DataType type = 3;string type_attr = 4; // if specified, attr must have type "type"string number_attr = 5; // if specified, attr must have type "int"string type_list_attr = 6;bool is_ref = 16;};
AttrDef
定义属性结构的具体实现
message AttrDef {string name = 1;string type = 2;AttrValue default_value = 3;string description = 4;bool has_minimum = 5;int64 minimum = 6;AttrValue allowed_values = 7;}
OpDeprecation
定义弃用结构的具体实现
message OpDeprecation {// 第一个GRODDEF版本,其中OP是不允许的。int32 version = 1;// 解释为什么它被弃用,而用什么来代替。string explanation = 2;
};
案例
下面以Add运算为例子, 这个运算有2给输入和1给输出,输入和输出属性都指定了属性type_attr, 并且这个属性的值为T。在OpDef中,必须要出现name,为T的属性。
op{name:"Add"input_arg {name:"x"type_attr:"T"}input_arg {name:"y"type_attr:"T"}output_arg {name:"z"tpye_attr:"T"}attr {name:"T"type:"type"allowed_values {list {type:DT_HALFtype:DT_FLOAF}}}
}
tensorflow数据结构-MetaInfoDef相关推荐
- python数学建模基础教程_Python 3破冰人工智能 从入门到实战 大学生数学建模竞赛数学建模算法与应用教程 机器学习深度学...
第 1章 从数学建模到人工智能1 1.1 数学建模 1 1.1.1 数学建模与人工智能 1 1.1.2 数学建模中的常见问题 4 1.2 人工智能下的数学 12 1.2.1 统计量 ...
- python3破冰人工智能pdf 微盘_Python 3破冰人工智能 从入门到实战
<Python 3破冰人工智能 从入门到实战>简介: 内容简介: 本书创新性地从数学建模竞赛入手,深入浅出地讲解了人工智能领域的相关知识.本书内容基于Python 3.6,从人工智能领域的 ...
- 中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!(附免费下载)...
编辑:深度学习冲鸭公众号 学习深度学习以及面试肯定离不开下面的5个重要的资料,更何况是中文版! 获得方式: 1. 关注[深度学习冲鸭]公众号 2. 在[深度学习冲鸭]公众号后台回复 五件套 即可. 1 ...
- 中文版!学习 TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!(附免费下载)...
学习深度学习以及面试肯定离不开下面的5个重要的资料,更何况是中文版! 获得方式: 1. 关注[AI有道]公众号 2. 在[AI有道]公众号后台回复 五件套 即可. 1. TensorFlow深度学习 ...
- 学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!附下载链接!...
学习深度学习以及面试肯定离不开下面的5个重要的资料,更何况是中文版! 资料领取: 扫码后台回复:3070,即可获取电子版 内容简介 1. TensorFlow深度学习 书籍特点 ...
- tensorflow:图(Graph)的核心数据结构与通用函数(Utility function)
Tensorflow一些常用基本概念与函数(2) 1. 图(Graph)的核心数据结构 tf.Graph.__init__:建立一个空图: tf.Graph.as_default():一个将某图设置为 ...
- Tensorflow模型持久化与恢复
Tensorflow模型 简单点说,一个tensorflow模型包含了神经网络的结构(graph)和通过训练得到的一系列神经网络的参数. 神经网络的结构(graph)即神经网络的节点(nodes)及其 ...
- TensorFlow常用Python扩展包
TensorFlow常用Python扩展包 TensorFlow 能够实现大部分神经网络的功能.但是,这还是不够的.对于预处理任务.序列化甚至绘图任务,还需要更多的 Python 包. 下面列出了一些 ...
- 【目标检测】(8) ASPP改进加强特征提取模块,附Tensorflow完整代码
各位同学好,最近想改进一下YOLOV4的SPP加强特征提取模块,看到很多论文中都使用语义分割中的ASPP模块来改进,今天用Tensorflow复现一下代码. YOLOV4的主干网络代码可见我上一篇文章 ...
最新文章
- JavaScript 设计模式的七大原则(未完成)
- mysql5717开发设置怎么调回来_MYSQL5.7.17设置初始密码(转)
- 视图控制器及屏幕旋转
- python字典内存分析_(一)Python入门-3序列:18字典-核心底层原理-内存分析-查找值对象过程...
- 解决Keepalived脚本启动时warning、Unsafe
- 安卓手机获取基站信息
- php代码加注释_怎么在php中添加注释
- 视觉SLAM笔记(26) 状态估计问题
- Java讲课笔记05:运算符与表达式
- 定时开关机cmd命令
- SLAM--LSD_SLAM在高版本系统中运行(ubuntu20.04 ROS-noetic)
- malloc、calloc、realloc函数讲解
- 从零开始的计网学习——计算机网络概述(计网入门就看这篇!)
- LICEcap:GIF屏幕录制工具
- ElasticSearch健康检查localhost:9200 not reachable
- 106短信平台备受欢迎的原因
- 教你免费且快速地搭建个人网站
- STM32定时器实现100毫秒保存一次数据到SD卡
- 编译原理之简单语法分析器(c语言)
- Java实现校园商城后台管理系统
热门文章
- C# Stopwatch实现精确计时
- NXP推出新款UHF芯片UCODE 8,灵敏度更高
- 我说CMMI2.0 之供应商合同管理
- 美国最值得关注十大创业孵化器:TechStars居首
- 【Excel技巧】Excel技巧之逆透视表的使用,办公神器,加班终结者
- iccv2020论文汇总_【论文相关】历年CVPR、ICCV、ECCV论文合集下载
- 远见者稳进 | FBEC2020第五届金陀螺奖,来了!
- grub search
- HDFS DataNode问题-_COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There
- 宠物商店管理系统(java)