Оптимизация моделей в Tensorflow 1.x
Tensorflow, хотя и сдаёт свои позиции в исследовательской среде, всё ещё остаётся популярным в практической разработке. Одна из сильнейших сторон TF, из-за которой он держится на плаву — возможность оптимизации моделей для развертывания в условиях ограниченных ресурсов. Для этого существуют специальные фреймворки: Tensorflow Lite для мобильных устройств и Tensorflow Serving для промышленной эксплуатации. В Сети (и даже на Хабре) достаточно туториалов по их использованию. В этой статье мы собрали наш опыт оптимизации моделей без использования этих фреймворков. Мы рассмотрим некоторые методы и библиотеки, выполняющие поставленную задачу, опишем, как можно сэкономить пространство на диске и RAM, сильные и слабые стороны каждого подхода, а также некоторые неожиданные эффекты, с которыми мы столкнулись.