Код Junior Оптимизаторы и обучение обновлено
Gradient clipping по глобальной норме
Условие
Градиенты всех параметров даны списком векторов grads. Напишите clip_by_norm(grads, max_norm): если общая L2-норма больше max_norm, умножьте все градиенты на max_norm / норма. Верните [clipped, norm_before], всё округлено до 4 знаков.
Примеры
clip_by_norm([[3, 4]], 1) // [[[0.6, 0.8]], 5]
clip_by_norm([[0.3], [0.4]], 1) // [[[0.3], [0.4]], 0.5]
clip_by_norm([[0, 0]], 1) // [[[0, 0]], 0]
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.