Я использую версию 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.
какие-либо материалы для решения этой проблемы?