Closed GlebSBrykin closed 4 years ago
Отчёт о выполнении: Веса нейросети Colorful Image Colorization не могут храниться в формате Half. Реализация работы "A Neural Algorithm of Artistic Style" была успешно переведена на Half.
Отчёт о выполнении: Реализация работы "Universal Style Transfer via Feature Transforms" была успешно переведена на тип Half.
Отчёт о выполнении: Реализация "Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization" была успешно переведена на тип Half.
Отчёт о выполнении: Реализация "Perceptual Losses for Real-Time Style Transfer and Super-Resolution" была успешно переведена на тип Half.
Отчёт о выполнении: Реализация "Avatar-Net: Multi-scale Zero-shot Style Transfer by Feature Decoration" была успешно переведена на тип Half.
Завершено.
Зачем это нужно Использование типа данных Half (float16) вместо классического Single (float32, float) позволит за счёт некоторого уменьшения точности представления весов нейронной сети уменьшить размер исполнимого файла почти в два раза (сами веса будут занимать ровно в 2 раза меньше памяти).
Детали реализации Half будет использоваться только для хранения весов. Все вычисления по-прежнему будут выполняться с типом float. Half не поддерживается платформой, поэтому в приложения будут интегрированы коды для декодирования типа Half.
Недостатки решения Точности представления числа Half недостаточно для хранения весов некоторых нейросетей, что делает невозможным выполнение предлагаемой оптимизации для соответствующих реализаций.