Преобразование графика дает ошибку в Tensorflow

Я использую версию tensorflow 1.1. Я хочу квантизировать модель inception_resnet_v2. Метод квантования с использованием

bazel build tensorflow/tools/quantization/tools:quantize_graph
bazel-bin/tensorflow/tools/quantization/tools/quantize_graph \
  --input=/tmp/classify_image_graph_def.pb \
  --output_node_names="softmax" --output=/tmp/quantized_graph.pb \
  --mode=eightbit

это не дает точных результатов. Для inception_v3 результаты в порядке, но для inception_resnet_v2 они не работают (точность 0% для предсказанных меток классов).

Я узнал, что в моем случае я могу использовать graph_transform для квантования. Как описано в https://github.com/tensorflow/tensorflow/issues/9301#issuecomment-307351419.

с использованием

bazel-bin/tensorflow/tools/graph_transforms/transform_graph 
--in_graph=./frozen_model_inception_resnet_v2.pb 
--out_graph=./quantized_weights_and_nodes_inception_resnet_v2.pb 
--inputs='Placeholder_only' 
--outputs='InceptionResnetV2/Logits/Predictions' 
--transforms='
add_default_attributes
strip_unused_nodes(type=float, shape="1,299,299,3")
remove_nodes(op=Identity, op=CheckNumerics)
fold_constants(ignore_errors=true)
fold_batch_norms
fold_old_batch_norms
quantize_weights
quantize_nodes
strip_unused_nodes
sort_by_execution_order'

Однако я получаю сообщение об ошибке «ValueError: Нет операции с именем QuantizedAdd в определенных операциях» теперь, когда вызывается tf.import_graph_def(graph_def, name='').

Я проверил подобные проблемы и решение того же самого. Однако в моем случае это не помогает, я все еще получаю ошибку. Вот ссылки на похожие вопросы.

Ошибка с 8-битным квантованием в Tensorflow

Установите Tensorflow с поддержкой квантования

В моем случае _quantized_ops.so и kernels/_quantized_kernels.so не создаются после сборки bazel для quantize_graph.

какие-либо материалы для решения этой проблемы?


person Namitha    schedule 12.06.2017    source источник
comment
Какая версия TensorFlow у вас установлена? Попробуйте установить TensorFlow 1.2 и снова запустить инструмент.   -  person mrry    schedule 12.06.2017
comment
@mrry Я использовал тензорный поток 1.1. Я попробовал сейчас с tensorflow 1.2, и я все еще сталкиваюсь с той же ошибкой ValueError: нет операции с именем QuantizedAdd в определенных операциях   -  person Namitha    schedule 13.06.2017
comment
Вам удалось это решить?   -  person Aleksei Petrenko    schedule 02.10.2017
comment
@AlexeyPetrenko: я смог решить ошибку, исключив quantize_weights quantize_nodes Однако результирующий график давал совершенно неточные результаты. В заключение, это не было успешным преобразованием квантования/графа.   -  person Namitha    schedule 04.10.2017