Как стать автором
Обновить
1.8

Julia *

Высокоуровневый высокопроизводительный язык

Сначала показывать
Порог рейтинга
Уровень сложности

Заставляем компьютер видеть цвета без нейросетей: сегментация изображений по старинке

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.9K

Привет, Хабр! В предыдущей части мы рассматривали базовые методы цифровой обработки изображений для задачи сегментации спутникового снимка.

В этой статье рассмотрим ещё парочку методов решения этой задачи, всё ещё «классических», то есть без применения машинного обучения или нейросетей. Помогут нам во всём разобраться, как и в прошлый раз, язык программирования Julia и среда технических расчётов Engee!

Читать далее

Новости

Визуальное проектирование управляющей логики фитнес-браслета

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров1.9K

Привет, Хабр!

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

Со временем логика системы начинает разрастаться: появляются дополнительные режимы работы, усложняются условия переходов между ними, возникает необходимость корректно реагировать на ошибки. В какой-то момент код превращается в клубок из вложенных if-else, флагов, и переменных, описывающих состояние системы, что не только затрудняет её поддержку и расширение, но и снижает надёжность.

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

Читать далее

Старый конь борозды не испортит: классические методы обработки изображений все ещё актуальны

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров2.9K

Что такое цифровая обработка изображений? Зачем нам вообще знать про алгоритмы обработки, когда есть фотошоп и фильтры в телефоне? Или всё можно отдать нейросети и получить крутой результат? И при чём тут Julia, наконец? Будем разбираться!

Мы запускаем серию статей про обработку изображений с использованием языка Julia и вычислительной среды Engee. Задача – ответить на часто встречающиеся вопросы вроде актуальности этого направления компьютерной науки, задач, решаемых методами обработки изображений, применения и реализации стандартных и «умных» алгоритмов. 

В первой части ознакомимся с основами на примере сегментации спутникового снимка.

Читать далее

Шпаргалка по типам Julia для инженеров и не только

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.1K

Статья-шпаргалка о типах данных в Julia: от примитивных, до параметрических абстрактных. Рассказывается, почему range умеет работать как массив, почему Vector{Int64} не является подтипом Vector{Real}, но является подтипом Vector{<:Real}, чем отличается неизменяемая структура от изменяемой структуры с неизменяемыми полями

Читать далее

Julia и Engee: созданы для параллельных вычислений

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.7K

Как загрузить GPU инженерными вычислениями? Давайте я расскажу, как с помощью Julia наконец смог втащить высокопроизводительные вычисления в свою немудрёную инженерную работу. Это был долгий путь, но мне кажется, что Julia стала моим лучшим другом в мире GPU/HPC.

Читать далее

Биорадиолокация в Engee

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров1.1K

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

Биорадиолокация – набирающий популярность бесконтактный метод измерения жизненно важных показателей (ЖВП) человека, таких, как сердцебиение и дыхание. В отличие от контактных систем радары не нуждаются в прикреплении каких-либо датчиков на поверхность тела пациента. 

В статье разберём построение относительно простой, но в то же время полезной модели биорадара. Модель разбита на две части. Первая часть посвящена моделированию перемещения грудной клетки человека. Вторая часть модели – про разработку FMCW-радара с последующим анализом его эффективности и применимости для обнаружения ЖВП. Итак, начнем…

Читать далее

Engee – лучшая альтернатива MATLAB, Simulink, Amesim

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров12K

Современные реалии рынка инженерного ПО в России бросают вызов техническим специалистам любого уровня, так как перед ними встает задача найти отечественную альтернативу привычным CAE-системам для технических вычислений и модельно-ориентированного проектирования, таким как MATLAB, Simulink, Amesim. Это непросто, поскольку предприятиям нужно максимально сохранить привычный рабочий процесс и имеющиеся наработки, в том числе многолетние, и при этом безболезненно внедрить новую систему на рабочие места и обучить сотрудников.

