找不到Tensorflow量化操作

时间:2019-04-30 04:32:22

标签: python tensorflow

尽管在Tensorflow中似乎有很多问题涉及到量化这一主题,但大多数问题都没有答案和/或针对过时的Tensorflow版本。 This questionthat github issue是我最接近问题的解决方案,但没有解决方案。

这是我目前的情况:

  • 我正在Windows 10上使用Tensorflow 1.13。
  • 从Tensorflow的对象检测API(Model Zoo)中微调模型;
  • 在我的 GraphDef 对象上运行TransformGraph(...) python包装器。
  • 尝试运行推断,但在运行session.run(...)时遇到以下错误:
  

未注册任何OpKernel支持这些属性的Op'Dequantize'[...]

该转换极大地减少了模型的磁盘空间(从〜50Mo到〜15Mo),并且可以通过检查 GraphDef 作为文本文件来找到各种量化操作。这是一个示例:

node {
  name: "FirstStageFeatureExtractor/InceptionV2/Mixed_4a/Branch_0/Conv2d_0a_1x1/weights"
  op: "Dequantize"
  input: "FirstStageFeatureExtractor/InceptionV2/Mixed_4a/Branch_0/Conv2d_0a_1x1/weights_quantized_const"
  input: "FirstStageFeatureExtractor/InceptionV2/Mixed_4a/Branch_0/Conv2d_0a_1x1/weights_quantized_min"
  input: "FirstStageFeatureExtractor/InceptionV2/Mixed_4a/Branch_0/Conv2d_0a_1x1/weights_quantized_max"
  attr {
    key: "T"
    value {
      type: DT_QUINT8
    }
  }
  attr {
    key: "mode"
    value {
      s: "MIN_FIRST"
    }
  }
}

那么,我想念什么?我发现了诸如this op loading functionthis old blog post之类的东西,但是这个难题似乎无济于事。我想实现的目标甚至有可能吗?

0 个答案:

没有答案