Как стать автором
Обновить
0
0
Андрей Ставринов @hypeastrum

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

Отправить сообщение

Типичные распределения вероятности: шпаргалка data scientist-а

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

У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
Читать дальше →
Всего голосов 86: ↑85 и ↓1+84
Комментарии28

Теплые ламповые часики для гиков на любой вкус

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

После завершения своего мега проекта системы автополива у меня началось временное помешательство. В смысле я начал проект механических часов. Дабы быть максимально оригинальным, я решил внимательно проштудировать все существующие конструкции любительских часов, начав поиск с ламповых экземпляров.
С удовольствием делюсь данным обзором и с вами, так что подкатом вы найдете много теплых ламповых и винтажных видео.
Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии32

Pix2Pix: Как работает генератор кошечек

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

Вы все, наверное, уже видели сверх-реалистичных кошечек, которых можно рисовать вот тут.


image


Давайте разбираться, что же там внутре.

Читать дальше →
Всего голосов 61: ↑57 и ↓4+53
Комментарии25

Про автоматизацию подбора аккордов

Время на прочтение17 мин
Количество просмотров59K
Меня давно занимал вопрос: «а что, если попробовать прогнать цифровую запись песни через преобразование Фурье, посмотреть зависимость спектра от времени и попытаться вытащить из полученной информации аккорды песни?». Вот, наконец, нашел время попробовать…
Читать дальше →
Всего голосов 137: ↑135 и ↓2+133
Комментарии42

Использование SVG для рисования набросков схем

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

Введение


Эта статья о том, как набросать простенькую схемку из десятка элементов, когда под рукой нет ни Altium'а, ни Orcad'a, ни даже Visio, а Draw.io внезапно сломался.

Это совсем не сложно: современные браузеры поддерживают язык разметки SVG, с помощью которого в обычном текстовом редакторе можно легко и быстро нарисовать небольшую схему типа:

Sketch of a low-power step-up converter

Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии17

А если без JavaScript?

Время на прочтение3 мин
Количество просмотров71K
В нашем мире без JavaScript никуда! Куча фреймворков, библиотек и прочей радости! jQuery плотно вошел в нашу жизнь. React с Angular пробивают дорогу к светлому будущему. Да и не за горами поддержка браузерами ES6 без Babel.

Но если тема заходит об обычном сайте со стандартным функционалом, не редки случаи, когда JavaScript начинают “злоупотрелять”. И все, в принципе, нормально… Но порой задаешься вопросом: «А если без JavaScript?».
Всего голосов 90: ↑76 и ↓14+62
Комментарии131

Обзор топологий глубоких сверточных нейронных сетей

Время на прочтение18 мин
Количество просмотров107K
Это будет длиннопост. Я давно хотел написать этот обзор, но sim0nsays меня опередил, и я решил выждать момент, например как появятся результаты ImageNet’а. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в лучших традициях кэгла является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже выжали все что можно? Или NVidia слишком задрала цены на GPU и тем самым тормозит развитие ИИ? Зима близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

Читать дальше →
Всего голосов 108: ↑108 и ↓0+108
Комментарии57

Парсинг JSON — это минное поле

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

JSON — это стандарт де-факто, когда заходит речь о (де)сериализации, обмене данными в сети и мобильной разработке. Но насколько хорошо вы знакомы с JSON? Все мы читаем спецификации и пишем тесты, испытываем популярные JSON-библиотеки для своих нужд. Я покажу вам, что JSON — это идеализированный формат, а не идеальный, каким его многие считают. Я не нашёл и двух библиотек, ведущих себя одинаково. Более того, я обнаружил, что крайние случаи и зловредная полезная нагрузка могут привести к багам, падениями и DoS, в основном потому, что JSON-библиотеки основаны на спецификациях, которые со временем развиваются, что оставляет многие вещи плохо или вообще не задокументированными.

Читать дальше →
Всего голосов 170: ↑164 и ↓6+158
Комментарии60

Математика CSS-шлюзов

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

CSS-шлюзом (CSS-lock) называется методика из адаптивного веб-дизайна, позволяющая не перепрыгивать от одного значения к другому, а переходить плавно, в зависимости от текущего размера области просмотра (viewport). Идею и одну из реализаций предложил Тим Браун в статье Flexible typography with CSS locks. Когда я пытался разобраться с его реализацией и создать свои варианты, мне с трудом удавалось понять, что именно происходит. Я выполнил много вычислений и подумал, что полезно будет объяснить другим всю эту математику.

