Вы не делаете то, что, как вы думаете, вы делаете, я объясню.Если вы хотите взять предварительно обученную модель и квантовать ее, вы должны добавлять весы после каждой операции, которая включает весовые коэффициенты, давайте возьмем, например, операцию свертки.Поскольку мы знаем, что операция свертки является линейной в моем объяснении, я буду игнорировать смещение для простоты (добавить его относительно легко), Давайте предположим, что X - это наш вход, Y - это наш вывод, а W - это вес, свертка может быть записана как:
Y=W*X
где '*' представляет операцию свертки, то, что вы в основном делаете, - это взятие весов и умножение их на некоторый скаляр (давайте назовем его 'a') и смещение их на другой скаляр (давайтеназовите это 'b'), поэтому в вашей модели вы используете W ', где: W'= Wa+b
Итак, если мы вернемся к операции свертки, мы получим, что в вашей квантованной сети вы в основном выполните следующую операцию: Y' = W'*X = (Wa+b)*X
Поскольку свертка линейная, мы получаем: Y' = a(W*X) + b*X'
Не забывайте, что в вашей сети вы хотите получать Y, а не Y 'на выходе свертки, поэтому вы должны выполнить сдвиг + повторное масштабирование, чтобы получить правильное значение.ответ.
Итак, после этого объяснения (которое, я надеюсь, было достаточно ясным), я надеюсь, вы сможете понять, в чем проблема в вашей сети, йоВы делаете это масштабирование и переходите ко всем весам, и вы никогда не компенсируете его, я думаю, что вы путаетесь в том, что вы читали статьи, которые обучали модели в квантованном режиме с самого начала и не брали предварительно обученную модель, квантовали ее.
Для вашей проблемы я думаю, что инструмент преобразования тензорного потока может помочь, взгляните на: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/graph_transforms/README.md
Если вы хотите узнать больше о квантовании предварительно обученной модели, вы можете найти более подробную информацию в (для получения дополнительной информации простоперейдите на scholar.google.com: https://www.tensorflow.org/lite/performance/post_training_quantization