Расширения Python

Возможности работы ограничены только вашим воображением

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

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

Примеры расширений

Примером реализации плагина визуализации может служить интерактивный модуль отображения в трёхмерному пространстве траектории скважины. В его основе лежит код из открытой библиотеки Plotly, а выглядит он так, будто является стандартным модулем PowerLog.


15086 Extensions Single Well Path 25015085 Deiviated well path 500

 

Расширения Python мгновенно обмениваются данными с базой данных PowerLog. На рисунках ниже показан интерфейс расширения для расчёта модулей сдвига и объёмного сжатия. Результаты работы расширения мгновенно отображаются на стандартном кроссплоте PowerLog.

15087 Python Extension Processors 1 40015089 Python Extension Processors 2 275

Гибкость экосистемы Python делает её мощным инструментом по работе с данными. Вы можете создавать расширения для комплексной загрузки данных, переформатированию, коррекции и анализа данных. Ниже приведён пример скрипта, который извлекает один лист из большой группы файлов Excel и объединяет их в новый файл. Нам часто необходимо загружать только данный из одной конкретной страницы большого файла и расширения Python легко решают эту задачу.

15091 Python Extensions Consoles 1 700

15092 Python Extensions Consoles 2 600

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

Машинное обучение

Orange1

Экосистема Python предоставляет в распоряжение интерпретатору все известные на сегодня алгоритмы машинного обучения. Главным преимуществом таких технологий является существенная экономия времени. Специалисту нужно корректно обучить модель на известных данных, затем он сможет применить её к десяткам и сотням скважин, алгоритм сам выполнит работу. При этом задачи могут быть разными. Например, создание синтетических кривых или автоматическая увязка каротажных данных. Последняя возможность реализована в PowerLog в виде отдельного модуля «Automated Depth Matching». Подробнее с его возможностями вы можете ознакомиться по ссылке.

Отдельного внимания заслуживают возможности полуавтоматической литологической классификации разреза. Обычно этот рутинный процесс занимает значительную часть времени выполнения проекта. Алгоритмы машинного обучения помогут автоматизировать этот процесс. Интерпретатору нужно выполнить интерпретацию вручную в нескольких скважин. Они станут опорной выборкой, на которой будет обучаться алгоритм. Можно тренировать несколько разных алгоритмов, а затем сопоставить их между собой и результатами интерпретации. На примере справа показаны результаты работы трёх алгоритмов: Tree, kNN и Random Forest. Лучший результат показывает метод kNN. Обученный алгоритм можно применить сразу к десяткам и сотням скважин, в PowerLog это займёт считанные минут. Разумеется, полученный результат нужно будет проверить и скорректировать, но это значительно проще, чем создавать литологическую колонку «с нуля».

Для работы с алгоритмами машинного обучение необязательно владеть программированием на Python. За десятки лет существования на этом языке написано множество программ и оболочек, содержащие готовые решения. Например, Orange – программа с бесплатной лицензией. Интерпретатору нужно лишь составить рабочий процесс из готовых блоков и подать на вход данные. Пример рабочего процесса литологической классификации тремя методами показан ниже. 

Orange2

Пример реализации рабочего процесса литологической автоклассификации в Orange.

Материалы и записи вебинаров

orange arrow indentВебинар "Полуавтоматическая коррекция каротажных данных в PowerLog 10.2".

Смотреть видео

orange arrow indentВебинар "PowerLog - новый технологический уровень решения петрофизических задач".

Смотреть видео

orange arrow indentВебинар "PowerLog и Python: расширяем границы возможного".

Смотреть видео