Pull to refresh
12
0.4
Михаил @DvoiNic

Пользователь

Send message

Наш публичный детектор голоса стал быстрее в 3 раза (*), качественнее, устойчивее и теперь работает на 6 000 языках

Level of difficultyEasy
Reading time1 min
Views3K

Мы уже рассказывали про наш детектор голоса на Хабре тут, тут и тутКратко опишу, что стало лучше в этот раз:

Поддержка 6 000+ языков;

Общий рост качества на 5-7%;

Существенно повышена устойчивость на шумных данных;

TorchScript (*) стал в 3 раза быстрее, а ONNX - на 10% (теперь они примерно равны по скорости, обработка 1 кусочка аудио занимает 325 и 189 μs соответственно);

Читать далее
Total votes 17: ↑17 and ↓0+24
Comments0

Мои проекты за 7 лет увлечения DIY

Level of difficultyEasy
Reading time5 min
Views41K

Привет, Хабр! Решил представить здесь самые интересные проекты/самоделки/концепции, которые делал сам на протяжении последних семи лет. Если КДПВ сделала своё дело, добро пожаловать под кат! Осторожно, много фото.

Вдохновиться разными идеями
Total votes 110: ↑108 and ↓2+125
Comments36

Три кита продуктивности: воздух, температура и освещение. Но как их улучшить?

Level of difficultyEasy
Reading time13 min
Views7.5K

«Хорошо есть, крепко спать и достаточно пить» — кажется, это самые распространенные «народные» советы для поддержания тела в тонусе, а ума в ясности. Делай так и все будет «окей»!

Но если разобраться, питание, сон и гидратация — это все про внутреннее, про биохимию организма. А что насчёт окружающей среды? Как воздух, которым мы дышим, свет, которым мы освещаемся, и температурный режим, в котором мы находимся, влияют на продуктивность? Они имеют значение?

Обыватель скажет: «Ну конечно, имеют! Если не проветривать комнату, будет душно. Если не включать свет, будет плохо видно и сядет зрение. Ну а беспорядок на рабочем столе — отражение беспорядка в голове!».

На самом деле, все действительно так. Но для многих степень влияния среды на продуктивность все еще не очевидна в полной мере.

Простой пример: превышении нормы CO2 в помещении всего на 20% снижает когнитивные способности на целых 60%. А исходя из общемировой статистики, комната, в которой сейчас находится читатель, превышает норму CO2 минимум в 2 раза!

Читать далее
Total votes 21: ↑18 and ↓3+17
Comments47

Делаем AI-официанта с помощью OpenAI Assistants API и Vector Store в Telegram

Level of difficultyMedium
Reading time12 min
Views2.6K

Что, если в качестве контекста нам необходимо, чтобы модель знала не только историю переписки с конкретным пользователем, но ещё и какую-то общую информацию про бизнес или продукт?

Все эти проблемы призваны решить такие продукты OpenAI, как Assistants API и Vector Store. Vector Store — это векторное хранилище, в которое можно загрузить файлы с вашей документацией или базой знаний, они автоматически будут трансформированы в векторный формат, и при каждом запросе из хранилища будет выбираться только информация, актуальная для этого конкретного запроса, тем самым помогая модели точнее отвечать на вопросы и экономить токены.

Читать далее
Total votes 16: ↑14 and ↓2+19
Comments12

LR-парсеры

Level of difficultyEasy
Reading time7 min
Views976

LR-парсеры – это инструмент для анализа и синтаксического разбора языков программирования. LR в данном контексте означает Left-to-right, слева направо и Rightmost derivation, правое разложения. LR парсеры используют метод снизу вверх, который отличается от более известных LL-парсеров, работающих сверху вниз.

Одна из основных фич LR-парсеров - способность обрабатывать большую часть контекстно-свободных грамматик.

Читать далее
Total votes 10: ↑5 and ↓5+2
Comments1

Эффективная запитка от литиевых аккумуляторов (серия TI TPS63xxx)

Level of difficultyEasy
Reading time8 min
Views6.5K


Эта статья посвящена разбору решений по запитке 3,3-вольтовых контроллеров (и их периферии) от литиевых аккумуляторов, напряжение которых меняется в процессе работы от 4,2 В до 3 В и даже ниже, в случае глубокого разряда.

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

Обо всём этом мы и поговорим далее (решение есть!).
Читать дальше →
Total votes 36: ↑36 and ↓0+54
Comments25

Машинное обучение с Python и TensorFlow на Windows. Быстрый старт

Level of difficultyEasy
Reading time6 min
Views8.9K

Словосочетание «машинное обучение» становится всё более значимым с каждым годом и проникает во все возможные сферы жизни, а с появлением в открытом доступе таких нейронных сетей как Chat GPT [1] интерес к машинному обучению стал высок как никогда. Но при этом многих отпугивает сложность создания своих систем на основе машинного обучения, потому что нужно одновременного использовать и настраивать много разных инструментов разработки.

Поэтому я хочу представить вашему вниманию максимально простую инструкцию для быстрого погружения в мир машинного обучения. Инструкция ориентирована в первую очередь на начинающих программистов, мы будем применять Python 3 [2] с библиотекой TensorFlow [3]. Это лучший выбор для начинающих из-за простоты языка и большого сообщества разработчиков, использующих TensorFlow.

Читать далее
Total votes 16: ↑15 and ↓1+22
Comments8

Забытое исследование Оппенгеймера в области астрофизики объясняет, почему чёрные дыры существуют

Reading time11 min
Views23K

1930-е годы были захватывающим и противоречивым временем как для мировой экономики, так и для науки ядерной физики. Экономически Великая депрессия привела к росту безработицы, резкому падению мирового промышленного производства, внешней торговли, ВВП на душу населения и росту фашизма. Но на фоне этих геополитических событий в фундаментальной физике происходила очень маленькая революция: путешествие в атомное ядро. По всему миру физики собирали воедино кусочки головоломки ядерной физики, включая радиоактивность, открытие нейтрона, энергетический потенциал всей материи E = mc², а также физические процессы синтеза и деления.

До того как Дж. Роберт Оппенгеймер возглавил Манхэттенский проект, то есть разработку атомной бомбы, он был одним из многих учёных, изучавших последствия ядерной физики в самых экстремальных условиях, которые только можно себе представить: во время гравитационного коллапса самых массивных звёзд во Вселенной. В серии работ, опубликованных в конце 1930-х годов, Оппенгеймер вошёл в состав первой команды, которая определила предел массы ядра нейтронной звезды, которую оно может набрать до того, как оно полностью разрушится и превратится в то, что он тогда назвал «тёмной звездой», или, говоря современным языком, чёрной дырой.

Читать далее
Total votes 29: ↑29 and ↓0+37
Comments38

Девять измерений от Дирака?

Level of difficultyHard
Reading time2 min
Views7.1K

Вдогонку к сюжету про матрицы Паули, решил провести параллель с матрицами Дирака, которые состоят из матриц Паули.

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

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

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

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

Читать далее
Total votes 10: ↑9 and ↓1+12
Comments16

Разглядывая JTAG: самый быстрый программный JTAG на Arduino

Level of difficultyMedium
Reading time26 min
Views9.2K

В предыдущих статьях цикла был приведен пример реализации ведомого модуля JTAG на Verilog. Я предположил, что количество инженеров, знающих Verilog, меньше, чем количество инженеров, которым требуется понимание принципов работы JTAG. Поэтому, помимо реализации на Verilog, модуль JTAG был также реализован на Си.

Так как реализация на Си преследовала исключительно образовательную цель, то скорость её работы была принесена в жертву некоторой унифицированности подходов с реализацией на Verilog. Поэтому я был несколько удивлён, когда в личном сообщении @Sergei2405 спросил, нет ли способа ускорить работу примера для микроконтроллера, чтобы применить этот код в промышленном изделии.

Субъективно, практическое применение программного JTAG мне по‑прежнему видится не вполне оправданным.
Но, во‑первых, это хороший повод рассмотреть предельные возможности микроконтроллеров.
А во‑вторых, есть формальная причина сказать, что в данной статье предлагается Решение Прикладной Задачи :)

Итак, сегодня мы поговорим про прерывания, поллинг и прочее. А протокол JTAG станет фоном для повествования.

jmp start
Total votes 40: ↑40 and ↓0+55
Comments23

Почему для меня так важен алгоритм CORDIC

Level of difficultyMedium
Reading time8 min
Views16K

