Search
Write a publication
Pull to refresh
43
0
Михаил Лукин @Ktator

Программист

Send message

Необходимый инструмент для каждого дата-сайентиста

Reading time5 min
Views3.8K
image

Давайте посмотрим правде в глаза: обучение модели машинного обучения отнимает много времени, даже с учетом развития вычислительной техники за последние несколько лет. Даже самые тривиальные модели имеют более миллиона параметров. В масштабе крупнее у моделей бывает более миллиарда параметров — у GPT-3 их более 175 миллиардов! и обучение этих моделей занимает дни, а то и недели. Как дата-сайентисты мы хотели бы следить за метриками модели, чтобы знать, работает ли она, как мы того ожидаем. Но нет смысла сидеть рядом с компьютером, часами отслеживая показатели. Хорошо было бы получить все эти данные на телефон.

Эту задачу можно решить с помощью TensorDash — инструмента удаленного мониторинга ваших моделей машинного обучения с открытым исходным кодом, о котором и пойдет речь дальше. Под катом примеры применения TensorDash с TensorFlow, Keras, PyTorch и Fast.ai.
Приятного чтения!

Цвет в современных фильмах

Reading time11 min
Views108K

Всем привет, меня зовут Денис. Я работаю художником по свету (Lighting Artist) в игровой индустрии. Часто читаю Хабр просто потому что интересно и вот сегодня увидел статью Дефицит цветов в современных фильмах которая меня немного ошарашила. Ведь в кино существуют целые отделы композитинга, которые занимаются цветокоррекцией изображения, чтобы конечный результат выглядел красиво, а также вызывал определённые эмоции. Поэтому меня сильно удивило, что кто-то видит в этом отрицательную сторону.

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

Давайте разбираться, почему же в кино цветовая палитра сводится к нескольким конкретным цветам, а не представляет полный спектр. Хочу заметить, что всё нижеупомянутое применимо и к современным играм.
Читать дальше →

«Однорукий интерфейс»: баг или фича, позволяющая Делимобилю отнимать деньги у пользователей?

Reading time10 min
Views61K
История о том, как с помощью одной нехитрой уловки в логике работы мобильного приложения (и не только) Делимобиль занимается перекладыванием ответственности за автомобиль и выписывает крупные штрафы за то, чего пользователь не совершал.

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



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

Как говорится, времена меняются. Бандиты существует теперь в специализированных игровых зонах. А на смену им приходят интерфейсы, у которых вместо одного рычага одна кнопка, и с которыми мы также взаимодействуем одной рукой, только уже через смартфон.
Читать дальше →

Deep Learning Inference Benchmark — измеряем скорость работы моделей глубокого обучения

Reading time6 min
Views6.5K


Перед разработчиками встает задача определения производительности железа в задаче исполнения глубоких моделей. Например, хочется решить проблему анализа пола-возраста покупателей, которые заходят в магазин, чтобы в зависимости от этого менять оформление магазина или наполнение товаром. Вы уже знаете какие модели хотите использовать в вашем ПО, но до конца не понятно как выбрать железо. Можно выбрать самый топ и переплачивать как за простаивающие мощности, так и за электроэнергию. Можно взять самый дешевый i3 и потом вдруг окажется, что он может вывезти каскад из нескольких глубоких моделей на 8 камерах. А может быть камера всего одна, и для решения задачи достаточно Raspberry Pi с Movidius Neural Compute Stick? Поэтому хочется иметь инструмент для оценки скорости работы вашего инференса на разном железе, причем еще до начала обучения.

Читать дальше →

Проверка коллекции header-only C++ библиотек (awesome-hpp)

Reading time17 min
Views5K
PVS-Studio и Awesome hpp

Волею судьбы мы проверили большинство библиотек, входящих в коллекцию под названием "Awesome hpp". Это небольшие проекты на языке C++, состоящие только из заголовочных файлов. Надеемся, найденные ошибки помогут сделать эти библиотеки немного лучше. Также мы будем рады, если их авторы начнут бесплатно использовать анализатор PVS-Studio на регулярной основе.
Читать дальше →

Я принес вам решение проблемы с исключениями в C#. Но вам не понравится

Reading time8 min
Views46K


Я каждый день пишу код на сишарпе, и натыкаюсь на одну проблему: я трачу кучу времени на то, чтобы решить, как быть, если что-то идёт не по плану.

У меня есть приличный опыт работы с другими языками программирования, и стандартный подход по работе с ошибками в C# мне не нравится. Но языки и платформы устроены так, что ты решаешь проблемы не как считаешь нужным, а так, как принято.

