Как сделать деквентизацию с выходом квантованного tflite?

Я преобразовал файл PB в tflite с квантованием uint8. Я хотел бы знать, как преобразовать вывод из uint8 обратно в float, чтобы предыдущий код все еще мог работать.


person Liao Mist    schedule 08.06.2018    source источник
comment
Предоставьте образец кода.   -  person Anwar    schedule 08.06.2018
comment
Привет, Ляо, на каком языке ты говоришь? (Например, Java на Android? C ++ API через Objective C на iOS?)   -  person miaout17    schedule 08.06.2018
comment
Я использую TensorFlow Lite на Android. коды такие: tflite.run (imgData, labelProbArray); где tflite - переводчик. Данные изображения вводятся и получают многомерный выходной массив. Дальнейшие вычисления я делаю с данными выходного массива. Я хотел бы знать, как теперь использовать оригинальные коды, которые работают с выводом типа float для вывода uint8. Идея состоит в том, чтобы выполнить деквантование с float на uint8, но как это сделать?   -  person Liao Mist    schedule 11.06.2018


Ответы (1)


Обычно диапазон значений с плавающей запятой равен [-1..1], поэтому формула имеет вид

putFloat((uint8Val - 127.5)/127.5)

Но на самом деле это зависит от используемых вами параметров квантования mean и std. Обратите внимание, что недавно tflite переключился на int8 в диапазоне [-128..127].

person Alex Cohn    schedule 24.07.2019