目录

tf流图graph基础知识

默认图

创建显式图

创建多个图

调用tf伪量化接口

插入kernel、层间量化节点


tf流图graph基础知识

默认图

import tensorflow as tf
import numpy as npa = tf.constant(123)
print(a.graph)
print(tf.get_default_graph())

输出:

<tensorflow.python.framework.ops.Graph object at 0x7f32df766668>
<tensorflow.python.framework.ops.Graph object at 0x7f32df766668>

当tensorflow库被加载时,即使用户没有显示地创建一个图,他也会自动创建一个图对象,并将其作为默认的额数据流图

创建显式图

import tensorflow as tf
import numpy as npg= tf.Graph() #创建了一个图对象g
with g.as_default(): #返回一个上下文管理器,使得当前图对象称为当前默认图对象a = tf.constant(123)print(a.graph) #a.graph:获得a所在的图print(tf.get_default_graph()) #get_default_graph:获取当前图对象的句柄

输出:

<tensorflow.python.framework.ops.Graph object at 0x7f71a7a2b710>
<tensorflow.python.framework.ops.Graph object at 0x7f71a7a2b710>

创建多个图

import tensorflow as tf
import numpy as npg1 = tf.Graph()
g2 = tf.Graph()with g1.as_default():a = tf.constant(123)print(a.graph)print(tf.get_default_graph())with g2.as_default():b = tf.multiply(2, 3)print(b.graph)print(tf.get_default_graph())

输出:

<tensorflow.python.framework.ops.Graph object at 0x7f570354fcc0>
<tensorflow.python.framework.ops.Graph object at 0x7f570354fcc0>
<tensorflow.python.framework.ops.Graph object at 0x7f5684813860>
<tensorflow.python.framework.ops.Graph object at 0x7f5684813860>

调用tf伪量化接口

class Quantizationint8(object):#初始化量化参数#n为量化bit数8或16,d是实际小数点位数def __init__(self, n, d):d = float(d)self._quant_min = -(2 ** (n - 1) - 1) * (2 ** d)self._quant_max = (2 ** (n - 1) - 1) * (2 ** d)self._num_bits = nself._narrow = True#利用tf接口函数计算伪量化值,并返回def __call__(self, inputs):return array_ops.fake_quant_with_min_max_vars(inputs, self._quant_min, self._quant_max,num_bits=self._num_bits, narrow_range=self._narrow)

tf接口释义

可参考:https://blog.csdn.net/weixin_36670529/article/details/100560469:

插入kernel、层间量化节点

#g为静态图句柄,producer为全精度浮点数,quant_tensor为上面伪量化值节点的输出
def insert_slim_quant_op(g, producer, name, quant_tensor):Tar_op= []for (op_name, op) in g._nodes_by_name.items():if producer in op.inputs._inputs and name in op_name:Tar_op.append(op)assert len(Tar_op) != 0, "do not have the Tar_op of node {}\n".format(producer.name)with variable_scope.variable_scope(name + '/SlimQuant'):graph_editor.reroute_ts([quant_tensor], [producer], can_modify=Tar_op)

