Попробовал, наконец, разработку на Blazor. Это такой фреймворк под .NET, который позволяет писать фронтенд на C#. Работает он двумя способами: либо собирает весь проект в WebAssembly, и бедный пользователь грузит себе мегабайтную dll, либо устанавливает клиент-серверное соединение через SignalR и шлёт клиенту информацию об обновлённых DOM-элементах.
Вот вторую то я и пробовал. Казалось бы — каждое нажатие кнопки требует отправить на сервер запрос и получить ответ. Никогда такого не было! Но субъективно разницы во времени отклика нет (потому что веб и так достаточно медленный, хаха).
Фронтенд-часть пишется очень похоже на JSX: вёрстка реактивно вперемешку с кодом. Когда-то я очень ругал React за такой подход, потому что каша. Но нетипизированный JS по-умолчанию каша, а здесь же по факту получается очень удобно: статический анализ не даёт тебе делать ошибки и писать ерунду.
Но приятный полноценный язык программирования вместо JavaScript это лишь вишенка на торте. Самое крутое — вся сила серверного кода с полноценной возможностью обращения к базе данных, шеринг моделей данных между сервером и клиентом, и, наконец, Dependency Injection любого серверного модуля в «клиент»! То есть вы не просто пишете одно приложение вместо двух, вы ещё и получаете отсутствие ошибок при каком-нибудь изменении моделей API, когда сервер стал отдавать не то, что ожидает клиент. Вам вообще теперь не нужен API, достаточно закодить нужную функцию на серваке и инжектировать её в нужный фронтенд-модуль.
Это супер удобно, супер быстро, супер устойчиво к ошибкам. Теперь не хочется возвращаться даже на вполне крутой Vue 3. Но, система пока новая, она не обросла решениями от комьюнити, а браузерный API всё равно придётся дергать через JavaScript Interop. Для совсем кайфа нужно подождать годик, поскольку развитие идёт довольно быстро. Например, там нет очень нужного в таком деле hot reload, но в .NET 6 он уже анонсирован, и вроде как есть в превью, а релиз в ноябре.
#dev
Комплексное глубокое обучение для моделей месторождений. Нажал на кнопочку - готово!
Руслан Мифтахов выпустил очередное видео, на этот раз про комплексное (end-to-end) глубокое обучение для моделирования месторождений. Посмотрите, будет интересно тем кто этим занимается. Видео основано на статье специалистов SLB "Deep learning for end-to-end subsurface modeling and interpretation: An example from the Groningen gas field".
Как и рассказывает Руслан, идея end-to-end глубокого обучения для моделирования месторождений довольно крутая и у нее есть прекрасная аналогия в мире беспилотных автомобилей - собираем все возможные алгоритмы прогнозы обстановки на дороге и автоматизации в одну систему. Что если сделать подобное и для дорогостоящего и длительного процесса моделирования подземных месторождений чего угодно, хоть нефти, хоть минералов 🤔?
Например, есть несколько видов данных (со скважин и сейсмические данные). Их нужно обработать, интерпретировать каждый вид данных особым способом, закартировать и наконец сделать 3D модель свойств горных пород и флюидов - типа, бурить сюда! Интересно, что модели машинного обучения уже представлены для каждого процесса в отдельности. Есть модели машинного обучения для обработки скважинных данных, есть модели машинного обучения для автоматического выделения тектонических разломов на сейсмике и так далее. Авторы статьи, делают один, на мой взгляд пока небольшой, шаг к полной автоматизации процесса интерпретации и моделирования. Они говорят, давайте соберем все эти модели и придумаем автоматический процесс, чтобы собрать данные, нажать на кнопочку и на выходе получить модель свойств всея Земли (на картинке). Это может быть модель пористости или плотности пород, да чего угодно.
Я лично знаком с авторами, коллеги все-таки. Действительно, у них есть работающие компоненты, которые они собрали в статье под одним зонтиком. Это в основном сверточные нейронные сети для различных задач. Идея крутая, но даже для частичной ее реализации, на мой взгляд, нужно пройти большой путь. Ведь то, что у нас под ногами скрыто от наших глаз, в отличие от того, что видит камера беспилотного автомобиля. Подземного сканера с супер-разрешением все еще нет, где ты Илон Маск? Поэтому в игру вступают неопределенность и сдвиг данных.
Неопределенность геологических моделей будет всегда, потому что этих моделей бескочнечность, ведь мы точно никогда не узнаем что там под землей, а можем лишь догадываться по обрывкам данных. Если эту неопределенность не учитывать - будет финансово больно, даже при наличии самых красивых моделей и самых глубоких обучателей. Сдвиг данных, возникает тогда, когда модель обученная на одних данных, попадает в новые условия. И в геонауках это серьезная проблема. Не смотря на аналогии, нет двух одинаковых месторождений, и даже если модель обучить на 1000 месторждениях, 1001-е будет другое и производительность модели будет значительно ниже и вероятно не понравится, людям принимающим решение о бурении скважины стоимостью стопицот миллионов . Умные геоинженеры и обучатели машин сейчас работают над тем, чтобы побороть эти две проблемы для моделирования месторождений, но с переменным успехом (на мой взгляд опять же).
Пост может показатья кому-то скептическим, но на самом деле я полон оптимизма. Каких-то пять лет назад даже 10-я часть предложенных алгоритмов была невозможна по разным причинам, а сегодня уже идут разговоры о полной автоматизации моделирования с помощью машинного обучения. Повсеместная адаптация займет еще много лет, но все равно впереди блестящее будущее!
📖статья
#ML#AI#geo#subsurface
Breakthrough Energy Билла Гейтца вкладывается в геологический водород
Вышла новость, что Breakthrough Energy Билла Гейтца вложилась в стартап (91 мульён долларов), который работал в секретном режиме буквально до прошлой недели. Называется Koloma, состоит сплошь из выходцев из нефтянки. Koloma собирается добывать геологический водород на среднем западе США. Ну и конечно, планирует подать заявку на получение субсидий в соответствии с Законом о снижении инфляции (IRA) 😁.
Билл Гейтц считает водород "швейцарским ножом" в энергетике (кстати, почитайте его книжку How to Avoid a Climate Disaster, даже если не согласны с повесточкой - она интересная!)
#hydrogen#decarbonization#subsurface
🪐 Scientists are exploring the possibility that life could exist deep below the surface of Mars, where underground water reservoirs may still provide a stable environment protected from harsh surface radiation and extreme cold. Evidence from orbiting spacecraft suggests networks of ancient, buried rivers and salty brines—which could help microbes survive in the Martian subsurface even today. ✨
#Mars⚡#life⚡#subsurface⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
IMAGE'23 и генерация моделей по подсказке
Всем привет! Пропал-пропал, был на конференции IMAGE'23. Это такая огромная, на тысяч 6-7 человек, геотехническая конференция в Хьюстоне для специалистов в области геонаук, полезных ископаемых и (уже) декарбонизации.
Самые большие секции были посвящены машинному обучению в геонауках. На одной из них я показал наши эксперименты в области Генеративного ИИ (Generative AI), а именно первые наброски того как можно генерировать реалистичные геологические\сейсмические модели с помощью семантически понятного текста. Типа говоришь "йоу, модель, сделай мне низкочастотный сейсмический разрез с двумя сбросовыми разломами в восточной части и добавь немного шума". И на выходе получаешь реалистичный сейсмический разрез удовлетворяющий твоему описанию, или получаешь сразу несколько разных разрезов, ведь генерация стохастическая.
Использовали мы немного модифицированную версию знаменитой нейронки Dalle-E2 от Open AI, которую обучили с нуля. Точнее три ее компонента: ✅CLIP - для семантической связи между текстом и изображением(моделью) и преобразования последнего в векторное представление; ✅ Diffusion Prior - для стохастической генерации текстовых векторных представлений в текстовые представления изображения(модели) и ✅ Decoder - для стохастической генерации самих изображений(моделей) из их векторного представления. Последняя нейроночка использует диффузионную модель. Получилось неплохо! На второй картинке пример моделей, которые сгенерировались по соответствующей подсказке. Конечно отправлять в продакшн еще рановато, но идея, кажется, работает не только на кошечках и собачках.
#Image23#conference#ML#AI#subsurface
RockPhyPy - рок-физика 🤘 в Питоне 🐍
Рок-физика - занимательная часть наук по исследованию недр, а не то что вы подумали. Правильный перевод конечно "физика горных пород", но на пост-советском пространстве это название заразервировала немного другая дисциплина.
Рок-физика изучает взаимоотношения между физическими свойствами пород и геофизическими наблюдениями в разных условиях. Например, как количественно оценить изменение свойств горных пород на основе поведения сейсмических волн, распространяющихся через них. В рок-физике особое внимание уделяют и эффекту наличия того или иного флюида в порах горных пород и как в связи с этим изменится геофизический сигнал. Это важно для УВ, захоронения СО2 и геотермалки.
Такое вступление, чтобы представить вам RockPhyPy - набор инструментов в Питоне для моделирования в этой области. Вся научная основа взята из Справочника рок-физика (Rock Physics Handbook).
И в догонку статья с описанием API и всего инструментария.
#subsurface#geo#programming#rockphysics
Вся геология Нидерланд в одном проекте в Petrel
Petrel - это наверное самый популярный софт для геолого-геофизического моделирования, интерпретации и визуализации. Как Автокад для проектировщиков.
Университет в Утрехте опубликовал всю геологическую базу данных Нидерланд в едином проекте в Petrel 🤯: 10,599 2D сейсмики, 280 3D сейсмики, 6,590 скважин and 4,752 измерений в скважинах.
Может для обучения пригодится!
#seismic#database#geo#subsurface