Pull to refresh
4
0
Send message

Посмотрите, как Google отслеживает ваше местоположение. С Python, Jupyter, Pandas, Geopandas и Matplotlib

Reading time8 min
Reach and readers51K

В отделе продаж можно услышать аббревиатуру ABC: Always Be Closing, что означает заключение сделки с покупателем. Последнее десятилетие породило еще одну аббревиатуру ABCD: Always Be Collecting Data

Мы используем Google для почты, карт, фотографий, хранилищ, видео и многого другого. Мы используем Twitter, чтобы читать поток сознания одного президента. Мы используем Facebook для обмена сообщениями и… ну, почти все. Но наши родители пользуются им. Мы используем TikTok… Понятия не имею, зачем. 

На самом деле, оказывается, что большинство из вышеперечисленного бесполезно… Ничего подобного, суть в том, что мы их используем. Мы их используем, и они бесплатны. В экономике XXI века, если вы не платите за товар, вы являетесь товаром. 

Итак, короче говоря, я хотел выяснить, насколько корпорация Alphabet, владелец Google, обо мне знает. Крошечная доля, я посмотрел на историю геолокации. Я никогда не отключал службы определения местоположения, потому что ценил комфорт выше конфиденциальности. Плохая идея.

Читать далее

Прунинг нейронных сетей (фитнес бывает полезен не только людям)

Reading time15 min
Reach and readers19K

Всем привет! В данном посте я хотел бы рассказать про весьма интересную и важную деятельность в области глубокого обучения как прореживание (прунинг) нейронных сетей. На просторах сети есть неплохие материалы по данной теме, например, статья на Хабре трехлетней давности.

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

Поехали!

Читать далее

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

Reading time19 min
Reach and readers812K

Как я пришел к покупке приточной вентиляции для квартиры с готовым ремонтом. Как купил ее за 150к и чуть не потратил деньги зря. Статья будет полезна тем, кто планирует купить очиститель воздуха, бризер или приточку.


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

Включение гибридной графики в Ubuntu на ноутбуках Nvidia + Intel (OpenGL, Vulkan)

Reading time3 min
Reach and readers64K

Это простая инструкция как включить гибридную графику intel-nvidia на ноутбуке. Чтобы определенные приложения запускались на дискретном чипе, а другие на встроенном. На свое удивление в интернете не нашел простую инструкцию того, как запускать определенные приложения, используя дискретную графику. Так что напишу так просто, на сколько считаю нужным

Читать далее

Что ученые должны знать о железе для написания быстрого кода

Reading time43 min
Reach and readers14K


источник изображения


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


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

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

Y Combinator: Как построить стартап на основе университетских исследований (Джаред Фридман)

Reading time13 min
Reach and readers2.5K
9 ноября 2020 стартовала Школа стартапов для будущих основателей (Startup School for Future Founders от Y Combinator) и мы будем публиковать полезные переводы для тех, кто планирует стать основателем стартапа международного уровня. Следите за новостями в телеграм-канале YC library на русском.

image

Джаред Фридман — сооснователь (в 23 года) и технический директор Scribd («Netflix для книг», с капитализацией около $1 млрд).

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

Мы в YC профинансировали более 75 таких компаний. Также мы недавно провели “био-тур”, в рамках которого мы посещали исследовательские институты и общались с студентами и преподавателями в области наук о жизни насчет коммерциализации их исследований. Об этом нас спрашивают чаще всего.

Решаем кто уйдет в спин-офф


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

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

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

Горькая правда, которая порой смущает сооснователей: если тот, кто занимался исследованием не захочет покидать университет и заниматься компанией, то у вашего проекта мало шансов на успех.

Что читать специалисту по Data Science в 2020 году

Reading time6 min
Reach and readers5.9K

В этом посте делимся с вами подборкой источников полезной информации о Data Science от сооснователя и CTO DAGsHub — сообщества и веб-платформы для контроля версий данных и совместной работы дата-сайентистов и инженеров по машинному обучению. В подборку попали самые разные источники, от аккаунтов в твиттере, до полноценных инженерных блогов, которые ориентированы для тех, кто точно знает, что ищет. Подробности под катом.
Приятного чтения!

Фильтр Калмана — это легко

Reading time18 min
Reach and readers122K


Много людей, в первый раз сталкивающихся в работе с датчиками, склонны считать, что получаемые показания — это точные значения. Некоторые вспоминают, что в показаниях всегда есть погрешности и ошибки. Чтобы ошибки в измерениях не приводили к ошибкам в функционировании системы в целом, данные датчиков необходимо обрабатывать. На ум сразу приходит словосочетание “фильтр Калмана”. Но слава этого “страшного” алгоритма, малопонятные формулы и разнообразие используемых обозначений отпугивают разработчиков. Постараемся разобраться с ним на практическом примере.
Читать дальше →

Простая космическая симуляция с помощью Python и Box2D

Reading time4 min
Reach and readers16K
Привет, Хабр.

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

Рискну ошибиться, но это первое описание Box2D для Python на Хабре, восполним этот пробел.



Для тех кому интересно как это работает, подробности под катом.
Читать дальше →

Руководство по возможностям Java версий 8-14

Reading time13 min
Reach and readers27K

Здесь есть все, что вам нужно знать о различных версиях и функциях Java.



Java 8, Java 11, Java 13, Java 14 — какая разница?


Вы можете использовать это руководство, чтобы получить практическую информацию о том, как найти и установить последнюю версию Java, понять различия между дистрибутивами Java (AdoptOpenJdk, OpenJDK, OracleJDK и т.д.), А также получить обзор возможностей языка Java, включая версии Java 8-14.


Примечание переводчика
17 февраля был опубликован перевод Руководство по версиям и возможностям Java
В комментарии к нему Julegg написал
Там у Марко уже описание java-14 добавилось. Будет ли тут перевод добавлен?

Вашему вниманию предлагается обновленная версия руководства от 09 апреля 2020 г.
Читать дальше →

Почему нам нужен DevOps в сфере ML-данных

Reading time14 min
Reach and readers6.2K


Развертывание машинного обучения (machine learning, ML) в продакшн – задача нелегкая, а по факту, на порядок тяжелее развертывания обычного программного обеспечения. Как итог, большинство ML проектов так никогда и не увидят света — и продакшена — так как большинство организаций сдаются и бросают попытки использовать ML для продвижения своих продуктов и обслуживания клиентов.

Насколько мы можем видеть, фундаментальное препятствие на пути большинства команд к созданию и развертыванию ML в продакшн в ожидаемых масштабах заключается в том, что нам все еще не удалось привнести практики DevOps в машинное обучение. Процесс создания и развертывания моделей ML частично раскрыт уже вышедшими MLOps решениями, однако им недостает поддержки со стороны одной из самых трудных сторон ML: со стороны данных.
Читать дальше →

Практическое руководство по разработке бэкенд-сервиса на Python

Reading time57 min
Reach and readers199K
Привет, меня зовут Александр Васин, я бэкенд-разработчик в Едадиле. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получался совсем не разбор, а очень подробный гайд по тому, как писать бэкенды на Python. От первоначальной идеи остались только требования к сервису, на примере которых удобно разбирать инструменты и технологии. В итоге я очнулся на сотне тысяч символов. Ровно столько потребовалось, чтобы рассмотреть всё в мельчайших подробностях. Итак, программа на следующие 100 килобайт: как строить бэкенд сервиса, начиная от выбора инструментов и заканчивая деплоем.



TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Читать дальше →

Нейроэволюция киберкальмаров

Reading time6 min
Reach and readers15K

Эволюционирующая нейросеть


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

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

Цифровые кальмары


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


Рисунок 1: плавающий кальмар.
Читать дальше →

Альтернативное понимание контекста с помощью статистической языковой модели

Reading time20 min
Reach and readers8.1K
ALM

В интернете полно статей на тему основанных на N-граммах языковых моделей. При этом, готовых для работы библиотек довольно мало.

