【问题标题】:Why is quantized graph inference takes much more time than using the original graph?为什么量化图推理比使用原始图需要更多时间?
【发布时间】:2016-09-13 12:08:18
【问题描述】:

我按照tutorial 将我的图量化为 8 位。我不能在这里分享确切的图,但我可以说这是一个简单的卷积神经网络。

当我在原始网络和量化网络上运行 benchmark tool 时,很明显量化网络要慢得多(100 毫秒对 4.5 毫秒)。

原始网络中最慢的节点:

time average [ms]   [%] [cdf%]  [Op]    [Name]
1.198   26.54%  26.54%  MatMul  fc10/fc10/MatMul
0.337   7.47%   34.02%  Conv2D  conv2/Conv2D
0.332   7.36%   41.37%  Conv2D  conv4/Conv2D
0.323   7.15%   48.53%  Conv2D  conv3/Conv2D
0.322   7.14%   55.66%  Conv2D  conv5/Conv2D
0.310   6.86%   62.53%  Conv2D  conv1/Conv2D
0.118   2.61%   65.13%  Conv2D  conv2_1/Conv2D
0.105   2.32%   67.45%  MaxPool pool1

量化网络中最慢的节点:

time average [ms]   [%] [cdf%]  [Op]    [Name]
8.289   47.67%  47.67%  QuantizedMatMul fc10/fc10/MatMul_eightbit_quantized_bias_add
5.398   5.33%   53.00%  QuantizedConv2D conv5/Conv2D_eightbit_quantized_conv
5.248   5.18%   58.18%  QuantizedConv2D conv4/Conv2D_eightbit_quantized_conv
4.981   4.92%   63.10%  QuantizedConv2D conv2/Conv2D_eightbit_quantized_conv
4.908   4.85%   67.95%  QuantizedConv2D conv3/Conv2D_eightbit_quantized_conv
3.167   3.13%   71.07%  QuantizedConv2D conv5_1/Conv2D_eightbit_quantized_conv
3.049   3.01%   74.08%  QuantizedConv2D conv4_1/Conv2D_eightbit_quantized_conv
2.973   2.94%   77.02%  QuantizedMatMul fc11/MatMul_eightbit_quantized_bias_add

这是什么原因? 我使用的是从源代码编译的 tensorflow 版本,没有 gpu 支持。

【问题讨论】:

  • 你在 GPU 上运行吗?如果是,浮点图将被放置在 GPU 上,从而加快速度,但量化操作目前没有 GPU 实现,因此它们将被放置在 CPU 上,从而导致速度减慢。也许看看您的操作位置并告诉我们?

标签: tensorflow quantization


【解决方案1】:

https://github.com/tensorflow/tensorflow/issues/2807

在此处检查 cmets。似乎量化尚未针对 x86 进行优化。我的量化初始 resnet v2 的运行速度也比原来的慢。

【讨论】:

    猜你喜欢
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多