计算图结构

  1. MetaGraphDef(计算图)

    • MetaInfoDef(运算方法)

      • OpList(运算方法集合)

        • OpDef(运算方法)

          • ArgDef(输入,输出)
          • AttrDef(属性)
    • GraphDef (连接结构)
      • NodeDef(节点)
    • SaverDef (模型持久化)
      • CheckpointFormatVersion(模型定义使用的版本)
    • map<string, CollectionDef> (集合)
      • NodeList(节点value)
      • BytesList(序列化value)
    • map<string, SignatureDef>(签名)
    • AssetFileDef (权重值)

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相关推荐

  1. python数学建模基础教程_Python 3破冰人工智能 从入门到实战 大学生数学建模竞赛数学建模算法与应用教程 机器学习深度学...

    第 1章  从数学建模到人工智能1 1.1  数学建模  1 1.1.1  数学建模与人工智能  1 1.1.2  数学建模中的常见问题  4 1.2  人工智能下的数学  12 1.2.1  统计量 ...

  2. python3破冰人工智能pdf 微盘_Python 3破冰人工智能 从入门到实战

    <Python 3破冰人工智能 从入门到实战>简介: 内容简介: 本书创新性地从数学建模竞赛入手,深入浅出地讲解了人工智能领域的相关知识.本书内容基于Python 3.6,从人工智能领域的 ...

  3. 中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!(附免费下载)...

    编辑:深度学习冲鸭公众号 学习深度学习以及面试肯定离不开下面的5个重要的资料,更何况是中文版! 获得方式: 1. 关注[深度学习冲鸭]公众号 2. 在[深度学习冲鸭]公众号后台回复 五件套 即可. 1 ...

  4. 中文版!学习 TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!(附免费下载)...

    学习深度学习以及面试肯定离不开下面的5个重要的资料,更何况是中文版! 获得方式: 1. 关注[AI有道]公众号 2. 在[AI有道]公众号后台回复 五件套 即可. 1. TensorFlow深度学习 ...

  5. 学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!附下载链接!...

    学习深度学习以及面试肯定离不开下面的5个重要的资料,更何况是中文版! 资料领取: 扫码后台回复:3070,即可获取电子版 内容简介 1. TensorFlow深度学习 书籍特点             ...

  6. tensorflow:图(Graph)的核心数据结构与通用函数(Utility function)

    Tensorflow一些常用基本概念与函数(2) 1. 图(Graph)的核心数据结构 tf.Graph.__init__:建立一个空图: tf.Graph.as_default():一个将某图设置为 ...

  7. Tensorflow模型持久化与恢复

    Tensorflow模型 简单点说,一个tensorflow模型包含了神经网络的结构(graph)和通过训练得到的一系列神经网络的参数. 神经网络的结构(graph)即神经网络的节点(nodes)及其 ...

  8. TensorFlow常用Python扩展包

    TensorFlow常用Python扩展包 TensorFlow 能够实现大部分神经网络的功能.但是,这还是不够的.对于预处理任务.序列化甚至绘图任务,还需要更多的 Python 包. 下面列出了一些 ...

  9. 【目标检测】(8) ASPP改进加强特征提取模块,附Tensorflow完整代码

    各位同学好,最近想改进一下YOLOV4的SPP加强特征提取模块,看到很多论文中都使用语义分割中的ASPP模块来改进,今天用Tensorflow复现一下代码. YOLOV4的主干网络代码可见我上一篇文章 ...

最新文章

  1. JavaScript 设计模式的七大原则(未完成)
  2. mysql5717开发设置怎么调回来_MYSQL5.7.17设置初始密码(转)
  3. 视图控制器及屏幕旋转
  4. python字典内存分析_(一)Python入门-3序列:18字典-核心底层原理-内存分析-查找值对象过程...
  5. 解决Keepalived脚本启动时warning、Unsafe
  6. 安卓手机获取基站信息
  7. php代码加注释_怎么在php中添加注释
  8. 视觉SLAM笔记(26) 状态估计问题
  9. Java讲课笔记05:运算符与表达式
  10. 定时开关机cmd命令
  11. SLAM--LSD_SLAM在高版本系统中运行(ubuntu20.04 ROS-noetic)
  12. malloc、calloc、realloc函数讲解
  13. 从零开始的计网学习——计算机网络概述(计网入门就看这篇!)
  14. LICEcap:GIF屏幕录制工具
  15. ElasticSearch健康检查localhost:9200 not reachable
  16. 106短信平台备受欢迎的原因
  17. 教你免费且快速地搭建个人网站
  18. STM32定时器实现100毫秒保存一次数据到SD卡
  19. 编译原理之简单语法分析器(c语言)
  20. Java实现校园商城后台管理系统

热门文章

  1. C# Stopwatch实现精确计时
  2. NXP推出新款UHF芯片UCODE 8,灵敏度更高
  3. 我说CMMI2.0 之供应商合同管理
  4. 美国最值得关注十大创业孵化器:TechStars居首
  5. 【Excel技巧】Excel技巧之逆透视表的使用,办公神器,加班终结者
  6. iccv2020论文汇总_【论文相关】历年CVPR、ICCV、ECCV论文合集下载
  7. 远见者稳进 | FBEC2020第五届金陀螺奖,来了!
  8. grub search
  9. HDFS DataNode问题-_COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There
  10. 宠物商店管理系统(java)