CORDIC — это алгоритм для вычисления тригонометрических функций вроде
sin, cos, tan и тому подобных на маломощных устройствах без использования модуля обработки операций с плавающей запятой или затратных таблиц поиска. По факту он сводит эти сложные функции до простых операций сложения и битового сдвига.

Перейду сразу к делу и скажу, почему я так сильно люблю этот алгоритм, а затем займёмся изучением принципов его работы. По сути, фактические операции CORDIC весьма просты — как я уже сказал, это сдвиги и сложение — но выполняет он их путём комбинирования векторной арифметики, тригонометрии, доказательств сходимости и продуманных техник компьютерных наук. Лично я считаю, что именно это имеют ввиду, описывая его природу, как «элегантную».
Читать дальше →
Total votes 87: ↑87 and ↓0+113
Comments27

Записки оптимизатора 1С (часть 6). Логические блокировки MS SQL Server в 1С: Предприятие

Level of difficultyEasy
Reading time7 min
Views4.5K

Поговорим о блокировках в 1С:Предприятие. Идея написать эту статью появилась «по просьбам слушателей». Постараюсь максимально простым языком, без зауми рассказать о природе блокировок и что с ними делать. В один пост весь материал помещать не буду — громоздко, поэтому сегодня речь пойдет о логических блокировках сервера СУБД.

С точки зрения конечного пользователя проблема избыточных блокировок выглядит почти одинаково — замедление при выполнении операций и/или ошибка. Но природа блокировок бывает разной и решения тоже разные.

Читать далее
Total votes 9: ↑9 and ↓0+12
Comments7

Второе рождение DSP или запуск нейросетей на процессорах К1967ВН044 от «Миландр»

Level of difficultyMedium
Reading time7 min
Views5.5K
Нейросети постепенно и незаметно проникают во все уголки нашей жизни. От огромных сеток, которые могут обыгрывать в шахматы чемпионов мира или вести беседу на уровне интеллигентного человека, до совсем маленьких, реагирующих на голосовые команды или выделяющих лица на фотографии.

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

В этой статье поделюсь нашим опытом запуска нейросетей на DSP процессоре фирмы «Миландр» К1967ВН044, тем более что в новой ревизии появился Ethernet и можно организовать быстрый обмен данными, например, с ПК.


Читать дальше →
Total votes 25: ↑23 and ↓2+30
Comments37

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Level of difficultyMedium
Reading time12 min
Views47K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее
Total votes 312: ↑312 and ↓0+371
Comments132

Век поиска кратчайшего решения задачи о кратчайшем пути

Level of difficultyMedium
Reading time22 min
Views9.9K

TL;DR Очень подробный разбор алгоритмов решения задачи о кратчайшем пути от классики до двунаправленного А* и ALT с кодом и примерами на OSM

Люди пытались найти более быстрые способы передвижения на протяжении всей своей истории. Появление качественной дорожной системы в римской империи в своё время привело к её расцвету, но со временем выяснилось, что и в продуманных дорожных системах бывают забавные изъяны, как например в небезызвестной задаче о кёнигсбергских мостах, считающейся отправной точкой возникновения теории графов. Неудивительно и то, что с развитием вычислительной техники логистические задачи стали одними из первых, над которыми трудились первопроходцы компьютерных наук. Задача о кратчайшем пути -- одна из них, звучит достаточно просто: есть несколько городов и дорог, соединяющих пару городов между собой, мы хотим попасть из города А в город Б пройдя при этом минимальное расстояние. Первый системный подход к этой задаче был описан в работе Эгервари в 1931г., спустя 25 лет Эдсгер Дейкстра придумал алгоритм, который сейчас является частью любого уважающего себя базового курса алгоритмов на графах. На нём же, будем честны, заканчиваются знания о кратчайших путях у большинства профессиональных разработчиков, ибо сценариев, где реализации с википедии/stackoverflow будет не хватать, крайне мало.

Может показаться, что на самом деле просто не было существенного прогресса с 60х годов, так как Дейкстра предоставил почти асимптотически оптимальный алгоритм решения задачи. На самом деле нет, прогресс был и придумали много чего интересного, хоть и действительно с того времени фокус сместился на другие задачи. Приглашаю под кат если интересно узнать что такого напридумывали, что используется в современных логистических системах, почему меня огорчает отсутствие учёта флага единства в HOMM3 при расчёте пути, ну и наконец, что за мужики на картинке выше рядом с Дейкстрой?

