Как стать автором
Обновить

Комментарии 4

Этот проект не самый простой, поэтому возникает вопрос, зачем он нужен, если есть готовые фреймворки типа Keras, TensorFlow и Caffe, где, как говорится, «сел и поехал»? А ответ прост: нужен гибкий инструмент с возможностью расширения, с которым подружится Python.

Этот ответ отлично применим и к Keras + TF. А если настройка инфраструктуры FB Image Recognition Package — это действительно такая головная боль, как вы описали, то его бы я гибким и удобным как раз не назвал.
Есть надежда, что все ошибки несовместимости версий уйдут и тогда действительно станет легче устанавливать и пользоваться.
Согласен. Keras и TF из разряда «сел и поехал», но для них все равно необходимо либо писать собственный код, либо искать подходящий проект по распознаванию.
В случае с FB — готовый комплект, который они успешно применяют в продакшн среде (я уверен, что версия в репозитории не самая последняя).
Но в итоге получили полноценный рабочий инстанс, который можно использовать для распознавания образов.

О да, напоминает мои мучения, когда я этот Torch встраивал в Rspamd. Вначале я удивлялся, почему же нигде нет deb/rpm пакетов, чтобы не эмбеддить огромный фреймворк себе в код, а потом столкнулся с непревзойденным качеством кода от Facebook, который собирается и работает только в Facebook. Например, они ставят -march=native на компиляции и "проверяют" так наличие всяких смешных наборов инструкций, например, avx2. Стоит ли говорить, как "счастливы" от этого пользователи бинарных пакетов, у которых этих инструкций внезапно нет?


Или, например, они хотят собираться с sse4.2, при этом используя только интрисики из sse2 — зачем им там sse4.2, непонятно.


Еще забавно, что они используют генерацию C кода через lua на этапе сборки, что сломано примерно везде, где только можно.


В итоге пришлось делать очень большой объем работы, чтобы это работало хотя бы немного универсально. К сожалению, open source проекты от больших корпораций очень сильно грешат этим (взять тот же Яндекс, ага), так как пишут их люди, не имеющие культуры open source разработки и не особо заботящиеся об удобстве пользователей, у которых нет отдела девопсов, которые бы их чудо поделие собирали и выкатывали.

С необходимостью перечисления всех необходимых наборов инструкций сталкивался и меня это тоже удивляло. Вроде бы не так сложно сделать проверку и компилировать с теми наборами инструкций, которые поддерживается, для удобства пользователей.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий