2016-07-14 2 views
2

TensorFlow에서 사용할 수있는 새로운 8-bit quantization feature을 실험 해 왔습니다. 나는 어떤 문제도없이 블로그 포스트 (googlenet의 양자화)에 주어진 예제를 실행할 수 있고 그것은 나에게 잘 작동한다 !!!Tensorflow의 8 비트 퀀 타이즈 오류

이제 더 간단한 네트워크에도 동일하게 적용하고 싶습니다. 그래서 CIFAR-10 (Caffe에 대해 교육받은)을 위해 미리 훈련 된 네트워크를 사용하고, 매개 변수를 추출하고, tensorflow에서 해당 그래프를 생성하고,이 사전 훈련 된 가중치로 가중치를 초기화하고 마지막으로 GraphDef 객체로 저장했습니다. 전체 절차는 IPython Notebook을 참조하십시오.

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

지금 나는이 양자화 된 네트워크의 분류를 실행하고 싶었 다음 피트 워든의 블로그에 언급 한 바와 같이

는 지금은 tensorflow 스크립트를 사용하여 8 비트 양자화를 적용했다. 그래서 새로운 qcifar.pb을 tensorflow 세션에로드하고 이미지를 전달했습니다 (원래 버전으로 전달한 것과 같은 방식으로). 전체 코드는 다음과 IPython Notebook.

에서 찾을 수 있습니다하지만 당신은 마지막에 볼 수 있듯이, 나는 다음과 같은 오류가 점점 오전 :

NotFoundError: Op type not registered 'QuantizeV2'

아무도 내가 여기에 놓친 거지 무엇을 제안 할 수 있습니까?

답변

3

양자화 된 작업과 커널이 contrib에 있기 때문에 파이썬 스크립트에 명시 적으로로드해야합니다. 그 예 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