Мы часто сталкиваемся с нарушениями правил публикации. Чаще всего люди оставляют ссылки на другие площадки или свои контакты на фото, но могут быть и случаи несоблюдения законодательства РФ. Основная задача модерации — находить эти нарушения.
В идеале нам бы хотелось, чтобы модерация работала так: если в публикации есть нарушения, то мы автоматически их исправляем и публикуем контент.
Обратите внимание: если вы обучали модель с помощью трансформаций из TorchVision, а в продакшене используете OpenCV, то могут возникнуть проблемы. На картинке ниже видно, что одно и то же преобразование с использованием Pillow и OpenCV даёт разный результат. Для каких-то моделей это может быть не страшно, для других — добавляет существенный шум. Поэтому будьте аккуратнее.
Разберём небольшой пример:
Слева — модель, которая при конвертации в ONNX будет выдавать статичный граф, но с фиксированными походами по if. Значит, при другой природе данных мы всё равно пойдём в ту ветку, по которой пошли при конвертации.
Чтобы этого избежать, можно заменить операции Python на маску из торча. В таком случае уже нет ветвления и граф получается полностью статичным. Это вариант справа.
То есть конвертировать в ONNX и TensorRT возможно, но на это нужно потратить время, которое не всегда есть. Поэтому иногда проще сразу остановиться на TorchScript, особенно на старте.