Мы можем с уверенностью заявить, что соответствующая таким требованиям альтернатива MATLAB, Simulink, Amesim найдена, и это среда Engee.

Читать далее

Моделирование блэкаутов: какой софт сейчас используют российские электроэнергетики?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3K

Привет, Хабр! Всем известно, на чём программисты пишут код, — большинство из вас хоть раз слышали о Python, Java или C++. Но задумывались ли вы когда-нибудь, какими инструментами разработки пользуются инженеры-электроэнергетики? Ведь их задача — не просто написать код, а смоделировать целую энергосистему и внедрить в нее новый алгоритм без катастрофических последствий. Сегодня мы хотим погрузить вас в мир электроэнергетики и рассказать про то, какой российский софт пришел на смену зарубежному.

Читать далее

Шесть причин выучить Julia в 2024 году

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров16K


В этом году Экспонента вместе со средой разработки
Engee стали информационными партнерами бесплатной Летней школы Julia. Это уникальное событие для России, ведь еще никто не проводил онлайн-курсы по этому современному и очень перспективному языку программирования. Мы уверены, что в современных политических и экономических реалиях за этим языком видится большое будущее, особенно в научной и инженерной средах, и приглашаем всех желающих принять участие в этом важном событии.

А чтобы подогреть ваш интерес, мы подготовили небольшую статью (опирались на этот материал, спасибо авторам, и добавили много тезисов на основе нашего опыта с Julia) с описанием основных причин, почему вы должны срочно заинтересоваться Julia и подать заявку на Летнюю школу. Приятного чтения!

Читать далее

Искусство мозговых волн. Как ученые визуализируют вызванные потенциалы: результаты опроса

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.4K

Меня зовут Владимир Михеев, я работаю в лаборатории Вычислительный когнитивных наук Университета Штутгарта. Мы разрабатываем библиотеки для анализа, симуляции и визуализации ЭЭГ данных на языке Julia под зонтичным брендом Unfold.

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

Эта статья может быть вам полезна если вы:

Хоть раз рисовали потенциал вызванного действия.
Визуализируете временные данные.
Радеете за воспроизводимость научных исследований.
Разрабатываете аналитическое ПО.
Делаете красивые графики и хотите, чтобы они были корректными.

Раскрыть тайны мозга

Julia. Метапрограммирование и макросы

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров3K

Julia является одним из самых востребованных математических языков программирования. Однако некоторые особенности этого языка, которые обеспечивают гибкость и позволяют расширять её области применения, не столь часто используются программистами. В этой статье пойдёт речь о механизме макросов, который выгодно её отличает от прочих скриптовых языков программирования.

Механизм макросов используется в Julia довольно часто. Макрос при использовании начинается с символа @ и имеет вид @show, @benchmark… А также, в неявной форме, макросами являются регулярные выражения r"[a..z]" (это макрос с полным именем r_str), а также многочисленные другие способы применения, включая примеры Modia.jl / Unitful.jl с макросом u_str, где физическая величина «вшита» в число:

L = 0.8u"m",
m = 1.0u"kg",
d = 0.5u"Nms/rad",
g = 9.81u"m/s^2",

Читать далее

Кратко про FP в Julia

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.5K

В отличие от императивного подхода, где выражается последовательность операций, функциональное программирование (FP) сосредотачивается на "что" и "как" должно быть вычислено, а не на "когда". Это приводит к более чистому, модульному и легко тестируемому коду.

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

Читать далее

Временные ряды с Julia с библиотекой TimeSeries.jl

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.9K

Julia позволяет достигать скорости, сравнимой с C, что делает её хрошим выбором для временных рядов.

Пакет TimeSeriesпредоставляет удобные методы для работы с данными временных рядов в Julia.

Читать далее

Ближайшие события

Julia в машинном обучение: база

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.9K

Привет, Хабр!