Эти размышления меня измучили, и я систематизировал свои знания и идеи по обработке исключительных случаев.
Читать дальше →

Быстрое развертывание любого приложения вместе с Waypoint

Reading time8 min
Views4.4K

К публикуемым в нашем блоге авторским статьям и переводным материалам про лайфхаки/интересные находки мы решили добавить разбор нового проекта. Waypoint — опенсорсный проект, предоставляющий разработчикам последовательный рабочий процесс сборки, развертывания и релиза приложений на любой платформе. Waypoint позволяет разработчикам провести свои приложения от разработки до производственной среды в одном файле и развертывать приложения с помощью одной команды: waypoint up. Waypoint из коробки поддерживает Kubernetes, HashiCorp Nomad, Amazon ECS, Google Cloud Run, экземпляры контейнеров Azure, Docker, Buildpacks и не только. Читайте дальше, чтобы увидеть небольшой пример, узнать больше о функциях Waypoint и о проблемах, которые решает инструмент.
Приятного чтения!

TensorFlow на Google Cloud. Масштабируемый рабочий процесс

Reading time10 min
Views3.2K

Сфера Data Science настолько обширна и настолько быстро развивается, что изучить «вообще всё» в ней попросту невозможно. Но вас не должно это демотивировать, ведь выход один — развиваться и не дать себя захватить страху «как же мало я знаю».

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

Переменные CSS — курс молодого бойца

Reading time12 min
Views24K

Переменные CSS (также известные как настраиваемые свойства) поддерживаются браузерами почти 4 года. Мне нравится применять их в зависимости от проекта или ситуации. Они очень полезны и просты в использовании, но зачастую фронтенд разработчик неправильно использует или неправильно понимает их.

Основная цель статьи: я хочу иметь место, где собрано все, что я знаю о переменных CSS, чтобы узнать и понять больше. Здесь вы прочитаете обо всем, что должны знать о переменных CSS, включая примеры применения в коде. Вы готовы? Тогда погружаемся.
Приятного чтения!

Модерация изображений: уроки этикета от Data Scientist’a, часть 2

Reading time6 min
Views3K
Привет, Хабр!

Мы продолжаем серию статей про модерацию контента на площадках Центра Развития Финансовых Технологий Россельхозбанка. В прошлой статье мы рассказывали, как решали задачу модерации текста для одной из площадок экосистемы для фермеров “Свое Фермерство”. Почитать немного о самой площадке и о том какой результат мы получили можно здесь.

Если коротко, то нами использовался ансамбль из наивного классификатора (фильтр по словарю) и BERT’a. Тексты, прошедшие фильтр по словарю, пропускались на вход в BERT, где они также проходили проверку.

А мы, совместно с Лабораторией МФТИ, продолжаем улучшать нашу площадку, поставив перед собой более сложную задачу премодерации графической информации. Эта задача оказалась сложнее предыдущей, так как при обработке естественного языка можно обойтись и без применения нейросетевых моделей. С изображениями все сложнее — большинство задач решается с помощью нейронных сетей и подбором их правильной архитектуры. Но и с этой задачей, как нам кажется, мы неплохо справились! А что у нас из этого получилось, читайте далее.

image

Читать дальше →

Самые важные архитектурные шаблоны, которые нужно знать

Reading time7 min
Views92K

Рассказываем о самых распространенных шаблонах в архитектуре ПО. Разбираемся с контекстом и решаемыми задачами, обсуждаем достоинства и недостатки.

- Многоуровневая архитектура

- Каналы и фильтры

- Клиент — сервер

- Модель — представление — контроллер

- Управляемая событиями архитектура

- Архитектура на основе микросервисов

Читать далее

Оптимизация 3D-графики под WebGL (опыт PLANT-SIM)

Reading time8 min
Views7.9K

В этой статье речь пойдет об оптимизации Unity-сцены проекта Plantsim 1.0.: о визуальной части цифровой копии предприятия Tennessee Eastman Process, реализованного на Unity 2017.1.1f1.


image


Заметка от партнера IT-центра МАИ и организатора магистерской программы “VR/AR & AI” — компании PHYGITALISM.

Читать дальше →

«На пике» Брэда Сталберга и Стива Магнесса: профилактика самовозгорания (часть первая)

Reading time10 min
Views4K


