Это фреймворк, который я очень рекомендую для инженерии данных и машинного обучения!

Независимо от того, работаете ли вы в крупной организации или в стартапе, работаете ли вы в одиночку со своими собственными подработками или проектами, или вам нужна простая и масштабируемая среда машинного обучения для использования в повседневной работе, я хочу, чтобы вы перестаньте искать дальше и начните рассматривать Кедро. Очень рекомендую!

Из документации: Kedro — это среда Python с открытым исходным кодом для создания воспроизводимого, поддерживаемого и модульного кода для обработки данных. Он заимствует концепции из разработки программного обеспечения и применяет их к коду машинного обучения; прикладные концепции включают модульность, разделение задач и управление версиями. Кедро организовано LF AI & Data Foundation.

Кедро изначально принадлежало QuantumBlack (McKinsey) и было передано в дар Linux Foundation. Потрясающий!

Внезапно и в духе конкурса #ship30for30, вот 2 причины, по которым вам следует попробовать использовать Kedro сегодня, и 1 причина, по которой вам не нужно этого делать (ради более сбалансированного аргумента):

ДЛЯ: Шаблон шаблона стандартного кода.

Фреймворк Kedro позволяет очень легко сотрудничать с другими членами команды. Он построен с учетом конструктивных соображений лучших практик разработки программного обеспечения. Его легко понять и понять, так что вы и члены вашей команды говорите на одном языке и придерживаетесь одних и тех же стандартов в рамках этой структуры.

Извлекая уроки из теории графов в информатике, у нас есть узлы и конвейеры в Kedro. Узел похож на функцию, которая принимает входные данные и возвращает выходные данные. Конвейер можно рассматривать просто как набор узлов. Этот дизайн намеренно сохраняет кодовую базу воспроизводимой, масштабируемой и модульной. Так что думайте о Kedro как об одном большом направленном ациклическом графе (DAG) входов, функций и выходов, который вы можете создавать, контролировать и настраивать.

ДЛЯ: стандартизированного каталога данных.

На мой взгляд, это одна из самых сильных сторон Кедро. Вы должны каталогизировать все свои наборы данных. Да, эта дисциплина приходит с ним. Это похоже на запись всех возможных наборов данных и преобразований из необработанных данных в промежуточные данные, в обработанные данные и так далее (дополнительная ссылка: наука о данных для печенья). Все в одном месте, которое является каталогом данных.

И самое удивительное то, что вы можете иметь любой формат файла, который вы хотите, и Kedro может абстрагироваться от всего этого слоя Extract Transform Load (ETL) для вас в рамках сеанса или контекста kedro. Например, если вы хотите использовать Pandas DataFrames для более быстрого анализа, но Spark DataFrames для производственной производительности, иметь несколько файлов конфигурации и даже подключаться к поставщикам услуг облачного хранения, kedro справится со всем этим. Он идеально подходит для небольших случаев использования, а также для больших случаев использования. Хороший компаньон Data Engineering!

ПРОТИВ: Распараллеливание приводит к недетерминированным DAG

Должен признаться, что сейчас трудно придумать аферу для кедро. Один момент, который я могу предложить, заключается в том, что из-за способности бегуна кедро распараллеливать прогоны (что должно быть хорошо) и из теории графов граф может иметь несколько действительных DAG, если есть несколько источников и приемников, тогда естественно, мы можем получить разные DAG для каждого запуска (DAG в этом сценарии относится к линейной последовательности узлов в конвейере). Это не обязательно плохо из-за экономии времени за счет распараллеливания, но может быть неудобно, если вы хотите точно воспроизвести прогон или выполнить профилирование конвейера.

ЗА: БОНУСНЫЙ пакет: кедро-виз

Кедро-виз — это сопутствующий пакет кедро для визуализации всех ваших узлов и пайплайнов с интерактивной диаграммой. Этот инструмент спасает жизнь по многим причинам. Если вы создаете свой собственный продукт самостоятельно или с небольшой командой, вы всегда имеете полный визуальный контроль над всем конвейером. Если он используется в крупной организации с уже существующей зрелой кодовой базой, то он является незаменимым инструментом для новичков, желающих ознакомиться с текущим конвейером. В любом случае, это невероятный беспроигрышный вариант!

#ship30for30day7

Ship30for30 — это официальный писательский курс, в котором участникам предлагается написать 30 публикаций за 30 дней по 30 минут в день. Эта публикация — моя попытка неофициально принять участие в этом 30-дневном испытании.