В статье я опишу саму методику, её ограничения и лежащую в её основе математику. Не волнуйтесь: там в основном одни сложения и вычитания. К тому же я постарался всё разбить на этапы и украсил их графиками.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии37

Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан

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

Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали стилизацию видео, т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения, и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с прошлым постом перед прочтением этого материала и вообще с основами сверточных нейронных сетей. Вас ждет немного формул, немного кода (примеры я буду приводить на Theano и Lasagne), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.


Читать дальше →
Всего голосов 145: ↑141 и ↓4+137
Комментарии38

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

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

Сегодня без «жести», как вы просили

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

— Если я посмотрю в сторону во время работы лазера, что случится?

У вас попросту не выйдет. На самом деле сразу после обезболивания глаз прижимается к специальному пневмозахвату. Моргнуть у вас тоже не выйдет из-за фиксации (это небольно и недолго). Единственный момент, где можно серьёзно нарушить ход операции — это сильно дёрнуть головой, серьёзным волевым усилием вытащив её из подголовника. В этом случае операция мгновенно прекратится. Точнее, она прекратится даже до потери захвата (детали ниже).

— Как должна быть подготовлена операционная?

В целом — как обычная операционная, то есть это помещение с чистой зоной (фильтрация воздуха, избыточное давление для предотвращения загрязнений извне после очистки). Для процедуры важно, чтобы между линзой лазера и глазом не попадали микрочастицы пыли, летающие в воздухе.
Читать дальше →
Всего голосов 107: ↑107 и ↓0+107
Комментарии220

Анимации на GPU: делаем это правильно

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

Думаю, все уже знают, что современные браузеры умеют рисовать некоторые части страницы на GPU. Особенно это заметно на анимациях. Например, анимация, сделанная с помощью CSS-свойства transform выглядит гораздо приятнее и плавнее, чем анимация, сделанная через top/left. Однако на вопрос «как правильно делать анимации на GPU?» обычно отвечают что-то вроде «используй transform: translateZ(0) или will-change: transform». Эти свойства уже стали чем-то вроде zoom: 1 для IE6 (если вы понимаете, о чём я ;) для подготовки слоя для анимации на GPU или композиции (compositing), как это предпочитают называть разработчики браузеров.


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

Всего голосов 78: ↑78 и ↓0+78
Комментарии26

Фотостудия для съёмок пластилиновой игры

Время на прочтение3 мин
Количество просмотров32K
Привет! В жизни почти каждого разработчика игр наступает момент, когда он отбивается от стаи, выкапывает себе нору и начинает в одиночку делать «лучшую в мире игру, не то что эти всякие». 2 года назад это случилось и со мной. Не обладая навыками художника, я решил замахнуться на stop-motion анимацию и делать всю графику из пластилина.

image
Читать дальше →
Всего голосов 130: ↑130 и ↓0+130
Комментарии97

Каверзные кватернионы

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


Отгадайте загадку: в четырёх измерениях сидит и комплексными числами воротит?

Подсказка: это вектор со скаляром. И вещественная матрица. И придумал его Гамильтон.

Не помогло? Ну что вы, это же элементарно! Это кватернион! Кватернионы используют для записи вращений в робототехнике, игровых движках, ПО для моделирования и вообще везде, где не нужны проблемы с углами Эйлера или матрицами. Если вас испугала путаница выше с разными представлениями кватерниона, то можете быть спокойны. Кватернионы очень просты в использовании и их внутреннее строение может понадобиться только в очень редких случаях, где нужна тонкая оптимизация. В остальное время с помощью кватернионов можно крутить всё что угодно и как угодно, и оно будет плавно и красиво интерполироваться без шарнирных замков.
Что же такое кватернион?
Всего голосов 110: ↑102 и ↓8+94
Комментарии48

Анализ доклада Сергея Куксенко с JPoint 2016

Время на прочтение7 мин
Количество просмотров5.6K
Сегодня открываем новую рубрику: разбор технических выступлений. Если взять в целом удачный доклад с IT-конференции и формализовать в нём те моменты, благодаря которым он хорош, то можно многому научиться в плане выступлений. А если в том же докладе формализовать ещё и моменты, которые можно улучшить, то польза будет двойная. Тем, кто собирается выступать на конференциях, это пригодится. Да и тем, кто давно и успешно там выступает, это тоже не повредит.

Сегодня вашему вниманию предлагается доклад Сергея Walrus Куксенко на JPoint 2016: «Quantum Performance Effects II: Beyond the Core».


Слайды тут

Дисклеймер: про Java только сам доклад, если вы его ещё не видели. Статья под катом — про доклад.
Всего голосов 28: ↑28 и ↓0+28
Комментарии18

Очки дополненной реальности из старого советского калькулятора

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

Очки дополненной реальности это нереально крутая штука! Правда до сих трудно сказать, такая ли это необходимая вещь как смартфон, или же просто дорогая игрушка. Рассмотрим интересный проект умных очков для профессионального применения, которые облегчают работу электрика/электронщика. Сделаем его в стиле старого доброго DIY с ардуинами и 3d принтерами.
Много трафика!
Всего голосов 77: ↑77 и ↓0+77
Комментарии43

Семь советов по внедрению HTTP/2

Время на прочтение9 мин
Количество просмотров45K
Недавно вышла новая версия стандарта HTTP. В мае 2015 года был утвержден HTTP/2, который получил распространение среди браузеров и веб-серверов (включая NGINX и NGINX Plus). На данный момент более 60% используемых браузеров поддерживают HTTP/2, причем эта цифра продолжает увеличиваться с каждым месяцем.

Стандарт HTTP/2 основан на протоколе SPDY, разработанном компанией Google. В Google Chrome поддержка SPDY будет осуществляться до начала 2016 года. NGINX одним из первых реализовал протокол SPDY и сейчас играет ведущую роль в продвижении HTTP/2. Была опубликована статья, в которой дано подробное описание HTTP/2, приводится сравнение со SPDY и подробно описывается процесс внедрения нового протокола.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии10

Используем OpenCL в Python

Время на прочтение6 мин
Количество просмотров31K
В последнее время параллельные вычисления прочно входят в жизнь, в частности, с использованием GPU.

Здесь было много статей на эту тему, поэтому ограничусь лишь поверхностным описанием технологии. GPGPU — использование графических процессоров для задач общего назначения, т.е. не связанных напрямую с рендерингом. Пример — библиотека Nvidia PhysX для расчёта физики в некоторых современных играх. Эта технология выгодна тем, что GPU хороши на параллельном выполнении с множеством потоков. Правда, потоков должно быть много, иначе производительность сильно упадет. Ещё из-за особенностей работы с памятью приходится несколько хитрить с передачей данных из оперативной памяти в видеопамять. Известные реализации: CUDA (Nvidia, только для видеокарт), OpenCL (Khronos Group, для гетерогенных систем) и AMD FireStream. Здесь будет обсуждаться только OpenCL.

Итак, приступим к практике. В качестве языка основной программы выберем Python. Он, конечно, не очень быстр сам по себе, зато отлично работает как «клей» — во многих применениях основной расчёт идёт в OpenCL, а код на Python только «подносит патроны». Существует отличная библиотека PyOpenCL, которой и будем пользоваться.

Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии6

Камеры фото и видео 360 градусов от «А» до «Я»: Google Jump, Samsung Gear 360, Nokia OZO и многие другие…

Время на прочтение9 мин
Количество просмотров61K
Всем доброго времени суток!

Многие называют 2016 год годом виртуальной реальности — столько выходит ожидаемых гаджетов… Поступил в продажу потребительский вариант Oculus Rift, Samsung дарит свою VR-гарнитуру Gear VR всем покупателям смартфона S7, многие другие производители заявили о поддержке VR-технологий в своих устройствах — смартфонах, игровых консолях, платформах.

В 2016 году ожидается настоящий бум камер 360 — выходят больше десятка полноценных устройств, способных снимать «фото 360» или «видео 360» нажатием одной кнопки! Нам показалось полезным собрать в одном месте все анонсированные камеры 360 и их заявленные характеристики (а в продаже ведь еще почти ничего нет.......:(((), что мы и сделали ниже.

image

В наш список анонсированных камер 360 вошли: профессиональный сегмент «видео 360» (Dodeca 360 camera, Google Jump + GoPro Odyssey, Samsung Project Beyond, Nokia OZO), потребительский (Giroptic 360cam, Bublcam, Ricoh Theta S, 360Fly, Nikon KeyMission 360, Vuze Camera, Samsung Gear 360, LG 360 cam, Orah 4i Live Spherical VR Camera), панорамное видеонаблюдение (IC Allie Home, IC Allie Beam, Blackloud ICE360).

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии7

Как подружить Tensorflow и C++

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

Google TensorFlow — набирающая популярность библиотека машинного обучения с акцентом на нейросетях. У нее есть одна замечательная особенность, она умеет работать не только в программах на Python, а также и в программах на C++. Однако, как оказалось, в случае С++ нужно немного повозиться, чтобы правильно приготовить это блюдо. Конечно, основная часть разработчиков и исследователей, которые используют TensorFlow работают в Python. Однако, иногда бывает необходимо отказаться от этой схемы. Например вы натренировали вашу модель и хотите ее использовать в мобильном приложении или роботе. А может вы хотите интегрировать TensorFlow в существующий проект на С++. Если вам интересно как это сделать, добро пожаловать под кат.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии17
1

Информация

В рейтинге
Не участвует
Откуда
Железнодорожный (Московск.), Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность