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

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

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

Автоматическая визуализация python-кода. Часть третья: новые возможности графического представления кода

Время на прочтение8 мин
Количество просмотров14K
Ссылки на предыдущие части:

  • Часть первая — обсуждены блок-схемы, имеющиеся инструменты для работы с блок-схемами, а также все графические примитивы, необходимые для создания графического представления кода.
  • Часть вторая — обсуждены реализация ( выполнена, в основном, на Питоне) генерации графического представления кода, реализованная и планируемая функциональность, предлагаемый микро язык разметки.

Пример среды, поддерживающей такое графическое представление показан на картинке ниже.

image

Среда, поддерживающая графическое представление кода

В третьей части статьи речь пойдет о новых возможностях графического представления кода.
Читать дальше →

Соревнование Pri-matrix Factorization на DrivenData с 1ТБ данных — как мы заняли 3 место (перевод)

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

Привет, Хабр! Представляю вашему вниманию перевод статьи "Animal detection in the jungle — 1TB+ of data, 90%+ accuracy and 3rd place in the competition".


Или чему мы научились, как выигрывать призы в таких соревнованиях, полезные советы + некоторые мелочи


TLDR



Суть соревнования — например, вот это случайное видео с леопардом. Все видеоролики длятся 15 секунд, а их 400 тысяч...



Заключительные результаты в 3 часа ночи, когда конкурс закончился — я был в поезде, но мой коллега засабмитил заявку за 10 минут до окончания конкурса


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

Алан Кей: крутым концепциям тоже нужна любовь

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

Позвольте мне начать с показа видео, записанного Национальным научным фондом (National Science Foundation, далее NSF) на недавно прошедшей церемонии вручения дипломов в Гарварде, в котором они просили некоторых выпускников и их преподавателей ответить на несколько простых вопросов о том, что является причиной смены времен года и фаз Луны. Все были уверены в своих ответах, но пояснения приблизительно 95% опрошенных даже и близко не были похожи на научное обоснование.

Их основные теории основывались на том, что смена времен года является следствием уменьшения расстояния между Землей и Солнцем в летний период, и что фазы Луны связаны с отбрасываемой Землей тенью. Некоторые из выпускников довольно много занимались наукой и в старшей школе, и в Гарварде. NSF использовал эти данные, чтобы открыть дискуссию на тему того, почему наука не усваивается так хорошо, даже после многих лет обучения. Не усваивается так хорошо даже большинством успешных студентов, с высокими показателями в SAT, в лучших университетах, с полным доступом к компьютерам, сетям и информации.

Моя реакция была немного иной. Я все ждал «других вопросов», которые должен был задать NSF, но они так их и не задали. Такой шанс мне выпал через несколько недель после выступления в UCLA. Я задал некоторым старшеклассникам, аспирантам первого курса, и нескольким профессорам те же самые вопросы про смену сезонов и фазы Луны, и получил очень похожие результаты: около 95% опрошенных давали фиктивные объяснения, обосновываясь на том же самом, что и студенты и профессора Гарварда, Но теперь я должен задать следующие вопросы.
Читать дальше →

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

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

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


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

Что же делать начинающему, в лучшем случае, музыканту? Я маршировал в колледже, поэтому понимаю, что такое ритм, фразировка и темп, но мои возможности по созданию музыки остановились где-то на уровне средней школы.

К счастью, у нас, авторов фильмов и подкастов с проблемами с музыкой, теперь есть специальные роботы. За последнее время появилось несколько ИИ-проектов хорошего качества – одним из самых заметных, пожалуй, будет Flow Machines от Sony, дебютный альбом которого вышел в январе – и медленно, но верно эти инструменты перемещаются из исследовательских лабораторий и профессиональных студий в общий доступ.
Читать дальше →

3D лазерный сканер на Android телефоне

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

Представляю вниманию DIY сканер на базе Android смартфона.

При проектировании и создании сканера, в первую очередь, интересовало сканирование крупных объектов. Минимум – фигура человека в полный рост с точность – хотя бы 1-2 мм.

Данные критерии успешно достигнуты. Успешно сканируются объекты при естественном освещении (без прямого солнечного света). Поле сканирования определяется углом захвата камеры смартфона и расстоянием, на котором лазерный луч сохраняет достаточную для детектирования яркость (днем в помещении). Это фигура человека в полный рост (1.8 метров) с шириной захвата в 1.2 метров.

Сканер был сделан из соображений «а не сделать ли что ни будь более или менее полезное и интересное, когда заняться нечем». Все иллюстрации – на примере «тестового» объекта (выкладывать сканы людей не корректно).

Как показал опыт, для сканера такого типа ПО — это вторично и на него было потрачено меньше всего времени (на окончательный вариант. Не считая эксперименты и тупиковые варианты). Поэтому в статье особенностей ПО касаться не буду (Ссылка на исходные коды в конце статьи.)

Цель статьи – рассказать о тупиковых ветках и проблемах, собранных на пути к созданию окончательной рабочей версии.

Amazon Echo Dot vs. Google Home Mini — какой помощник лучше?

Время на прочтение21 мин
Количество просмотров13K
Голосовой интерфейс для взаимодействия с устройствами Интернета вещей (IoT) стремительно вторгается в повседневную жизнь. Если раньше механические, сенсорные переключатели и кнопки вполне устраивали, как средства коммуникации с техническими объектами, то сейчас привередливый пользователь с удовольствием произнесет простую фразу: «Alexa, turn living room lights on.» для того, чтобы включить свет и т.п. Впрочем, когда-то для этого требовалось всего лишь «хлопнуть в ладоши». Сейчас, наоборот, искусственный интеллект голосового ассистента делает вполне уверенные попытки осмысления голосовых запросов, сделанных в произвольной манере. В прошлой публикации «Что мы знаем об Amazon Alexa? Или первые впечатления от Amazon Echo Dot» была рассмотрена инфраструктура голосового ассистента Amazon Alexa на примере устройства Echo Dot. Вот и пришла пора рассмотреть конкурента в той же ценовой нише — Google Home Mini.


Похожие друг на друга Amazon Echo Dot и Google Home Mini, или это совсем разные устройства?

Хакспейс с человеческим лицом — Степан Глушков, орнитоптеры

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

Преамбула: в мае этого года нашему хакспейсу (MakeItLab, Екатеринбург) исполняется 5 лет! в связи с этим мы решили открыть серию публикаций “Хакспейс в лицах” или “Хакспейс с человеческим лицом” — и рассказать не просто про роботов и “железяки”, но и про интересных людей кто за ними стоит. И в данной задаче нам поможет «студентка, комсомолка, спортсменка» — Анастасия, — студентка журфака, кто интересуется робототехникой.

О том, как много в Екатеринбурге мест, где люди с совершенно разными интересами могут собираться, находить единомышленников и творить, мало кто знает. Так, например, одним из таких мест в нашем городе является хакспейс «MakeItLab». Хакспейс/хакерспейс (анг. Hackerspace) — это клуб высоких технологий, своего рода творческое пространство для людей, увлеченных техникой, IT, электроникой, роботами и физикой. Для кого-то подобного рода времяпрепровождение – это исключительно хобби, для кого-то постепенно перерастает в профессию.

Большое количество интересных и разносторонних людей, уже профессионалов в своем деле, собирает хакспейс. Так, Степан Глушков (aka Seplus), один из участников данного проекта, рассказал нам о своих проектах, историю своего пути в области робототехники и электроники, а также поделился мнением насчет актуальности специалистов в этой сфере в будущем.

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

Туториал по Unreal Engine 4: фильтр Paint

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

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

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

Для реализации фильтрации Кавахары мы научимся следующему:

  • Вычислять среднее и дисперсию для нескольких ядер
  • Выводить среднее значение для ядра с наименьшей дисперсией
  • Использовать оператор Собеля для нахождения локальной ориентации пикселя
  • Поворачивать ядра сэмплирования на основании локальной ориентации пикселя
Читать дальше →

Робот-танк на Raspberry Pi с OpenCV

Время на прочтение6 мин
Количество просмотров36K
Одно время я увлекался сборкой роботов-машинок на Ардуино и Raspberry Pi. Играть в конструктор мне нравилось, но хотелось чего-то большего.

И как-то раз, блуждая по Алиэкспрессу, я набрел на алюминиевое шасси для танка. Выглядело это творение в сравнении с машинками из пластика как Феррари в сравнении с телегой.
Читать дальше →

Подборка книг от Массачусетского технологического института

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

Пока за окном проходит месяц май, начинают распускаются цветы, играть гормоны и обостряться сезонные заболевания, в ведущих западных институтах тихо-мирно идёт научная работа и выходит много интереснейших книг. Тут можно найти практические пособия, профессиональные прогнозы, обработанные результаты последних исследований. И это не сухая академическая литература, а увлекательные произведения, которые рассчитаны на широкую аудиторию. От простого к сложному, на примере банальных вещей раскрываются сложные темы. Так как Хабр с MIT ещё не встретили друг друга и между ними не вспыхнула любовь с первого взгляда, вот подборка 14 книг из разных областей: от кибербезопасности и AI до исследований космоса. Весь список доступен по ссылке.
Читать дальше →

Используем GPG для шифрования сообщений и файлов

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

Кратко о том, как создавать ключи, шифровать и подписывать файлы и отправлять ключи на сервер ключей.



GPG (также известный как GnuPG) создавался как свободная альтернатива несвободному PGP. GPG используется для шифрования информации и предоставляет различные алгоритмы (RSA, DSA, AES и др.) для решения этой задачи.

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

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

Время на прочтение26 мин
Количество просмотров346K
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →

Почему DataScientist-ы не используют ошибки первого и второго рода

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

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


И если ошибка второго рода выражается просто:


$O_2 = 1 - \Pi$


где Π — это полнота;


то вот ошибка первого рода весьма нетривиально выражается через полноту и точность (см.ниже).


Но это лирика. Самый важный вопрос:


Почему в DataScience используют полноту и точность и почти никогда не говорят об ошибках первого и второго рода?

Кто не знает или забыл — прошу под кат.

Дальше читать

Learn OpenGL. Урок 4.5 — Кадровый буфер

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

Кадровый буфер


На текущий момент мы уже успели воспользоваться несколькими типами экранных буферов: буфером цвета, в котором хранятся значения цвета фрагментов; буфером глубины, хранящим информацию о глубине фрагментов; буфером трафарета, позволяющим отбросить часть фрагментов согласно определенному условию. Комбинация этих трех буферов зовется кадровым буфером (фреймбуфером) и хранится в определенной области памяти. OpenGL достаточно гибка, чтобы позволить нам самим создавать собственные кадровые буферы, посредством задания собственных буферов цвета и, опционально, буферов глубины и трафарета.
Читать дальше →

Создание игр на Python 3 и Pygame: Часть 2

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

(Остальные части туториала: первая, третья, четвёртая, пятая.)

Во второй из пяти частей туториала, посвящённого созданию игр с помощью Python 3 и Pygame, мы рассмотрим класс TextObject, используемый для рендеринга текста на экране. Мы создадим основное окно, в том числе и фоновое изображение, а затем научимся отрисовывать объекты: кирпичи, мяч и ракетку.

Класс TextObject


Класс TextObject предназначен для отображения текста на экране. Можно сделать вывод, что с точки зрения дизайна он должен быть подклассом класса GameObject, потому что тоже является визуальным объектом и его тоже иногда нужно двигать. Но я не хотел вводить глубокую иерархию классов, при которой весь отображаемый Breakout текст оставался на экране неизменным.

Класс TextObject создаёт объект шрифта. Он рендерит текст на отдельную текстовую поверхность, которая затем копируется (рендерится) на основную поверхность. Интересный аспект TextObject заключается в том, что у него нет какого-то фиксированного текста. Он получает функцию text_func(), вызываемую каждый раз, когда он рендерится.

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

Можно ли изменить себя силой мысли?

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

Мы верили, что мозг изменить нельзя. Теперь считаем, что можно — если хорошо постараться. Но так ли это?


image

Годами она пыталась быть идеальной женой и матерью, но теперь, оказавшись в разводе, с двумя сыновьями, пройдя ещё через один разрыв и отчаявшись по поводу своего будущего, она чувствовала, что не достигла поставленных целей, и устала от всего этого. 6 июня 2007 года Дэбби Хэмптон из Гринсборо, Северная Каролина, приняла смертельную дозу лекарств. Тем днём на компьютере она написала записку: «Я так сильно испортила эту жизнь, что здесь мне больше нет места, и мне нечего привнести в неё». Затем, вся в слезах, она поднялась на второй этаж, села на кровать, и поставила проигрываться CD певицы Дайдо, чтобы, умирая, слушать её песни.

Но затем она очнулась. Её нашли, быстро доставили в больницу и спасли. «Я была в ярости, — говорит она. — Я всё испортила. И в дополнение ко всему, я повредила себе мозг». После того, как Дэбби очнулась после недели комы, доктора поставили ей диагноз "энцефалопатия". «Это просто общий термин, обозначающий, что мозг не работает так, как надо», — говорит она. Она не могла глотать, контролировать мочевой пузырь, её руки постоянно тряслись. Большую часть времени она не могла понять, что видит. Она едва говорила. «Я могла только издавать звуки, — говорит она. — Было похоже на то, будто рот забит шариками. Это было шокирующее ощущение, поскольку звуки, которые я слышала исходящими изо рта, не совпадали с тем, что я слышала в голове». После реабилитационного центра она начала медленно восстанавливаться. Но прошёл год, а прогресс застопорился. «Речь была очень медленной и неотчётливой. Память и мышление работали ненадёжно. У меня не хватало энергии на то, чтобы жить нормальной жизнью. Я считала, что день прожит не зря, если была способна разгрузить посудомоечную машину».
Читать дальше →

Питон в коробке – venv в python 3.3

Время на прочтение4 мин
Количество просмотров161K
Наверняка, большинство из тех, кто разрабатывает или деплоит Python приложения, использует виртуальные окружения. В частности через virtualenv, написанный Ian Bicking.

Идея оказалась так хороша и распространена, что нечто похожее теперь присутствует в Python 3.3 из коробки в виде модуля venv. Он почти такой же, как virtualenv, только немного лучше.
Читать дальше →

Написание кода в docker окружении

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

В компании, где я работаю — большинство сервисов запускаются и работают в docker-контейнерах.


В связи с этим, у моих коллег-новичков-в-докере часто возникает вопрос — а как писать код и запускать его в этом чёртовом контейнере???



Для человека, написавшего около сотни docker-образов и запускающего их несколько раз в день — такой вопрос уже не стоит, но когда я разбирался с докером в давние времена — мысль "Как же писать код в докере? Это же сверхнеудобно!" долго была актуальной.


В статье я опишу свои практики работы с образами docker, которые позволяют писать код "как у себя в home", и даже лучше.

docker run --rm -it -v

DIY-контроллер LED панели на CPLD с использованием BAM модуляции

Время на прочтение10 мин
Количество просмотров24K
Некоторое время назад участвовал в обсуждении DIY проекта матричных светодиодных часов
И что меня удивило — в качестве устройства отображения использовались древние одноцветные светодиодные матрицы 8х8 с шагом 5 миллиметров. Причём под них разводились сложные печатные платы, делалась софтовая динамическая индикация. И это в то время, когда уже давно доступны по цене в районе 10-20$ готовые полноцветные LED панели 64х32 с шагом 3 мм. А общий ассортимент подобных панелей очень большой и имеет шаг пикселя от 2 до 10 мм и практически любой размер.
Читать дальше →

Физическое моделирование на GPU с использованием compute shader в среде Unity3D

Время на прочтение17 мин
Количество просмотров39K
В этом руководстве я расскажу, как использовать compute shader для реализации вычислений на видеокарте — на примере модели волос:

Информация

В рейтинге
2 587-й
Зарегистрирован
Активность