Как стать автором
Обновить
50
15

Прокрастинирую на Хабре

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

Как преобразовать текст в речь с использованием Google Tesseract и Arm NN на Raspberry Pi

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

Привет, Хабр! Сегодня специально к старту нового потока курса по Maсhine Learning делимся с вами постом, автор которого создаёт устройство преобразования текста в речь. Такой механизм преобразования текста в речь (TTS) — ключевой элемент систем, которые стремятся сформировать естественное взаимодействие между людьми и машинами на основе встроенных устройств. Встроенные устройства могут, например, помочь людям с нарушениями зрения читать знаки, буквы и документы. В частности, устройство может, используя оптическое распознавание символов, дать понять пользователю, что видно на изображении. Впрочем, приступим к крафту…

Приятного чтения!
Всего голосов 14: ↑13 и ↓1+12
Комментарии0

Мои сожаления за всю мою карьеру программиста

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

Прежде всего о том, что я называл себя «инженером-программистом»



От переводчика:
We who cut mere stones must always be envisioning cathedrals. Мы, рубящие простые камни, всегда должны видеть за ними соборы. Все мы помним эту замечательную цитату из книги Эндрю Ханта «Программист-прагматик. Путь от подмастерья к мастеру». Пост ниже, на мой взгляд, именно об этом. Его автор – технический лидер и архитектор Дейв Таублер, рассказывает о том, как развивалась его карьера и взгляды на свою работу в целом: от разочарования в маркетинге до того, к чему пришёл сегодня, спустя много лет. Автор делится некоторыми рекомендациями, которые считает полезными для развития карьеры, и, как и написано в заголовке, рассказывает о том, что изменил бы в своей собственной карьере, если бы только мог.
Приятного чтения!
Всего голосов 29: ↑21 и ↓8+13
Комментарии8

Как учить рекурсию разработчикам программного обеспечения

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

Пришло время переосмыслить обучение рекурсии с помощью реальных кейсов вместо элегантных математических уравнений




Для программистов, особенно программистов-самоучек, первое знакомство с миром «рекурсии» в основном связано с математикой. При упоминании рекурсии программисты сразу вспоминают некоторые из наших любимых слов на F – нет, не те самые слова на F, а:

Фибоначчи

function fibonacci(position) {
 if (position < 3) return 1;
 return fibonacci(position - 1) + fibonacci(position - 2);
}

Факториал

function factorial(num) {
 if (num === 1) return num;
 return num * factorial(num - 1);
}

Приятного чтения!
Всего голосов 18: ↑15 и ↓3+12
Комментарии27

Как мы боролись с техдолгом, или От 15 000 подключений к базе данных до 100

Время на прочтение7 мин
Количество просмотров6.4K
Недавно новый сотрудник спросил меня за обедом: «Какой у нас техдолг?»

Услышав вопрос, я не мог не улыбнуться. Спрашивать инженеров-программистов о техническом долге компании – это то же самое, что спрашивать о кредитном рейтинге. Так программисты хотят узнать о сомнительном прошлом компании и о том, с каким багажом из прошлого придётся столкнуться. К техническому багажу нам не привыкать.

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

Глядя на нового сотрудника, я глубоко вздохнул и начал: «Давай я расскажу о том, как у нас было 15 000 прямых подключений к БД…»

История, которую я рассказал нашему новому сотруднику, – это история крупной технической перестройки DigitalOcean. Работала вся компания, эта работа продолжалась несколько лет и преподала нам много уроков. 

Приятного чтения!
Всего голосов 17: ↑11 и ↓6+5
Комментарии3

Как предотвратить появление неверных данных в ваших идеальных конвейерах

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

Для команд специалистов DS сломанные конвейеры данных, шаткие информационные панели и пожарные учения в 5 часов утра – это норма, особенно потому, что рабочие процессы принимают всё больше и больше данных из разрозненных источников. Черпая вдохновение в разработке программного обеспечения, мы называем это явление простоем данных – но как упреждающе, в первую очередь предотвратить появление плохих данных?

В этой статье я поделюсь тремя ключевыми стратегиями, которыми пользуются некоторые лучшие компании Data Science, чтобы восстановить доверие к своим данным.
Приятного чтения!
Всего голосов 20: ↑19 и ↓1+18
Комментарии0

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Время на прочтение12 мин
Количество просмотров61K
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


Приятного чтения!
Всего голосов 61: ↑55 и ↓6+49
Комментарии71

Хабравыжимка #1: Софт скилы для разработчика

Время на прочтение9 мин
Количество просмотров19K
Современный специалист подобен швейцарскому ножу — владения только одним навыком всегда будет недостаточно. Но если с хард-скилами более-менее понятно, для каждой специальности они известны, то с софт скилами всё не так очевидно. Но мы же на Хабре — тут пишут про всё, правда, в этом потоке контента несложно и запутаться. Поэтому, чтобы облегчить жизнь всем и составить представление о том, какие же «мягкие навыки» наиболее актуальны, я собрал подборку лучших постов про них. А помогли мне в этом руководитель Центра карьеры SkillFactory Юлия Пушкина и наш карьерный консультант Эльмира Салимова.


Приятного чтения!
Всего голосов 29: ↑21 и ↓8+13
Комментарии40

Разговор с дата-сайентистом — гроссмейстером Kaggle

Время на прочтение6 мин
Количество просмотров13K
Ранее у нас в блоге уже был материал про лучших в Kaggle, а сегодня представляю вам интервью с признанным дата-сайентистом и гроссмейстером Kaggle Филиппом Сингером, который поделится своим опытом, вдохновением и и достижениями. Беседа призвана мотивировать и воодушевить других людей, которые хотят понять, что нужно, чтобы стать гроссмейстером Kaggle. Также в этом интервью мы узнаем больше об академическом прошлом Филиппа, его увлечении Kaggle и о его работе в качестве дата-сайентиста.


Приятного чтения
Всего голосов 28: ↑23 и ↓5+18
Комментарии11

Разрабатываем и развёртываем собственную платформу ИИ с Python и Django

Время на прочтение11 мин
Количество просмотров23K
Взлёт искусственного интеллекта привёл к популярности платформ машинного обучения MLaaS. Если ваша компания не собирается строить фреймворк и развёртывать свои собственные модели, есть шанс, что она использует некоторые платформы MLaaS, например H2O или KNIME. Многие исследователи данных, которые хотят сэкономить время, пользуются этими инструментами, чтобы быстро прототипировать и тестировать модели, а позже решают, будут ли их модели работать дальше. 

Но не бойтесь всей этой инфраструктуры; чтобы понять эту статью, достаточно минимума знаний языка Python и фреймворка Django.  Специально к старту нового потока курса по машинному обучению в этом посте покажем, как быстро создать собственную платформу ML, способную запускать самые популярные алгоритмы на лету.


Портрет Орнеллы Мути Джозефа Айерле (фрагмент), рассчитанный с помощью технологии искусственного интеллекта.
Приятного чтения!
Всего голосов 27: ↑23 и ↓4+19
Комментарии3

Как я готовился к собеседованию в Google

Время на прочтение9 мин
Количество просмотров49K
Каждый инженер-программист стремится впечатлить людей своим техническим мастерством. Технологические гиганты этого мира — прекрасное место для работы технарей, которые могут предоставить услуги миллиардам пользователей. На моём недавнем собеседовании было несколько раундов, я получил предложения от Google и Amazon. В последние несколько лет онлайн-сообщество очень помогло мне в подготовке к собеседованиям. В этом посте я поделюсь всем о моём пути к собеседованию и верну вклад общества в моё обучение.


Приятного чтения!
Всего голосов 55: ↑50 и ↓5+45
Комментарии77

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

Время на прочтение5 мин
Количество просмотров75K
Собеседование инженера программиста сегодня часто включает в себя некий тест или упражнение на программирование, и я думаю, что это очень плохая вещь. Вот почему.


Приятного чтения!
Всего голосов 94: ↑73 и ↓21+52
Комментарии283

В 40 я всё ещё разработчик?

Время на прочтение6 мин
Количество просмотров29K
Если вам кажется, что 40 — это уже слишком, вы ошибаетесь. Представьте: вы рано приходите в офис. Бросаете рюкзак и отправляетесь на кухню. Вы полночи уговаривали детей уснуть, и они рано разбудили вас. Теперь вам нужен кофе. С кружкой кофе в руке вы замечаете, что на кухне разговаривают три разработчика. Сейчас 9 утра. Они просто пришли пораньше, — решаете вы. Но замечаете на них ту же одежду, что и вчера. Они были здесь всю ночь. Вот чёрт! Что-то не получилось?! И что теперь?! CEO, улыбаясь до ушей, проносится мимо вас. Она перескакивает к группе, даёт ребятам пять и издаёт победный вопль.

«Ребята, вы его добили», — произносит она.

Ваша первая мысль: «Я никак не мог остаться прошлой ночью». Случилась предсказуемая неприятность, иногда жизнь так складывается, дети делали уроки. А вы ощущаете себя объектом шуток. В банду вы не попали, потому что не можете протянуть всю ночь. Многие из нас переживают этот ужасный кошмар. Страшно уйти с работы по старости. Индустрия посвятила молодых людей в рыцари — стюарды технологий? Естественно сомневаться в себе и думать, сможете ли вы заниматься своим делом. Руководство вознаграждает героические ночные усилия, но как насчёт продуктивного труда? Что насчёт опыта, который привносите вы? Вы хотите потягаться с молодёжью, но не за счёт своей семьи. Но как тягаться с ними, спящими в офисе?

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


Приятного чтения!
Всего голосов 52: ↑44 и ↓8+36
Комментарии83

10 полезных книг: от разработчиков и для разработчиков

Время на прочтение5 мин
Количество просмотров27K
Чтение книг — по-прежнему прекрасный способ открыть нечто новое или научиться чему-то, особенно если вы разработчик, чтобы оставаться востребованным в изменчивой индустрии.
В этой подборке я представлю 10 фантастических книг для разработчиков, которые написали разработчики. Здесь не будет привычных общепринятых книг, которые вы найдете в любой подборке «мастрид для программистов», в этой статье — вручную отобранные сокровища от экспертов с проверенным послужным списком.


Приятного чтения!
Всего голосов 47: ↑31 и ↓16+15
Комментарии9

Строим надёжную конкурентность с FSP и моделированием процессов

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

Делаем систему параллелизма надёжнее


Сегодня посмотрим как смоделировать программу с конкурентностью на FSP. Сначала давайте разберемся, зачем вообще нужна конкурентность. Вот что можно сделать с её помощью:

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


Сгенерированная инструментом LTSA диаграмма состояний
Приятного чтения!
Всего голосов 21: ↑21 и ↓0+21
Комментарии0

Самые востребованные IT-профессии 2021 года

Время на прочтение9 мин
Количество просмотров290K
UPD Читайте обновление: Самые востребованные IT-профессии 2022 года

Привет, Хабр! Мы уже долгое время следим за динамикой развития IT-профессий на мировом рынке. И сейчас решили сделать топ специальностей, которые будут особенно актуальны в 2021 году. Список составлен на основе роста зарплат на глобальном рынке, востребованности специалистов отрасли и динамики развития профессии в целом. И сразу скажем, в список вошло только 10 профессий. Это не значит, что другие профессии хуже — просто они растут чуть медленнее. Итак, поехали!


Приятного чтения!
Всего голосов 44: ↑33 и ↓11+22
Комментарии43

Как преобразовать аудиоданные в изображения

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

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


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

Сегодня, специально к старту нового потока курса по машинному обучению делюсь с вами статьей, в которой авторы, в качестве примера определяют вид птиц по их пению. Они находят в записях, сделанных в естественных условиях, фрагменты с пением птиц, и классифицируют виды. Преобразовав аудиоданные в данные изображений и применив модели компьютерного зрения, авторы этой статьи получили серебряную медаль (как лучшие 2 %) на соревновании Kaggle Cornell Birdcall Identification.


Приятного чтения!
Всего голосов 30: ↑25 и ↓5+20
Комментарии6

Искусство компонентов. Пишем карточку контакта Facebook Messenger

Время на прочтение12 мин
Количество просмотров8.7K
Вполне возможно оценить компонент и сказать, что он легко пишется на HTML и CSS. Соглашусь, это легко, когда вы работаете, только чтобы практиковаться, но в реальном проекте всё по-другому. Идеальный адаптивный компонент, который вы только что создали, быстро перестаёт работать, когда сталкивается с реальным контентом настоящего проекта. Почему? Потому, что, пока вы рассуждаете о разработке компонента, вы можете упустить крайние случаи. Сегодня, специально к старту нового потока нашего курса по веб-разработке, поделюсь переводом статьи, в которой показан простой на первый взгляд компонент, за которым стоит огромная работа. Ради реалистичности это будет пример прямо из Facebook Messenger.


Приятного чтения!
Всего голосов 25: ↑23 и ↓2+21
Комментарии7

12 платформ соревнований по Data Science и искусственному интеллекту для развития ваших навыков в 2021 году

Время на прочтение8 мин
Количество просмотров22K
Data Science требует использования статистических методов и алгоритмов машинного обучения для работы с большим объёмом данных, и для того чтобы делать это эффективно, вам потребуется много практики. Отличная возможность попрактиковаться — соревнования по Data Science. Они служат платформой для изучения лучших практик, получения отзывов и повышения квалификации. Это также отличный способ расширить возможности творить и границы в области науки о данных. Я делал подобный список и в прошлом году, поэтому подумал, что это будет хорошее время, чтобы обновить его на 2021 год.


Приятного чтения!
Всего голосов 27: ↑27 и ↓0+27
Комментарии1

Как обучать огромные модели машинного обучения на случайных GPU

Время на прочтение11 мин
Количество просмотров9.1K
Вы можете спросить: почему эти полумагические модели машинного обучения работают так хорошо? Короткий ответ: эти модели чрезвычайно сложны и обучаются на огромном количестве данных. На самом деле, Lambda Labs недавно подсчитала, что для обучения GPT-3 на одном GPU потребовалось бы 4,6 миллиона долларов — если бы такое было возможно.

Такие платформы, как PyTorch и Tensorflow, могут обучать эти огромные модели, потому что распределяют рабочую нагрузку по сотням (или тысячам) GPU одновременно. К сожалению, этим платформам требуется идентичность графических процессоров (они должны иметь одинаковую память и вычислительную производительность). Но многие организации не имеют тысячи одинаковых GPU. Малые и средние организации покупают разные компьютерные системы, что приводит к неоднородной инфраструктуре, которую нелегко адаптировать для вычисления больших моделей. В этих условиях обучение моделей даже среднего размера может занимать недели или даже месяцы. Если не принять меры, университеты и другие небольшие организации рискуют потерять конкурентоспособность в погоне за разработкой новых, лучших моделей машинного обучения. Но это можно исправить.

В этом посте представлена предыстория и практические шаги по обучению BERT с нуля в университете с использованием пакета HetSeq. Это адаптация популярного пакета PyTorch, которая предоставляет возможность обучать большие модели нейронных сетей на гетерогенной инфраструктуре.


Приятного чтения!
Всего голосов 23: ↑23 и ↓0+23
Комментарии0

Анимации градиентного спуска и ландшафта потерь нейронных сетей на Python

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


Рисунок 1 — Ландшафт потерь свёрточной нейронной сети с 56 слоями (VGG-56, источник)
Приятного чтения!
Всего голосов 43: ↑41 и ↓2+39
Комментарии3

Информация

В рейтинге
390-й
Откуда
Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность