• Классификация звуков с помощью TensorFlow

    • Tutorial


    Игорь Пантелеев, Software Developer, DataArt

    Для распознавания человеческой речи придумано множество сервисов — достаточно вспомнить Pocketsphinx или Google Speech API. Они способны довольно качественно преобразовать в печатный текст фразы, записанные в виде звукового файла. Но ни одно из этих приложений не может сортировать разные звуки, захваченные микрофоном. Что именно было записано: человеческая речь, крики животных или музыка? Мы столкнулись с необходимостью ответить на этот вопрос. И решили создать пробные проекты для классификации звуков с помощью алгоритмов машинного обучения. В статье описано, какие инструменты мы выбрали, с какими проблемами столкнулись, как обучали модель для TensorFlow, и как запустить наше решение с открытым исходным кодом. Также мы можем загружать результаты распознавания на IoT-платформу DeviceHive, чтобы использовать их в облачных сервисах для сторонних приложений.

    Выбор инструментов и модели для классификации


    Сначала нам нужно было выбрать ПО для работы с нейронными сетями. Первым решением, которое показалось нам подходящим, была библиотека Python Audio Analysis.

    Основная проблема машинного обучения — хороший набор данных. Для распознавания речи и классификации музыки таких наборов очень много. С классификацией случайных звуков дела обстоят не так хорошо, но мы, пусть и не сразу, нашли набор данных с «городскими» звуками.
    Читать дальше →
    • +13
    • 5,2k
    • 5
  • Тестирование глазами разработчика: инструменты, мифы, ситуации

    • Tutorial


    Евгений Сафронов, Senior Developer, DataArt

    «Тестирование можно использовать для того, чтобы доказать наличие ошибок в программе, и никогда — для того чтобы доказать их отсутствие!»
    Эдсгер Дейкстра


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

    Тестирование — это проверка работоспособности программы, предмета или любой промышленной разработки. Как и в любом деле, здесь есть свои тонкости и своя философия. Она, наверное, ближе тестировщикам, которые на произведенные нами вещи смотрят деструктивно — они с самого начала думают о том, как сломать предложенный разработчиками продукт. Это не очень типично для пользователей, которые более предсказуемы и обычно находят ошибки, случайно пытаясь сделать с нашей программой что-то нетипичное. У разработчиков подход к программам в принципе другой, но мы должны помнить: тестировщики должны ломать то, что мы создали — это их хлеб.
    Читать дальше →
    • +10
    • 6,9k
    • 1
  • Обзор конференции Highload fwdays’17



      14 октября в Киеве прошла конференция Highload fwdays, посвященная высоконагруженным проектам, работе с базами данных и архитектурой, в частности, микросервисами, машинному обучению и Big Data. DataArt был спонсором конференции. А наши коллеги Игорь Мастерной (лидер Java-сообщества DataArt Киев) и Анна Колот (.NET, SharePoint Developer) рассказали о докладах, на которых они побывали.

      Детально с программой конференции можете ознакомиться тут.

      Начнем обзор с доклада Дмитрия Охонько из Facebook про Log Device. “Yet another log storage”, — подумаете вы. Вы бы были правы, но этот Log Storage на общем фоне выделяется своими создателями. Заявленная пропускная способность у Facebook — 1TB/s. И узнать, как они справляются с обработкой такого объема данных, было интересно.
      Читать дальше →
    • GDG-комьюнити на Google Developer Days



        Автор: Елена Федорова, руководитель департамента Human resource marketing, DataArt, Воронеж

        5–6 сентября в Кракове прошла большая конференция GDD — глобальный ивент, аналог ежегодной конференции Google I/O в Сан-Франциско, где анонсируются последние новинки технологий компании Google.

        В этом году на GDD собралось более двух тысяч разработчиков и других IT-специалистов из разных стран мира. В течение двух полных дней участники вместе слушали доклады, общались на тематических секциях, митапах по разработке и в комьюнити-зонах.


        Аззурра Рагоне — Community Specialist, Google — рассказала про развитие сообществ.

        Помимо основной конференции, по всему миру прошли более шестидесяти локальных событий — GDD Extended events, организованных Google Developer группами: прямые видеотрансляции, хакатоны, мастер-классы и т. д.

        Смотреть все видео ключевых докладов можно здесь.

        Мы попросили знакомых разработчиков и лидеров разных комьюнити поделиться впечатлениями о конференции.
        Читать дальше →
      • Машинное обучение в RapidMiner

        • Tutorial


        Дмитрий Соболев, Игорь Мастерной, Рафаэль Зубаиров

        Не заметить, как быстро растет общий объем собираемых метрик, просто невозможно. Увеличивается не только частота с которой автоматические системы собирают данные, пропускная способность хранилищ данных, но и сам набор метрик, которые мы можем использовать. Эта тенденция наиболее явно выражена в IoT, но и другие отрасли могут похвастаться огромным набором источников данных — публичных или доступных по специальной подписке.

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

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

        Машинное обучение сейчас используется не только корпорациями уровня Microsoft и Google, даже небольшие компании могут воспользоваться преимуществами, которые дает качественный анализ данных или система рекомендаций. Если до недавнего времени применение подобных методов требовало найма программистов, аналитиков, дата-сайентистов, то сейчас на рынке появляются сервисы и приложения для машинного обучения, которые позволяют в более дружелюбной форме, с использованием графического интерфейса, обрабатывать данные и строить предсказательные модели. Использовать их способен даже человек с минимальными знаниями в этой области.

        Сейчас тройка лидеров в автоматизированном и упрощённом машинном обучении состоит из DataRobot, RapidMiner и BigMl. В этой статье мы подробно рассмотрим RapidMiner — расскажем о том, что он умеет и как может вам облегчить жизнь.
        Читать дальше →
      • Чемпионы мира — о спортивном программировании



          DataArt давно дружит с командой ИТМО по спортивному программированию и помогает ей. Этим летом в гости в наш петербургский центр разработки пришли Илья Збань, Иван Белоногов и Владимир Смыкалов. Чемпионы мира 2017 года рассказали о том, как именно программисты соревнуются между собой, о тренировочных сборах, любимых задачах и сильнейших соперниках.

          Олимпиада по программированию


          Главное соревнование программистов — международная студенческая олимпиада под эгидой ACM (ACM-ICPC, или просто ICPC) — проходит с 1970-х, а в виде, близком к сегодняшнему, оформилась в 1989 году. Олимпиада предназначена для студентов и аспирантов, за редким исключением к соревнованиям не допускают программистов старше 24-х лет. К тому же, испытывать силы в финале можно только дважды, а в региональных отборах разрешается участвовать всего пять раз. На ранних этапах, проходящих по всему миру, соревнуются тысячи команд. Около сотни лучших доходят до финала.
          Читать дальше →
        • Генерируем произвольные последовательности на выводах платы Raspberry Pi

          • Tutorial


          Автор: Николай Хабаров, Embedded Expert DataArt, евангелист технологий умного дома.

          В этой статье я расскажу, как написать обычное user space-приложение на Python для современного ARM-процессора с ОС Linux для генерирования сложных последовательностей импульсов на выводах платы. Суть идеи — использовать DMA-модуль процессора для копирования из предварительно подготовленного буфера в памяти в GPIO с высокой точностью по времени.

          Когда речь заходит о необходимости сгенерировать сложную последовательность импульсов, например, для шаговых двигателей, обычно используют старые добрые простенькие микроконтроллеры с установленной специальной операционной системой реального времени или вообще без операционной системы. Реализация при этом, в лучшем случае, написана на C++. Сейчас процессоры шагнули далеко вперед и имеют массу преимуществ: производительность, возможность использования операционной системы Linux со всей инфраструктурой и ПО, а также высокоуровневых языков программирования, таких как Python. И все же современные микроконтроллеры для генерирования сложных последовательностей на выводах GPIO, как правило, не используют.

          Я реализовал генерацию импульсов для управления шаговыми двигателями проекта PyCNC — проекта контроллера машин с ЧПУ, станков, 3D-принтеров, полностью написанного на Python и запускаемого на современном ARM-процессоре на плате Raspberry Pi.

          Статья может быть полезна желающим реализовать генерацию сложных последовательностей установки уровней на выводах одного или нескольких GPIO на других высокоуровневых языках программирования, используя DMA-модули других процессоров.
          Читать дальше →
        • Google I/O 2017: мои впечатления и комментарии коллег

            Автор: Елена Федорова, руководитель департамента Human resource marketing, DataArt, Воронеж



            C 2009 года я возглавляю комьюнити Google Developer Group в Воронеже, кроме того, в 2016 мы организовали сообщество для девушек в IТ Women Techmakers Voronezh. Так что пропустить очередную конференцию Google I/O я, конечно, не могла. Для меня Google I/O — не просто анонсы крутейших новинок и возможность прямо сегодня заглянуть в ближайшее будущее, но и ощущение общего движения, общение с коллегами и друзьями по сообществу.

            Немного статистики по Google-комьюнити:

            • Около 600 активных GDG-групп в 102 странах.
            • 3610 тематических событий за последние полгода.

            Мой отчет с прошлогодней конференции можно прочитать здесь. На этот раз я собрала комментарии коллег и, дополнив их собственными впечатлениями, постаралась выделить пять интересных особенностей Google I/O 2017.
            Читать дальше →
            • +14
            • 5,5k
            • 2
          • Надежда Морошкина: «Вы же не подбираете команду по знакам Зодиака?»



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

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

              — Сама идея о существовании психологических типов людей связана с глубинной потребностью в классификации?

              — Традиция эта действительно очень давняя. Попытки классифицировать людей, чтобы понять, как вести себя с ними, можно найти в античности — достаточно вспомнить разделение по типам темперамента. В клинической психологии тоже неоднократно делались более или менее успешные попытки связать, например, соматотип с определенным психотипом. Общая же идея в том, что у человека есть набор постоянных личностных свойств, черт или диспозиций, убеждений, установок, благодаря которым он будет вести себя сходным образом в самых разных ситуациях. И если мы сумеем каким-либо образом эти постоянные характеристики измерить, это позволит предсказывать поведение человека и в принципе объяснит нам, почему люди могут вести себя по-разному. Сами же попытки описать человека и определить набор его свойств базировались на самых разных основах.
              Читать дальше →
            • Победителем первого GameDev-хакатона DataArt стала команда из Киева



                48 часов девять команд, представлявших отдельные центры разработки DataArt или распределенных между городами, создавали собственные HTML5-игры.

                «Все началось с идеи Макса Князева, нашего фронтенд-разработчика, который написал на нашу рассылку edu.coordination, — рассказал координатор хакатона Александр Дудин. — Он предложил провести внутренний хакатон для всего DataArt».

                По словам самого Максима, изначально он думал о хакатоне как о способе напомнить коллегам о важных внутренних и R&D-проектах, где часто не хватает людей со специальными навыками: «Я предложил собрать тех, кто сейчас загружен не полностью, и в таком приятном формате обучить их нужным скиллам и придать им ускорение. Но коллеги, подхватившие идею, сразу нашли поддержку у нашей iGaming-практики, и хакатон решили переориентировать на игры».

                iGaming-практика появилась не так давно и сейчас активно развивается. Поэтому для нее возможность познакомиться с людьми, заинтересованными в играх и находящимися в разных локациях, оказалась особенно интересной. Изначально организаторы надеялись собрать около 30 участников, но отклик ожидания превзошел — зарегистрировалось для участия 60 человек, а более 40 прошли хакатон от начала до конца. «Думаю, сыграло роль и то, что приз в итоге выбрали классный. DataArt предоставил для авторов лучшей игры очки виртуальной реальности Oculus Rift», — уточняет Дудин.
                Читать дальше →
                • +14
                • 4,2k
                • 2
              Самое читаемое