Сфера деятельности: Разработка ПО

Используемые продукты JetBrains: PyCharm

Число сотрудников: 30+

Страна: Германия

Scieneers

Scieneers — IT-компания, предоставляющая услуги по инжинирингу данных и Data Science. Она объединяет 35 экспертов, которые обожают работать с данными и извлекать из них все самое ценное.

“У PyCharm уникальный набор возможностей по сравнению с другими IDE. Самое важное — разнообразие надежных рефакторингов. И еще PyCharm поддерживает расширенные конфигурации запуска. Также нравится, что все инструменты, которые мне нужны, сосредоточены в одном месте — это делает работу проще.”

— Мориц Ренфтле, Специалист по Data Science, Scieneers GmbH

Расскажите о себе и о том, чем занимается ваша компания.

Я изучал компьютерные науки в Констанцском университете и в Технологическом институте Карлсруэ со специализацией в области баз данных и Data Science. В Scieneers я пришел в 2022 году и с тех пор пор занимаюсь разработкой и внедрением решений в области данных для компаний из разных отраслей. Моя работа требует разносторонних навыков, включая анализ данных, разработку кастомных моделей, изучение современных методов машинного обучения и развертывание пайплайнов обработки данных в облаке.

Scieneers помогает проектировать, разрабатывать и развертывать продукты для анализа данных. Помимо работы с клиентами в сфере бизнеса и исследований, мы сотрудничаем с некоммерческими организациями. Примеры нашей работы есть на нашем сайте: https://www.scieneers.de.

Почему вы выбрали PyCharm в качестве основной IDE?

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

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

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

Мне нравится, что в PyCharm интегрирован удаленный интерпретатор SSH. Его бывает сложно настроить в зависимости от сетевых настроек и разных факторов, но когда все готово, он работает очень надежно. Еще прекрасно, что можно отлаживать код на удаленной машине. Это особенно полезно при обучении модели машинного обучения на машине с определенным GPU, который нельзя протестировать локально. Очень удобно, что в PyCharm можно запускать удаленные Jupyter-ноутбуки через SSH. Наконец, PyCharm позволяет предотвратить случайную загрузку кода другого заказчика, потому что я точно указываю, какие директории и на какую удаленную машину надо загрузить.

Какие сложности в разработке вам удалось преодолеть с помощью PyCharm?

PyCharm позволяет мне:

  • реже переключаться между разными приложениями и инструментами;
  • быстро и надежно выполнять рефакторинги;
  • легко объединять выполнение различных шагов на локальных и удаленных машинах в единую конфигурацию запуска;
  • выполнять и отлаживать код на удаленных машинах, обеспечив конфиденциальность данных;
  • экспериментировать с Jupyter-ноутбуками и выполнять прототипирование.

Какие преимущества дает PyCharm именно при работе с Jupyter-ноутбуками?

Вот на что я обратил внимание при использовании Jupyter-ноутбуков в PyCharm:

  • доступ к рефакторингам PyCharm;
  • простое извлечение кода из ноутбука в отдельный пакет;
  • доступ к отладчику PyCharm из ячеек ноутбука;
  • возможность запуска Jupyter на удаленной машине с помощью SSH-интерпретатора.

Можете привести пример, когда отладочные инструменты PyCharm оказались полезными для выявления и устранения проблем в проекте машинного обучения?

У нас возникла ошибка на этапе предварительной обработки данных в пайплайне МО, из-за чего модели выдавали нереалистичные значения. Чтобы ее устанить, я использовал отладчик PyCharm на удаленной машине с GPU, где запускался пайплайн. Мы были уверены, что ошибка кроется именно в нашем коде, а не во внешней библиотеке. Поэтому во время отладки я использовал функцию «Step into my code» в PyCharm, пропуская промежуточные вызовы кода библиотеки. Нам удалось отследить и устранить проблему, настроив точки останова и построив промежуточные датафреймы.

Какую роль играет PyCharm в масштабировании моделей машинного обучения?

PyCharm дает возможность масштабировать и реалистично тестировать ML-модели, запуская их удаленно на машине с тем же оборудованием, что и в среде развертывания.

Вы уже пользовались возможностями AI Assistant в PyCharm?

Я собираюсь опробовать их при первой возможности. Было бы здорово, если бы можно было использовать локальную или серверную ML-модель для автодополнения кода с помощью ИИ.

Контакты