Понимание обнаружения объектов Tensorflow Команда квантования UINT8 - PullRequest
0 голосов
/ 31 марта 2020

Я пытался квантовать обученную модель, используя API обнаружения объектов, и она успешно работала после документа Google. Чтобы преобразовать замороженный график в квантованный файл UINT8 tflite, я использовал команду

tflite_convert \
  --output_file="${OUTPUT_DIR}/output_tflite_graph.tflite" \
  --graph_def_file="${OUTPUT_DIR}/tflite_graph.pb" \
  --inference_type=QUANTIZED_UINT8 \
  --input_arrays="${INPUT_TENSORS}" \
  --output_arrays="${OUTPUT_TENSORS}" \
  --mean_values=128 \
  --std_dev_values=128 \
  --input_shapes=1,300,300,3 \
  --change_concat_input_ranges=false \
  --allow_nudging_weights_to_use_fast_gemm_kernel=true \
  --allow_custom_ops

При квантовании я установил std_dev_values ​​равным 128, а std_dev_values ​​равным 128. Согласно другому вопросу здесь: Понимание tf.contrib. Параметры квантования lite.TFLiteConverter Этот диапазон соответствует диапазону значений входного изображения [-1,1]

Однако мой вывод будет работать только тогда, когда я использую значение входного изображения в диапазоне [0-255] ! Я снова запутался в том, что я должен установить для std_dev_values ​​ и mean_values ​​ для других обстоятельств.

Вот мой проект и код вывода: https://github.com/zye1996/edgetpu_ssd_lpr

Я подозреваю, что API обнаружения объектов имеет предварительную обработку для масштабирования входных данных, но я не могу найти ссылки и не знаю, что вызывает конфликт. Пожалуйста, помогите!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...