如何插入8bit量化节点(tensorflow)相关推荐

  1. 【 C 】在单链表中插入一个新节点的尝试(二)

    在上篇博文中:[ C ]在单链表中插入一个新节点的尝试(一),我们最后提到了如果向单链表的开头(起始位置)插入一个节点,上篇博文中给出的程序显然完成不了这任务. 这篇博文中,我们将解决这个问题,给出一 ...

  2. 【 C 】在单链表中插入一个新节点的尝试(一)

    根据<C和指针>中讲解链表的知识,记录最终写一个在单链表中插入一个新节点的函数的过程,这个分析过程十分的有趣,准备了两篇博文,用于记录这个过程. 链表是以结构体和指针为基础的,所以结构体和 ...

  3. 灰度值取值范围_一幅灰度图像,用8bit量化,取值范围为[0,255],其中0表示(),255表示()。...

    一幅灰度图像,用8bit量化,取值范围为[0,255],其中0表示(),255表示(). 答: 纯黑色 纯白色 <董西厢>的内容中有一些是征引的<莺莺传>.() 答:√ 智慧职 ...

  4. 属性 元素的内容 创建,插入和删除节点 虚拟节点

    属性 html元素由一个标签和一组称为属性的名/值对组成. HTML 表示HTML文档元素的HTMLElement对象定义了读/写属性.映射了元素的HTML属性.HTMLElement定义了通用的HT ...

  5. 实验四——DPCM编码(1bit、2bit、4bit、8bit量化)

    一.实验要求 本实验的目标是验证DPCM编码的编码效率.首先读取一个256级的灰度图像,采用自己设定的预测方法计算预测误差(本次实验报告使用左向预测),并对预测误差进行8比特均匀量化(基本要求).还可 ...

  6. python 16bit转8bit的工具_wav文件16bit量化比特转8bit量化比特

    将 WAV16bit 量化比特转为 8bit 量化比特 #include #include /* wav 音频头部格式 */ typedefstruct _wave_pcm_hdr { char ri ...

  7. 链表之节点插入、删除节点、遍历打印、遍历释放,static 全局变量

    static关键字声明的全局变量只有本文件内的函数可以引用,其它文件(模块)只能通过该模块提供的接口函数来访问这个static全局变量,而不能直接对其进行操作. 对于一个存储类别声明为static的全 ...

  8. 数据结构,单链表讲解,并使用Java代码实现单链表增删改查【尾部添加,中间插入、修改节点、删除节点、展示链表】

    文章目录 单链表 什么是单链表,链式存储结构详解 链表的节点 头节点,头指针和首元节点 单链表的实现 1.尾部添加新节点 思路分析 代码实现 注意事项 2.按照编号插入新节点 思路分析 代码实现 注意 ...

  9. 记一次H5模型转换TFLite格式并做8bit量化的过程

    本篇记录一次从Keras生成的H5模型转换成TFLite模型的过程.中间踩了一些坑,记录下来以供参考. import tensorflow as tf from tensorflow.python.k ...

最新文章

  1. unity黑白滤镜_unity颜色分级图像滤镜着色器Fast Mobile Color Grading 1.0
  2. 学会这几招设计思维让平面设计上一大台阶
  3. python中frame中的元素怎么识别_python3.6+selenium实现操作Frame中的页面元素
  4. 南陵中学2021高考成绩查询,南陵中学2019高考成绩喜报、一本二本上线情况
  5. 【01背包】洛谷P1282多米诺骨牌
  6. LeetCode 787. K 站中转内最便宜的航班(Dijkstra最短路径 + 优先队列)
  7. 使用Fsharp 探索 Dotnet 平台
  8. LeetCode:每日一题——数位成本和为目标值的最大数字
  9. 世界杯正在成为鸡肋!球迷越来越像傻瓜!
  10. Linux基本指令(1)
  11. 企业邮箱的优势有哪些?使用企业邮箱的好处
  12. SAS和JBOD基础简介
  13. Iphone6+ 手机边框图片
  14. Windows XP 打印机端口LPT1 响应挂死 解决
  15. phonex的使用,二级索引,预分区,调优
  16. 2021年教育改革大动作
  17. anyRTC RTSP转WebRTC方案
  18. 计算机电源整流滤波,整流、滤波电路工作原理
  19. 华为手机助手安卓版_渲美手机恢复助手安卓版安卓版下载-渲美手机恢复助手安卓版app下载...
  20. SIMD 单指令,多数据

热门文章

  1. Learning the Vi Editor, 6th Edition学习笔记(0)
  2. ImCash:币圈英文术语大全
  3. 安卓创建第一个工具类
  4. 这份书单,给那些想学Hadoop大数据、人工智能的人
  5. 【Java NIO的深入研究6】JAVA NIO之Scatter/Gather
  6. 四-1、Cadence Allegro推荐操作方式和视图命令
  7. 331. Verify Preorder Serialization of a Binary Tree
  8. 老李分享:Android -自动化埋点 2
  9. 【linux】学习笔记
  10. SharePoint 2010 在多台前端环境 还原 网站集 问题解析