2016-07-14 50 views
2

我一直在試驗TensorFlow中提供的新的8-bit quantization feature。我可以運行在博客文章中給出的例子(量化googlenet),沒有任何問題,它適用於我!Tensorflow中的8位量化錯誤

現在,我想申請相同的更簡單的網絡。所以我使用了CIFAR-10的預訓練網絡(在Caffe上進行訓練),提取參數,在張量流中創建相應的圖形,用這些預先訓練的權重初始化權重,最後將其保存爲GraphDef對象。有關完整步驟,請參閱此IPython Notebook

現在我申請的8比特量化與tensorflow腳本如皮特守望者博客中提到:

bazel-bin/tensorflow/contrib/quantization/tools/quantize_graph --input=cifar.pb --output=qcifar.pb --mode=eightbit --bitdepth=8 --output_node_names="ArgMax" 

現在我想跑這個量化的網絡上的分類。因此,我將新的qcifar.pb加載到張量流會話中並傳遞了圖像(與將其傳遞給原始版本的方式相同)。完整的代碼可以在此IPython Notebook.

中查到,但是你可以在看到底,我收到以下錯誤:

NotFoundError: Op type not registered 'QuantizeV2'

任何人都可以建議我缺少什麼嗎?

回答

3

由於量化的操作數和內核處於contrib狀態,因此您需要將它們明確地加載到您的python腳本中。有這樣一個例子中the quantize_graph.py script itself

from tensorflow.contrib.quantization import load_quantized_ops_so from tensorflow.contrib.quantization.kernels import load_quantized_kernels_so

這是值得我們更新文檔提!

+0

謝謝。但我得到一個importError。我正在使用pip安裝使用tensorflow 0.9。在安裝過程中還有其他的事情可以導入這些模塊嗎? –

+0

雖然我不能像你那樣導入,但我做了一些小的工作,正如我在這裏所解釋的:** http://stackoverflow.com/a/38495999/1134940**。現在一切正常。謝謝。我真的很想看到關於文檔的更多細節,我也想嘗試其他量化方法。 –

+0

我應該包含哪些文件才能使用iOS的C接口工作? – Senad