2016-07-14 15 views
2

TensorFlowで利用可能な新しい8-bit quantization featureを試しています。私はブログの投稿(googlenetの量子化)の問題をせずに与えられた例を実行することができ、それは私のために正常に動作します!Tensorflowでの8ビット量子化エラー

ここでは、よりシンプルなネットワークにも同じものを適用したいと考えています。 CIFAR-10(Caffeの訓練を受けています)のための事前訓練を受けたネットワークを使用し、そのパラメータを抽出し、対応するグラフをテンソルフローで作成し、この訓練された重みで初期化し、最後にGraphDefオブジェクトとして保存しました。完全な手順についてはIPython Notebookを参照してください。ピート・ウォーデンのブログで述べたように

は、今私はtensorflowスクリプトで8ビットの量子化を適用:

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

量子化されたopsとカーネルが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インストールを使用してテンソルフロー0.9を使用しています。これらのモジュールをインポートするためにインストール中に何か他のことはありますか? –

+0

私はあなたのようにインポートすることはできませんでしたが、私はここで説明したように、小さな仕事をしました:** http://stackoverflow.com/a/38495999/1134940**。今はすべて正常に動作します。ありがとうございました。ドキュメンテーションの詳細を見たいと思っています。また、他の量子化方法を試してみたいと思います。 –

+0

iOSのCインターフェイスを使用して動作させるには、どのファイルを含める必要がありますか? – Senad

関連する問題