Читать далее
Total votes 42: ↑42 and ↓0+52
Comments14

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python

Level of difficultyHard
Reading time34 min
Views20K

Кластеризация — это набор методов без учителя для группировки данных по определённым критериям в так называемые кластеры, что позволяет выявлять сходства и различия между объектами, а также упрощать их анализ и визуализацию. Из-за частичного сходства в постановке задач с классификацией кластеризацию ещё называют unsupervised classification.

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

Читать далее
Total votes 36: ↑36 and ↓0+36
Comments3

История 3D-печати: от идеи к первым опытам и настоящему

Reading time19 min
Views4.7K

Каких-то 40 лет назад 3D- печать казалась уделом фантастических рассказов, несмотря на то, что тогда уже были разработки и  возможности для реализации. Но волшебная аура вроде: «А почему бы мне не напечатать себе дом или автомобиль?» больше напоминала перспективы термоядерного синтеза. Мол, вот еще 50 лет...

Однако после 1983 года, когда Чак Халл сделал первый 3D-принтер, технология в один момент стала сбывшейся мечтой. Сейчас любой может купить на Aliexpress недорогой принтер себе домой и получать детали относительно приемлемого качества. И это уже не говоря о промышленных вариантах, творящих настоящие чудеса. В этой статье разберемся, в чем суть технологии, как она появилась и развивалась, а также в каких отраслях и зачем ее используют.

Читать далее
Total votes 14: ↑12 and ↓2+13
Comments1

Делаем из битого планшета одноплатник: подключаем Android-устройства к дешевым микроконтроллерам через UART

Level of difficultyEasy
Reading time6 min
Views35K
image

В наше время, из-за санкций одноплатники стали стоить каких-то «конских» денег. Даже б/у RaspberryPi Zero стоит 2-3 тысячи рублей на барахолках, что, мягко скажем, не совсем лояльная цена для «самого дешевого одноплатного компьютера в мире». Конечно, Orange Pi Zero всё ещё можно купить в пределах 1.500-2.000 рублей, но как по мне и эта цена не слишком лояльна за те характеристики, который предлагает такой одноплатник. С другой стороны, Android-планшеты 10-летней давности продаются на барахолках по 100-300 рублей, что выглядит гораздо привлекательнее, причём на некоторые устройства практически без костылей можно установить полноценный дистрибутив Linux! Вероятно, многие читатели скажут мол «автор бомж» и будут правы: ведь в рамках этой статьи, я хочу рассказать о том, как использовать полурабочий древний планшет в качестве полноценного одноплатника путём подключения его к микроконтроллеру и выводу GPIO! Сегодня мы с вами: узнаем, как подключить микроконтроллер к шине UART в планшете и научимся работать с последовательной шиной в Android прямо из Java и нативных программ. Интересна моя концепция антикризисного одноплатника? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 74: ↑72 and ↓2+90
Comments61

Пишем «Змейку» в 12 строк кода на PyTorch

Level of difficultyEasy
Reading time5 min
Views19K

Давайте рассмотрим, как использовать линейную алгебру и тензорные операции, чтобы создать всем известную игру в 12 строк.

Будем использовать PyTorch и NumPy. Можно было использовать даже какую-то одну из библиотек, но у PyTorch прекрасное Tensor API, а в NumPy есть хорошая функция под названием unravel_index, которую мы и будем использовать.

Читать далее
Total votes 25: ↑24 and ↓1+31
Comments26

Миссия, цели, ценности и слоган компании: зачем они нужны, какие функции выполняют и как придумать?

Level of difficultyEasy
Reading time8 min
Views1.6K

Без зубодробительной нудности и с пониманием мотива разберём давний вопрос, а не так, как это делает Ваша HR-служба на стадии адаптации сотрудника. Расскажу, почему это необходимо для крупного бизнеса, как их наличие помогает компаниям, а также, что нужно знать при их формировании на этапах планирования и разработки. Готовьте чай, впереди — лонгрид.

Читать далее
Total votes 13: ↑5 and ↓8+4
Comments33
1
23 ...

Information

Rating
1,830-th
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity