В данной статье рассматривается способ использования GPU nVidia с технологией CUDA в Docker-контейнерах для распределенной тренировки моделей машинного обучения на нескольких машинах. Цель статьи - показать вариант использования Big Data Tool Apache Spark в Docker-контейнерах, совместно с акселератором GPU вычислений Rapids на устройствах nVidia CUDA, с применением библиотек DJL, Spark ML, XGBoost, в приложении Spring Boot на Java 8 (требование Rapids), на нескольких машинах под управлением ОС Windows 10 Pro для решения задачи тренировки моделей машинного обучения в распределенной системе.
Mik @sniff
User
DMP часть 1. Микросегментирование аудитории с помощью ключевых слов
7 min
16KАвторы статьи: Данила Перепечин DanilaPerepechin, Дмитрий Чеклов dcheklov.
Здравствуйте.
Data management platform (DMP) — это наша любимая тема во всей истории про онлайн рекламу. RTB is all about the data.
В продолжение цикла рассказов о технологическом стеке Targetix (SSP, DSP), сегодня я опишу один из инструментов, входящих
в DMP — Keyword Builder.
Здравствуйте.
Data management platform (DMP) — это наша любимая тема во всей истории про онлайн рекламу. RTB is all about the data.
В продолжение цикла рассказов о технологическом стеке Targetix (SSP, DSP), сегодня я опишу один из инструментов, входящих
в DMP — Keyword Builder.
+8
Анализируем большие объемы данных с Apache Spark
1 min
17KС анализом больших объемов данных постепенно начинают сталкиваться не только крупнейшие IT-компании, но и обычные разработчики. В нашей компании в ряде проектов такая задача возникает, и мы решили систематизировать накопленный опыт, поделившись с коллегами по i-Free и нашими партнерами наиболее эффективными инструментами и технологиями. Сегодня речь пойдет о применении Apache Spark
+10
Режим дня Президента
1 min
656В свое время ради любопытства я подписался на рассылку новостей с сайта Президента.
И теперь раз в неделю получаю аккуратное письмо примерно следующего содержания (избранные записи):
Уважаемый подписчик официального сайта Президента России!
Предлагаем Вашему вниманию информационный бюллетень за неделю 6-13 октября 2008 года.
07.10 ВСТРЕЧА-МИНИСТР-ОБРАЗОВАНИЕ >>>
12.10 ПЛЕСЕЦК-ЗАПУСК-РАКЕТА >>>
11.10 БЕСЕДА-КРЕЙСЕР-КОМАНДА >>>
08.10 ВСТРЕЧА-ШВЕЙЦАРИЯ-КУШПЕН >>>
08.10 ВСТРЕЧА-ФРАНЦИЯ-САРКОЗИ >>>
06.10 ВСТРЕЧА-ЛДПР-ЖИРИНОВСКИЙ >>>
06.10 ВСТРЕЧА-АЛЬФА-ГРУПП-ФРИДМАН >>>
С уважением,
интернет-департамент Управления пресс-службы и информации Президента России
Естественно, по каждому анонсу есть ссылка, но интересно, в связи с чем выбран такой оригинальный стиль? Похоже на какие-то шпионские сводки. Здорово, если Президент получает свой ежедневный график мероприятий в таком же виде.
Upd. Умные люди в комментариях считают, что такой заголовок — это одновременно набор тегов. По таким тегам удобно строить разного рода визуализации.
И теперь раз в неделю получаю аккуратное письмо примерно следующего содержания (избранные записи):
Уважаемый подписчик официального сайта Президента России!
Предлагаем Вашему вниманию информационный бюллетень за неделю 6-13 октября 2008 года.
07.10 ВСТРЕЧА-МИНИСТР-ОБРАЗОВАНИЕ >>>
12.10 ПЛЕСЕЦК-ЗАПУСК-РАКЕТА >>>
11.10 БЕСЕДА-КРЕЙСЕР-КОМАНДА >>>
08.10 ВСТРЕЧА-ШВЕЙЦАРИЯ-КУШПЕН >>>
08.10 ВСТРЕЧА-ФРАНЦИЯ-САРКОЗИ >>>
06.10 ВСТРЕЧА-ЛДПР-ЖИРИНОВСКИЙ >>>
06.10 ВСТРЕЧА-АЛЬФА-ГРУПП-ФРИДМАН >>>
С уважением,
интернет-департамент Управления пресс-службы и информации Президента России
Естественно, по каждому анонсу есть ссылка, но интересно, в связи с чем выбран такой оригинальный стиль? Похоже на какие-то шпионские сводки. Здорово, если Президент получает свой ежедневный график мероприятий в таком же виде.
Upd. Умные люди в комментариях считают, что такой заголовок — это одновременно набор тегов. По таким тегам удобно строить разного рода визуализации.
+30
Zetes: Java с мультиплатформенным GUI, но без Oracle JVM
26 min
32KTutorial
Аннотация
В статье описывается фреймворк, позволяющий создавать графические кроссплатформенные приложения, написанные на языке Java, но при этом абсолютно не зависящие ни от Oracle JRE, ни от OpenJDK. Основная идеология фреймворка — по возможности снять с разработчика заботы об обеспечении «родного» look and feel для приложения под каждой операционной системой.
Фактически, на выходе вы получите исполняемый файл, опирающийся только на системные API, на котором нигде не будет клейма «написано на Java».
Все компоненты фреймворка имеют либеральные лицензии (BSD либо Apache), что позволяет использовать их в любых (в том числе, коммерческих) разработках.
Фреймворк находится в стадии публичной alpha-версии, что означает некоторую его работоспособность, но непроверенность. Использование поощряется (я постараюсь прислушаться к жалобам на проблемы и помогу их решить), но работоспособность не гарантируется.
Готовая, собранная версия приложений, демонстрирующих работу фреймворка под всеми платформами, находится здесь.
Всех интересующихся подробностями милости прошу под кат.
+84
Знай сложности алгоритмов
2 min
995KTranslation
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
+280
Встраиваем groovy shell в приложение
2 min
7.7KУ нас на работе иногда возникает необходимость получить доступ к работающему java приложению, чтобы посмотреть какие-нибудь данные или подёргать методы. Раньше мы обходились тем, что писали jsp, закидывали в каталог, в котором развёрнуто наше приложение, и затем запрашивали эту jsp. Это было не очень удобно.
И однажды мне пришла в голову мысль облегчить себе жизнь, встроив groovy shell в приложение, сделав доступ к нему через telnet.
И однажды мне пришла в голову мысль облегчить себе жизнь, встроив groovy shell в приложение, сделав доступ к нему через telnet.
+15
Психология роботов и умные компьютеры: как это работает и где этому научиться. Лекция Максима Мусина в Яндексе
4 min
36KМашины уже умеют находить лица на фотографиях, искать террористов в видеопотоке, переводить тексты и понимать звуковые команды. Нейронные сети, копирующие структуру мозга, являются элементарным кусочком любого сложного алгоритма. Из лекции вы узнаете, как всё это связано с уравнениями, неравенствами и производными, какие интересные открытия случились за последнее время, а также на чём стоит начать программировать сейчас, чтобы однажды стать экспертом в психологии роботов.
Если вспомнить фильм «Терминатор» и технологии, которыми по сюжету пользовались киборги, то можно будет выделить и нейронные сети, и возможность беспроводной связи с внешним источником интеллекта (Skynet), и компьютерное зрение, и распознавание звука, понимание различных языков. На момент выхода фильма на экраны все это было абсолютной фантастикой, технологиями далекого будущего. Но сегодня большая часть этих технологий реализована в том или ином виде. Попробуем разобраться, что же из всего перечисленного уже используется.
Если вспомнить фильм «Терминатор» и технологии, которыми по сюжету пользовались киборги, то можно будет выделить и нейронные сети, и возможность беспроводной связи с внешним источником интеллекта (Skynet), и компьютерное зрение, и распознавание звука, понимание различных языков. На момент выхода фильма на экраны все это было абсолютной фантастикой, технологиями далекого будущего. Но сегодня большая часть этих технологий реализована в том или ином виде. Попробуем разобраться, что же из всего перечисленного уже используется.
+57
Hadoop и автоматизация: Часть 2
6 min
10KПривет, Хабрапосетители!
Продолжаю свою «развеселую» серию статей, посвященных знакомству с Hadoop и автоматизации развертывания кластера.
В первой части я вкратце описал, что нужно было достичь, какую архитектуру кластера построить и что представляет собой Hadoop-кластер с точки зрения архитектуры. Также, я рассмотрел, наверное, самую простую часть кластера — Clients, которая отвечает за постановку задач, предоставление данных для вычислений и получение результатов.
Продолжаю свою «развеселую» серию статей, посвященных знакомству с Hadoop и автоматизации развертывания кластера.
В первой части я вкратце описал, что нужно было достичь, какую архитектуру кластера построить и что представляет собой Hadoop-кластер с точки зрения архитектуры. Также, я рассмотрел, наверное, самую простую часть кластера — Clients, которая отвечает за постановку задач, предоставление данных для вычислений и получение результатов.
+11
Load average
2 min
95KНаблюдая выводы таких команд, как top, htop, uptime, w и, возможно, других, пользователь наверняка обращал внимание на строку load average:
+136
Как убрать все управляющие символы из строки — история одной бурной оптимизации
8 min
55KПолучилось так, что мне довелось оптимизировать код кластерной задачи, которая входила в состав Большого Кластерного Алгоритма и занималась весьма простой вещью: входной поток из n полей нужно было в зависимости от содержимого полей переразложить в выходной поток из m полей и почти успокоиться. Почти — потому что внутри полей были строчки произвольного вида, которые нужно было «очистить» — провести простейшую, казалось бы, операцию удаления всех управляющих символов из строки.
Оказалось, что эта операция совсем не такая «простейшая», как кажется, особенно если рассматривать её в современных языках с виртуальной машиной. Чуть ниже я покажу, как можно заменить решение в одну строчку на решение в пару десятков строчек, увеличив производительность алгоритма в ~10 раз. Сразу оговорюсь, что примеры будут относится к Java, но аналогичные рассуждения будут справедливы и для большинства других языков и виртуальных машин — в первую очередь, для .NET-based.
Оказалось, что эта операция совсем не такая «простейшая», как кажется, особенно если рассматривать её в современных языках с виртуальной машиной. Чуть ниже я покажу, как можно заменить решение в одну строчку на решение в пару десятков строчек, увеличив производительность алгоритма в ~10 раз. Сразу оговорюсь, что примеры будут относится к Java, но аналогичные рассуждения будут справедливы и для большинства других языков и виртуальных машин — в первую очередь, для .NET-based.
+101
TOP'ай сюда
5 min
178KОбзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).
Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.
В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).
Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
top
Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.atop
Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.
В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).
Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
+377
Как прокачивать мозг
8 min
174KВ этой теме я хочу поделиться своими знаниями про устройство мозга и тем, как применяю это на практике.
Итак, как известно, мозг — важнейший орган нашего тела. Кто-то говорит, что он — самая сложная вещь во вселенной. И незнание некоторых его особенностей может очень плачевно сказать на жизни человека.
Но обо всем по порядку.
Нет невежества страшнее, чем невежество по отношению к самому себе.
Мозг управляет почти всем в нашем организме — от дыхания, работы органов чувств до сложных мыслительных процессов и воображения. Существует множество методик и советов по развитию, однако, как я убедился, мало какие делают упор на роль мозга в процессе.
Итак, как известно, мозг — важнейший орган нашего тела. Кто-то говорит, что он — самая сложная вещь во вселенной. И незнание некоторых его особенностей может очень плачевно сказать на жизни человека.
Но обо всем по порядку.
Понимание роли мозга
Нет невежества страшнее, чем невежество по отношению к самому себе.
Мозг управляет почти всем в нашем организме — от дыхания, работы органов чувств до сложных мыслительных процессов и воображения. Существует множество методик и советов по развитию, однако, как я убедился, мало какие делают упор на роль мозга в процессе.
+222
Выполняем sudo при записи
1 min
7KВ дополнение к предыдущей заметке "Делаем файлы сценариев исполняемыми"...
В практике системного администратора иногда случается так, что начинаешь править какой-либо сценарий, автоматизирующий процесс резервного копирования, например, а в конце концов выясняется, что не хватает прав на запись в данный файл, который, возможно, принадлежит пользователю root. Чтобы не сильно изворачиваться в подобной ситуации, сохранение изменений производим командой
Вопросы безопасности в данном случае находятся в рамках sudo.
В практике системного администратора иногда случается так, что начинаешь править какой-либо сценарий, автоматизирующий процесс резервного копирования, например, а в конце концов выясняется, что не хватает прав на запись в данный файл, который, возможно, принадлежит пользователю root. Чтобы не сильно изворачиваться в подобной ситуации, сохранение изменений производим командой
:w !sudo tee %
Вопросы безопасности в данном случае находятся в рамках sudo.
+39
Правила составления Software requirements specification
5 min
179KВсе мы прекрасно знаем о том, как разрабатывается ПО. Подумали 10 минут и сразу пошли кодить. Цикл создания программного обеспечения состоит из многих ключевых моментов. Это такие моменты как планирование, создания архитектуры, создание SRS, создание дизайна и тд и тп.
+54
TeamCity 4.0 released
2 min
11KЧто такое TeamCity? TeamCity — это, говоря научно-занудным языком, интегрированная среда, которая повышает эффективность групповой разработки, беря на себя такие рутинные действия как сборка билдов, запуск и анализ тестов, а так же анализ исходного кода (инспекции, поиск дубликатов и т.д.) Посмотрев на картинку многое станет понятным:
+34
Социальная сеть для изучающих иностранные языки
1 min
1.5KИдея стартапа.
Я работаю переводчиком и вот уже более 10 лет изучаю английский язык. До сих пор не могу сказать, что знаю его в совершенстве, так как очень часто открываю для себя в языке что-то новое, либо приходит какое-то новое, более глубокое понимание каких-то его закономерностей или правил. Довольно часто (особенно во время работы) ловлю себя на мысли, что было бы неплохо, если бы в любой момент я имел бы возможность связаться с носителем языка и что-то с ним обсудить, попросить объяснить какие-то языковые и грамматические явления, устоявшиеся выражения и т.п. В свою очередь, я бы с радостью оказал такую же услугу иностранцу, изучающему русский язык. Несколько раз, когда возникал вопрос о правильности звучания и удобстве восприятия тех или иных конструкций, я даже порывался разыскать в аське какого-нибудь англичанина, и поговорить с ним на эту тему, но не у каждого найдется время и желание этим заниматься. Тут-то мне и подумалось, что вот если бы существовала такая сеть, объединяющая людей, которые любят и изучают какой-нибудь иностранный язык, то лично мне она бы была очень полезна. А если она была бы полезна мне, то, возможно, она бы была полезна и кому-то еще.
Я работаю переводчиком и вот уже более 10 лет изучаю английский язык. До сих пор не могу сказать, что знаю его в совершенстве, так как очень часто открываю для себя в языке что-то новое, либо приходит какое-то новое, более глубокое понимание каких-то его закономерностей или правил. Довольно часто (особенно во время работы) ловлю себя на мысли, что было бы неплохо, если бы в любой момент я имел бы возможность связаться с носителем языка и что-то с ним обсудить, попросить объяснить какие-то языковые и грамматические явления, устоявшиеся выражения и т.п. В свою очередь, я бы с радостью оказал такую же услугу иностранцу, изучающему русский язык. Несколько раз, когда возникал вопрос о правильности звучания и удобстве восприятия тех или иных конструкций, я даже порывался разыскать в аське какого-нибудь англичанина, и поговорить с ним на эту тему, но не у каждого найдется время и желание этим заниматься. Тут-то мне и подумалось, что вот если бы существовала такая сеть, объединяющая людей, которые любят и изучают какой-нибудь иностранный язык, то лично мне она бы была очень полезна. А если она была бы полезна мне, то, возможно, она бы была полезна и кому-то еще.
+35
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity