0
私はこのグラフを8ビットに量子化するためにtutorialに従っています。ここで正確なグラフを共有することはできませんが、単純な畳み込みニューラルネットワークだと言えます。なぜ量子化されたグラフの推論は、元のグラフを使用するよりもはるかに時間がかかりますか?
オリジナルのネットワークと量子化されたネットワークでbenchmark toolを実行すると、量子化されたネットワークがはるかに遅いことがわかります(100ミリ秒vs. 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
その理由は何ですか? 私は、gpuサポートなしで、ソースからコンパイルされたテンソルフローバージョンを使用しています。
GPUで実行していますか?もしあなたがそうであれば、浮動グラフはGPU上に置かれてスピードアップしますが、現在のところ、QuantizedオペレーションはGPU実装を持たないため、CPU上に置かれて減速します。おそらくあなたのopの配置を見て、私たちに教えてください? – suharshs