Рубрики
Без рубрики

📢 Объявление Find-Kedro

Не уверен, что kedro, начни здесь 👇 🤷 ♀️. Что такое Kedro ( … помечены с данными, Python, Kedro, наукой данных.

Не уверен, что KEDRO, начни здесь 👇

🤷♀️. Что такое Kedro (части)

Уокер Уокер · 24-20 · 3 мин прочитан

Find-Kedro это небольшая библиотека для Усилить свой опыт Kedro . Он просматривает ваши модули, чтобы найти конвейеры, узлы, узлы и итерации Kedro (списки, наборы, кортежи) узлов. Затем он собирает их в словаре трубопроводов, каждый модуль создаст отдельный трубопровод, а __default__ Быть сочетанием всех трубопроводов. Этот формат совместим с KEDRO _create_pipelines формат.

Кедро Это фантастический проект, который позволяет супер-быструю прототипирование трубопроводов передачи данных, при этом получая готовые трубопроводы. Find-Kedro Усиливает этот опыт, добавив ASTEST, как обнаружение узла/трубопровода, устраняя необходимость для пузыми трубопроводов через модули.

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

Find-Kedro развернут на pypi и может легко быть Пип установлен.

pip install find-kedro

Рекомендуемое использование Find-Kedro это реализовать его непосредственно в ваши проекты Run.py модуль

from kedro.context import KedroContext
from find_kedro import find_kedro

class ProjectContext(KedroContext):
    def _get_pipelines(self) -> Pipeline:
        return find_kedro()

Создание узлов

Find-Kedro не будет выполнять какие-либо функции. Это просто будет искать переменные, которые соответствуют узор и определить, если они Kedro.Pipeline. Трубопровод , Kedro.Pipeline.nodes. Узел или список Kedro.Pipeline.nodes. Узел . Если это так, это засмет их в словарь трубопроводов.

Обычно есть Три способы построены трубопроводы с Find-Kedro ; Списки , Одноместные узлы и трубопроводы .

Списки

Любой сопоставленный список шаблонов будет сплющен и собран в трубопровод. Узлы могут быть созданы все сразу в определении списка.

# my-proj/pipelinies/data_engineering/pipeline
from kedro.pipeline import node
from .nodes import split_data

pipeline = [
    node(
        split_data,
        ["example_iris_data", "params:example_test_data_ratio"],
        dict(
            train_x="example_train_x",
            train_y="example_train_y",
            test_x="example_test_x",
            test_y="example_test_y",
        ),
    )
]

Это также удобно много раз, чтобы сохранить определение узла близко к определению функции. Много раз я определяю список в верхней части файла, а затем добавьте к нему, как я иду.

# my-proj/pipelinies/data_engineering/pipeline
from kedro.pipeline import node
from .nodes import split_data

nodes = []
nodes.append(
    node(
        split_data,
        ["example_iris_data", "params:example_test_data_ratio"],
        dict(
            train_x="example_train_x",
            train_y="example_train_y",
            test_x="example_test_x",
            test_y="example_test_y",
        ),
    )
)

Узлы

Весь шаблон соответствует Kedro.Pipipeline.node. Узел Объекты будут собираться в трубопровод.

# my-proj/pipelinies/data_engineering/pipeline
from kedro.pipeline import node
from .nodes import split_data

split_node = node(
        split_data,
        ["example_iris_data", "params:example_test_data_ratio"],
        dict(
            train_x="example_train_x",
            train_y="example_train_y",
            test_x="example_test_x",
            test_y="example_test_y",
        ),
    )

Трубопровод

Весь шаблон соответствует Kedro.Pipeline. Трубопровод Объекты будут собираться в трубопровод.

# my-project/pipelinies/data_engineering/pipeline
from kedro.pipeline import node, Pipeline
from .nodes import split_data

split_node = Pipeline(
    [
        node(
            split_data,
            ["example_iris_data", "params:example_test_data_ratio"],
            dict(
                train_x="example_train_x",
                train_y="example_train_y",
                test_x="example_test_x",
                test_y="example_test_y",
            ),
        )
    ]
)

Полностью квалифицированный импорт

При использовании полностью квалифицированного импорта от my_proj.pipelines.data_science.nodes Import.node Split_data вместо относительного импорта от .Nodes Split_data Вам нужно будет убедиться, что ваш проект установлен в вашем текущем пути, или вы устанавливаете каталог

CLI предоставляет удобный интерфейс для поиска вашего проекта для узлов

Usage: find-kedro [OPTIONS]

Options:
  --file-patterns TEXT glob-style file patterns for Python node module
                             discovery

  --patterns TEXT prefixes or glob names for Python pipeline, node,
                             or list object discovery

  -d, --directory DIRECTORY Path to save the static site to
  --version Prints version and exits
  -v, --verbose Prints extra information for debugging
  --help Show this message and exit.

Пример бегал с слегка модифицированным по умолчанию Kedro New проект.

❯ find-kedro
{
  " __default__": [
    "split_data([example_iris_data,params:example_test_data_ratio]) -> [example_test_x,example_test_y,example_train_x,example_train_y]",
    "train_model([example_train_x,example_train_y,parameters]) -> [example_model]",
    "predict([example_model,example_test_x]) -> [example_predictions]",
    "report_accuracy([example_predictions,example_test_y]) -> None"
  ],
  "src.default_kedro_159.pipelines.data_engineering.pipeline": [
    "split_data([example_iris_data,params:example_test_data_ratio]) -> [example_test_x,example_test_y,example_train_x,example_train_y]"
  ],
  "src.default_kedro_159.pipelines.data_science.pipeline": [
    "train_model([example_train_x,example_train_y,parameters]) -> [example_model]",
    "predict([example_model,example_test_x]) -> [example_predictions]",
    "report_accuracy([example_predictions,example_test_y]) -> None"
  ]
}

Ты потрясающий для рассмотрения вклада! Взносы приветствуются, пожалуйста, посмотрите [Руководство по предоставлению вклад] ( https://github.com/waylonwalker/find-kedro/blob/master/Contributing.md для получения дополнительной информации. Пожалуйста, будьте положительным членом сообщества и принятия обратной связи

Мы используем СЕМВЕР для версий. Для версий доступны, см. Теги на этом репозитории Отказ

– Waylon Walker – Оригинальный автор

– Заин Патель

Этот проект лицензирован в соответствии с лицензией MIT – см. Файл лицензии.

Оригинал: “https://dev.to/waylonwalker/announcing-find-kedro-5cfd”