Есть KenLM, SriLM и IRSTLM. Они популярны и используются во многих крупных проектах. Но есть проблемы:

  1. Библиотеки старые, не развиваются.
  2. Плохо поддерживают русский язык.
  3. Работают только с чистым, специально подготовленным, текстом
  4. Плохо поддерживают UTF-8. Например, SriLM с флагом tolower ломает кодировку.

Из списка немного выделяется KenLM. Регулярно поддерживается и не имеет проблем с UTF-8, но она также требовательна к качеству текста.

Когда-то мне потребовалась библиотека для сборки языковой модели. После многих проб и ошибок пришёл к выводу, что подготовка датасета для обучения языковой модели — слишком сложный и долгий процесс. Особенно, если это русский язык! А ведь хотелось как-то всё автоматизировать.

В своих исследованиях отталкивался от библиотеки SriLM. Сразу отмечу, что это не заимствование кода и не fork SriLM. Весь код написан полностью с нуля.
Читать дальше →

Как научиться разработке на Python: новый видеокурс Яндекса

Reading time6 min
Reach and readers266K
Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.

Для изучения курса нужно знать основы Python и понимать, как приложения развёртываются на серверах. Мы ждём, что вы умеете делать запросы к базам данных и знаете, как создаются веб‑приложения, — хотя бы на начальном уровне.
Читать дальше →

Новые архитектуры нейросетей

Reading time10 min
Reach and readers63K

Новые архитектуры нейросетей


Network


Предыдущая статья «Нейросети. Куда это все движется»


В этой статье кратко рассматриваются некоторые архитектуры нейросетей, в основном по задаче обнаружения объектов, чтобы найти (или хотя бы попытаться найти) будущие направления в этой быстро развивающейся области.


Статья не претендует на полноту охвата и хорошее понимание прочитанных «по диагонали» статей. Автор уверен, что пока писал эту статью, появилось еще много новых архитектур. Например, смотрите здесь: https://paperswithcode.com/area/computer-vision.

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

DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля

Reading time28 min
Reach and readers23K

Часть 1: Web / Android


Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинала, чтобы избежать искажения смысла при переводе на русский язык. Желаю вам приятного изучения!


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

Юнит-тестирование для чайников

Reading time15 min
Reach and readers1.2M
Даже если вы никогда в жизни не думали, что занимаетесь тестированием, вы это делаете. Вы собираете свое приложение, нажимаете кнопку и проверяете, соответствует ли полученный результат вашим ожиданиям. Достаточно часто в приложении можно встретить формочки с кнопкой “Test it” или классы с названием TestController или MyServiceTestClient.



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

Оно выполняет свою задачу, но сложно для автоматизации. Как правило, тесты требуют, чтобы вся или почти вся система была развернута и сконфигурирована на машине, на которой они выполняются. Предположим, что вы разрабатываете web-приложение с UI и веб-сервисами. Минимальная комплектация, которая вам потребуется: браузер, веб-сервер, правильно настроенные веб-сервисы и база данных. На практике все еще сложнее. Разворачивать всё это на билд-сервере и всех машинах разработчиков?

We need to go deeper

Сотни тысяч маршрутов в секунду на ядро. Опыт Яндекс.Маршрутизации

Reading time5 min
Reach and readers16K


Пару недель назад Даня Тарарухин рассказал на Хабре, как появился наш сервис, Яндекс.Маршрутизация, и как он помогает компаниям с логистикой. Создавая платформу, мы решили несколько интересных проблем, одной из которых и посвящён сегодняшний пост. Я хочу поговорить о самом планировании маршрутов и необходимых для этого ресурсах.
Читать дальше →

От микросервисного монолита к оркестратору бизнес-сервисов

Reading time6 min
Reach and readers46K
Когда компании решают разделить монолит на микросервисы, в большинстве случаев они последовательно проходят четыре этапа: монолит, микросервисный монолит, микросервисы, оркестратор бизнес-сервисов.


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

Information

Rating
6,699-th
Registered
Activity