Рубрики
Uncategorized

Улучшение обзоров кода ноутбука Jupyter с jupydiff

Как выпускник информационных технологий, стремясь начать свою карьеру, я провел первую половину 2020 года … Tagged Github, Docker, DevOps, DataScience.

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

После нескольких поворотов я начал свою стажировку в качестве инженера в Faethm с одной большой целью:

Как мы можем облегчить обзоры кода для нашей команды по науке о данных?

FAETHM — это платформа ИИ, основанная на работе ученых данных, и для них это очень важная проблема для решения. Сегодня команда науки о данных FAETHM работает в основном с ноутбуками Jupyter, и они управляются в различных хранилищах внутренних GitHub.

Проблема с ноутбуками Юпитера

Nopyter Notebooks — это популярный инструмент производительности среди ученых данных, и по уважительной причине.

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

Инструменты, такие как nbdime Помогите немного. NBDIME позволяет пользователям Notebook выделять изменения, внесенные между версиями ноутбуков в командной строке или даже в экземпляре Юпитера.

Тем не менее, встроенные инструменты Github не предназначены для ноутбуков Jupyter. Ноутбук фиксирует код, выходы и метаданные в качестве документа JSON. Когда ученый для данных выполняет ноутбук с модификациями, данные JSON изменяются на уровне ячейки, чтобы отразить новый код, обновляет метаданные и фиксирует новый вывод.

Решение этой проблемы стало сущностью моей стажировки.

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

Представление Юпидиффа, Дейкс Дейкс для действий GitHub

Юпидифф это действие GitHub, которое позволяет ученым -данным быстро сравнивать изменения, внесенные с ноутбуками Jupyter в репозиториях GitHub.

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

Jupydiff поможет вам упростить обзоры кода науки о данных.

Без Юпидиффа, чтобы вычислить точную разницу в кодах между двумя ноутбуками Юпитера. Рецензент должен был бы клонировать репозиторий, загрузить и установить nbdime, а затем запустить nbdime diff в командной строке. В качестве альтернативы, наблюдение за обычным DIFF в редакторе кода, инструменте управления версиями или на самом GitHub, включало интерпретацию строк базовой структуры ноутбука JSON Jupyter.

Как версировать контроль jupyter notbooks on github с jupydiff

Настройка Jupydiff для работы с вашим ноутбуком Jupyter — это проста. Поскольку Юпидифф является действием GitHub, он работает как с государственными, так и с частными репозиториями.

Вы можете прочитать все подробности о настройке Jupydiff в Репозиторий Юпидиффа на GitHub , но я расскажу здесь.

Вам нужно будет создать новый рабочий процесс действия GitHub в вашем репозитории по адресу /.github/workflows/jupydiff.yml со следующим содержимым:

name: jupydiff

on: [ push, pull_request ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 2
      - uses: Faethm-ai/jupydiff@v1

Действия GitHub проводят Jupydiff на вашем репозитории для каждого выдвинутого или открытого запроса на вытягивание. Jupydiff вычисляет изменения, внесенные с помощью последней коммиты, и оставляет комментарий к запросу Commit или Tuil, подчеркивая различия в коде.

Благодаря большему количеству беспорядков JSON, ученые данных могут свободно продолжить обзор кода прямо на GitHub.

Вы читали пост из блога Faethm AI Engineering. Мы тоже нанимаем! Если поделиться своей страстью к будущему работы и хотим пионерских ведущих мировых научных и инженерных проектов, мы хотели бы услышать от вас. Смотрите наши текущие открытия: https://faethm.ai/careers

Оригинал: «https://dev.to/faethm/improving-jupyter-notebook-code-reviews-with-jupydiff-2gce»