Книга Брэда Сталберга и Стива Магнесса «На пике: как поддерживать максимальную эффективность без выгорания» вызывает невольный интерес уже своей предысторией. Она стала продуктом творческого тандема профессионального спортсмена и финансового аналитика – двух людей, у которых не было абсолютно ничего общего, кроме бесславного финала карьеры. Оба подавали надежды, работали как проклятые, добились немалых успехов… а затем выгорели настолько, что не смогли продолжать и ушли из профессии. Книга стала их совместной попыткой осмыслить, что именно произошло с ними и происходит с тысячами работников в других отраслях и как можно было это предотвратить. Здесь мало публицистики и много цитат из социологических и биологических исследований, из которых складывается картина того, что представляет собой продуктивность, где проходят её пределы и как держаться в этих пределах, не доводя себя до изнеможения.

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

Реализация маневрирования юнитов в играх (избегание столкновений)

Reading time6 min
Views16K
Задача движения юнитов в играх является одной из ключевых задач, стоящих перед разработчиками игр. От того, как двигаются игровые юниты, во многом зависит восприятие всего геймплея в целом.

Традиционно считается, что достаточно реализовать алгоритм поиска пути и дальше всё будет работать само собой.

На практике же мы имеем совсем другую ситуацию.

Алгоритмы поиска пути разобраны досконально.

Нужен поиск пути с весами? A*. Нужен поиск для большого количества юнитов? Flow Field или кластеризация.

По большому счету по поиску пути не осталось не разобранных вопросов.

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

Эти проблемы и будем сегодня решать.



Disclaimer
Данная статья не претендует на исчерпывающее решение обозначенной проблемы.
Я лишь рассказываю о том, как конкретно мне видится решение, над которым я работал. Это решение в оттюнингованном виде попало в один из зарелизенных в этом году РТС проектов, но осталось ли там на данный момент я не знаю. Комментарии и дополнения приветствуются.

7 бесплатных книг, которые следует прочитать каждому дата-сайентисту

Reading time4 min
Views15K


Самообразование — пожалуй, один из самых сложных путей и процессов для взрослого человека. Когда вокруг столько отвлекающих факторов, уже трудно заставить себя довести дело до конца (особенно если мотивация неочевидна). Но самообразование как эволюция — это неотъемлемый элемент жизни любого профессионала или того, кто хочет им стать. Книги в этом случае могут стать тем самым выстрелом, которым убиваются два зайца, вы и растете как специалист, и не «выпадаете из жизни». Автор материала подобрал 7 бесплатных электронных книг, которые помогут вам изучать Data Science и ML.
Читать дальше →

Дайджест интересных материалов для мобильного разработчика #354 (20 — 26 июля)

Reading time4 min
Views3K
В этом выпуске облачные игры и правосторонние интерфейсы, обновленный Office и бездушные монетизаторы, рост гипер-казуальных игр и спад у ML-инженеров, ролики и локализация, дизайн системы и серверный UI, сервисы на Dart и многое другое!


Один из победителей iPhone Photography Awards 2020
Читать дальше →

Один в поле не воин или как бэкендер фулстеком попытался стать

Reading time12 min
Views9.7K

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

Читать дальше →

Как определить функционал MVP и влюбить клиента в пилотную версию продукта

Reading time5 min
Views12K

Итак, MVP. Достаточно заезженная тема, на мой взгляд. Каждый, кто хоть как-то связывал себя с разработкой программного обеспечения за последние 5 лет, с 99% вероятностью слышал эти 3 буквы. Но даже несмотря на обилие информации, народ все равно наступает на грабли «идеального продукта» при создании проектов.


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


Начну с вирусной зарисовки пути развития стартапа по принципу MVP, которая гуляет по интернету и которую вы наверняка встречали.


image


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

Читать дальше →

Горшочек, вари: серверный ARM-чип Marvell ThunderX3 с 96 ядрами и SMT4 для 384 потоков

Reading time2 min
Views15K

Недавно мы публиковали новость о 128-ядерном ARM-процессоре Altra Max. Также на Хабре упоминали серверные ARM-чипы, которые использует компания Amazon. Но, как оказалось, серверные процессоры c архитектурой ARM выпускают и другие компании.

Так, еще в конце марта этого года был анонсирован процессор Marvell ThunderX3, это новое поколение серверных чипов от компании Marvell. Производитель увеличил количество ядер в своих процессорах с 32 до 96, оставив поддержку SMT4, которая дает возможность обрабатывать четыре потока одним ядром. Соответственно, такой чип способен обрабатывать 384 потока.
Читать дальше →

10 отличных Github репозиториев для разработчиков (часть 2)

Reading time4 min
Views17K

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



Как и в прошлом случае, перевод будет довольно вольным: я опустил предисловие и эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, поехали.
Читать дальше →

Information

Rating
8,104-th
Registered
Activity

Specialization

Chief Technology Officer (CTO), GPGPU Developer