Код Middle Квантование и дистилляция обновлено
Симметричное int8-квантование
Условие
Напишите quantize_int8(w): масштаб s = max|w| / 127 (если все веса нули, s = 1), q = round(w / s) с ограничением [-127, 127], деквантованные веса q·s. Верните [q, s, max_abs_error], где s и ошибка округлены до 6 знаков. Используйте встроенный round Python.
Примеры
quantize_int8([1.27, -0.635, 0]) // [[127, -64, 0], 0.01, 0.005]
quantize_int8([0, 0]) // [[0, 0], 1, 0]
quantize_int8([0.5, -2, 0.01]) // [[32, -127, 1], 0.015748, 0.005748]
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.