Julia зародилась в 2012 году, благодаря усилиям четырех энтузиастов-разработчиков: Джефф Безансон, Стефан Карпински, Вирал Би Шах, и Алан Эдельман. Они стремились создать язык, который сочетал бы легкость Python, скорость C, динамичность Ruby, лингвистическую чистоту Lisp и возможности математических систем вроде Matlab. Им удалось! Julia – это слияние простоты и мощи.

Благодаря JIT-компиляции, код Julia может выполняться с скоростью, сопоставимой с кодом, написанным на C или Fortran.

Читать далее

Julia 1.9. Основные моменты

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.8K

перевод

7-го мая 2023, после 3-х бета-версий и 3-х релиз-кандидатов наконец выпущена новая версия языка программирования Julia 1.9. Мы хотели бы поблагодарить всех участников, разработчиков этого выпуска и всех тех, кто тестировал и помог выявить проблемы в предварительных выпусках. Без вас этот выпуск был бы невозможен.

Полный список изменений можно найти в файле release-1.9/NEWS.md, а здесь мы дадим развернутый обзор некоторых ключевых моментов выпуска.

Читать далее

Mojo может стать крупнейшим достижением в области разработки языков программирования за последние десятилетия

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров127K

Mojo — это новый язык программирования, основанный на Python, который устраняет имеющиеся у него проблемы производительности и развёртывания.

Об авторе: Джереми Говард (Jeremy Howard) — Data Scientist, исследователь, разработчик, преподаватель и предприниматель. Джереми является одним из основателей исследовательского института fast.ai, занимающегося тем, чтобы сделать глубокое обучение более доступным, а также он является почётным профессором Университета Квинсленда. Ранее Джереми был выдающимся научным сотрудником в Университете Сан‑Франциско, где он был основателем Инициативы Уиклоу «Искусственный интеллект в медицинских исследованиях».

Mojo – это Python++

Genie Builder v0.2: ускорьте разработку вашего приложения на Julia

Время на прочтение8 мин
Количество просмотров2K

В этой статье представлен перевод руководства: "How to quickly turn your Julia code into a web app with Genie Builder". В статье пойдет речь о новом инструменте быстрой разработки web-приложений на основе Ginie Framework - платформы для интернет приложений на языке Julia.

Читать далее

Максимальная оптимизация игры «Жизнь» на Julia

Время на прочтение10 мин
Количество просмотров10K

Это очень хорошой case для оптимизации. Алгоритм крайне прост и его знают все. Но сколько можно сделать!

Читать далее

Glider guns vs случайная конфигурация в игре «Жизнь»

Время на прочтение2 мин
Количество просмотров3.4K

И снова к старой теме. В старой статье я сделал два предположения:

Гипотезы

Первая гипотеза касается окончания 'движухи' - в широком диапазоне изначальных плотностей p от 0.1 до 0.7, после окончания 'движухи' 'пепел' имеет одну и ту же плотность, около 0.27

Так как ружья накачают 'вселенную' глайдерами при сколь угодно малой изначальной плотности, и снова начнется 'движуха', то вторая гипотеза сильнее:

В пределе при любой плотности p (кроме вырожденных случаев p=0, p=1) получается 'пепел' плотности 0.027

На Julia, имея теперь огромные мощности, я решил проверить обе. Вас ждет красивое видео

Читать далее

Игра Жизнь и Julia

Время на прочтение5 мин
Количество просмотров5.7K

В одной из своих прошлых статей по эволюции случайной конфигурации в игре жизнь я выдвинул гипотезу: Первая гипотеза касается окончания 'движухи' - в широком диапазоне изначальных плотностей p от 0.1 до 0.7, после окончания 'движухи' 'пепел' имеет одну и ту же плотность, около 0.27

Рассчитывая фрактал Римана, я был вынужден пересесть с Python на Julia из-за скорости, и не пожалел об этом. Однако теперь я мог на Julia быстро обрабатывать огромные конфигурации, например, 10k x 10k, и я решил повторить численные эксперименты на новом уровне. Как всегда, вас ждет и видео.

Читать далее