Обновить
517.92

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

NFStats — анализ netflow данных для ISP «на коленке»

Время на прочтение5 мин
Охват и читатели18K

Приветствую! Продолжая рубрику "на коленке" (написал два года назад одну статью и уже рубрика), наконец у меня появилось время поделиться и рассказать еще об одном проекте (а заодно и привести его в порядок), который используется у нас на сети небольшого транзитного провайдера для сбора и анализа статистики сетевого трафика .

Это web-приложение позволяет просматривать статистику в разрезе BGP автономных систем, IP-адресов, интерфейсов, что полезно при балансировке трафика и общего понимания какой трафик проходит через/в/из вашу/ей AS. Удобное подспорье для небольших ISP.

Читать далее

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 1)

Время на прочтение13 мин
Охват и читатели34K
Продолжаем изучать Django Rest Framework с точки зрения новичка. Мы уже разобрали создание REST API для получения данных из БД, включая отдельную статью о работе сериалайзера.

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

image

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

Приятная капча и ее решение

Время на прочтение5 мин
Охват и читатели4.6K

В статье пойдет речь о решении визуально привлекательной капчи, решение которой не только немного расслабляет и погружает в транс медитации, но также позволяет немного стряхнуть пыль с фреймворка selenium для python, а также пакета opencv. Именно эти инструменты и будут использоваться на капче, которая относится к так называемому виду капч «с перетаскиванием». Но, для начала, присказка.
Читать дальше →

Большая подборка телеграмм-каналов для аналитиков

Время на прочтение6 мин
Охват и читатели84K

Работа аналитика требует постоянного пополнения своих знаний - новые инструменты, обновления и методы создаются, как горячие пирожочки. Но перерабатывать такие объемы информации просто нереально, а узнавать что-то новенькое и полезное хочется. И что делать?

Можно, конечно, подписаться на «стоковые» группы и каналы, которые каждый день публикуют по 10-20 постов с «полезным» материалом. Но, признайтесь, это просто самообман: во-первых, столько информации в день просто невозможно пропустить через себя - это только и надо, что статьи читать, а есть же еще работа/учеба. Во-вторых, «полезность» этих статей сомнительна - не каждый пост от умного индуса можно считать полезным, увы :(

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

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

Сохраняйте себе и подписывайтесь на ребят - они это точно заслужили! :)

Читать далее

Общего решения из коробки — нет, или Тестируем PySpark MLlib

Время на прочтение9 мин
Охват и читатели3.5K

Андрей Гаврилов работает в компании EPAM software инженером и занимается data-инженерными задачами. Пишет на Python, работает с Big Data и изучает Data Science — потому что невозможно заниматься Big Data на Python, не касаясь при этом Data Science.

И однажды он захотел выяснить, насколько модуль Spark, связанный с machine learning —  рабочий. Имеет ли  смысл его применять, когда мы мигрируем какое-то решение — например, Scikit-learn — на Spark. На конференции Russian Python Week 2020 он рассказал о своем эксперименте, а сегодня — самая суть для вас.

Обозначим задачу: есть пайплайн, написанный с привычными для Data Scientist фреймворками типа Scikit-learn. Это нужно перенести в кластер Spark’а. Посмотрим, в чем тут может быть проблема. 

Читать далее

Модели глубоких нейронных сетей sequence-to-sequence на PyTorch (Часть 4)

Время на прочтение19 мин
Охват и читатели4.4K

В этой части мы добавим несколько улучшений — упакованные дополненные последовательности и маскировка — к модели из предыдущего раздела. Упакованные дополненные последовательности используются, чтобы сообщить нашей RNN, что нужно пропускать маркеры заполнения в нашем кодировщике. Маскировка явно заставляет модель игнорировать определенные значения, такие как внимание к элементам с заполнением. Оба эти метода обычно используются в обработке естественного языка (NLP).

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

Наконец, мы будем использовать метрику BLEU для измерения качества наших переводов.

Читать далее

DataScience Digest — 15.07.21

Время на прочтение2 мин
Охват и читатели1.7K

Встречайте свежий выпуск дайджеста полезных материалов из мира Data Science & Machine Learning подготовленный командой Data Phoenix и не забывайте подписываться на наш Telegram-канал.

Читать далее

Модели глубоких нейронных сетей sequence-to-sequence на PyTorch (Часть 3)

Время на прочтение13 мин
Охват и читатели4.5K

В этом третьем посте о моделях sequence-to-sequence с использованием PyTorch и torchText мы будем реализовывать модель из стать Neural Machine Translation by Jointly Learning to Align and Translate. Эта модель демонстрирует лучшую точность из из трёх моделей (~27 по сравнению с ~34 у предыдущей модели).

Читать далее
Тебя заморозили, чтобы разбудить в будущем. Здорово? Ты тоже так думал, пока не проснулся и не увидел, что вокруг одни роботы. И они не очень-то рады человеку: у них и так безработица, кризис, цены на гелий-3 растут, а тут ещё и ты из прошлого понаехал. Но ты программист, а программисты не сдаются! Вместе с Академией больших данных MADE от Mail.ru Group мы подготовили задачи, с которыми не справились местные ИИ. Готов решить их и доказать, что человека не заменить? Тогда вперёд! В будущем всё же есть один плюс: все документы и медосмотр тут делает ИИ. Занимает это считанные секунды, и никакой бюрократии. Вот и новая работа… Ты заглядываешь через плечо коллеги-робота и от удивления чуть не роняешь нанокружку. Да это же код на Python! Что ж, хоть какие-то человеческие ценности вечны!
Ладно, где там задачи? Подайте их сюда!

Модели глубоких нейронных сетей sequence-to-sequence на PyTorch (Часть 2)

Время на прочтение10 мин
Охват и читатели8.3K

Во втором разделе учебных материалах о моделях sequence-to-sequence с использованием PyTorch и TorchText мы будем реализовывать модель из работы Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. Эта нейронная сеть позволит достичь лучшей точности при использовании только однослойной RNN как в кодере, так и в декодере.

Читать далее

Как контейнеризировать среды ML разработки и не посадить на мель процессы MLOps

Время на прочтение11 мин
Охват и читатели5K


Проблема эффективного создания продуктов на базе Machine Learning в бизнесе не ограничивается подготовкой данных, разработкой и обучением нейросети или другого алгоритма. На итоговый результат влияют такие факторы, как: процессы верификации датасетов, организованные процессы тестирования, и размещение моделей в виде надежных Big Data приложений.
Бизнес-показатели зависят не только от решений Data Scientist’а, но и от того, как команда разработчиков реализует данную модель, а администраторы и инженеры развернут ее в кластерном окружении. Важно качество входных данных (Data Quality), периодичность их поступления, источники и каналы передачи информации, что является задачей дата-инженера. Организационные и технические препятствия при взаимодействии разнопрофильных специалистов приводят к увеличению сроков создания продукта и снижению его ценности для бизнеса. Для устранения таких барьеров и придумана концепция MLOps, которая, подобно DevOps и DataOps, стремится увеличить автоматизацию и улучшить качество промышленных ML-решений, ориентируясь на нормативные требованиям и выгоду для бизнеса. Применять подходы MLOps необходимо на всех этапах создания ML решений.

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

Open Data Science Odessa Meetup #3

Время на прочтение1 мин
Охват и читатели973

Приветствую всех!

Вы устали от карантина? Мы точно! Поэтому после длительного перерыва, команда Data Phoenix вместе с Autodoc и VITech приглашает всех, 14 июля, на долгожданный оффлайн митап одесского Open Data Science сообщества. На нем мы поговорим про управление данными и обнаружение объектов в реальном мире, а также вас ждет много живого общения, которого нам очень не хватало на карантине. Будет организована онлайн-трансляция. Участие бесплатное, но обязательна предварительная регистрация.

Программа и регистрация

Эксперимент для сотрудника с нарушением слуха, ч. 2, проверка на себе

Время на прочтение9 мин
Охват и читатели1.5K

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

Отдельное спасибо комментаторам, которые отметились в комментариях к первой части. Устройства с костной проводимостью, программные решения вроде Equalizer APO 1.2.1, слуховые устройства с поддержкой Bluetooth — мы собрали и передали все ваши идеи. Может быть, что-то из этого и выйдет. Но мы расскажем о своём варианте. Возможно, он тоже окажется кому-то полезен.

Читать далее

Ближайшие события

Slicer: нарезка твердотельных объектов под раскрой

Время на прочтение5 мин
Охват и читатели6.5K

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

Этими вопросами я и задался, когда решил построить свой личный CNC станок.

Читать далее

Модели глубоких нейронных сетей sequence-to-sequence на PyTorch (Часть 1)

Время на прочтение24 мин
Охват и читатели25K

Этот туториал содержит материалы полезные для понимания работы глубоких нейронных сетей sequence-to-sequence (seq2seq) и реализации этих моделей с помощью PyTorch 1.8, torchtext 0.9 и spaCy 3.0, под Python 3.8. Материалы расположены в эволюционном порядке: от простой и неточной модели к сложной и обладающей наибольшей точностью.

Читать далее

Как новый метод упаковки в BERT ускоряет обработку естественного языка в 2 раза

Время на прочтение11 мин
Охват и читатели3K

Используя новый алгоритм упаковки, в Graphcore ускорили обработку естественного языка более чем в 2 раза при обучении BERT-Large. Метод упаковки удаляет заполнение, что позволяет значительно повысить эффективность вычислений. В Graphcore предполагают, что это также может применяться в геномике, в моделях фолдинга белков и других моделях с перекошенным распределением длины, оказывая гораздо более широкое влияние на различные отрасли и приложения. В новой работе Graphcore представили высокоэффективный алгоритм гистограммной упаковки с неотрицательными наименьшими квадратами (или NNLSHP), а также алгоритм BERT, применяемый к упакованным последовательностям. К старту курса о машинном и глубоком обучении представляем перевод обзора соответствующей публикации на ArXiv от её авторов. Ссылку на репозиторий вы найдёте в конце статьи.

Читать далее

Алгебраические типы данных и Python

Время на прочтение14 мин
Охват и читатели22K

Возможно, кто-то из читателей, увидев заголовок этой статьи, подумает что-нибудь вроде:

"Что?! Алгебраические типы данных?! Это же что-то из мира функциональных языков программирования. Python?! Ну нет... Где Python со своей динамической утиной типизацией, а где типы данных, и уж тем более алгебраические..."

Что-то в таком духе. Но, на самом деле, в Python есть своя система типов, кроме того Python считается языком со строгой типизацией, а благодаря mypy и аннотациям, корректность используемых типов может быть проверена статически без непосредственного запуска программы. Помимо всех этих достаточно интересных особенностей, в Python есть возможность работать и с алгебраическими типами данных. Так что же это за типы данных, как они выглядят в Python, и какую практическую пользу приносят — попробуем разобраться в этой статье.

Читать далее

Как на Raspberry Pi запустить модель ML и сэкономить пространство одноплатника

Время на прочтение8 мин
Охват и читатели9.1K

Представьте ситуацию: впереди выходные, а у вас есть достаточно нагруженная малинка и вы — ради эксперимента — хотите посмотреть, что ML умеет на мощностях RPi, но не хотите слишком перегружать машину, даже всей облегчённой версией TF. Что можно сделать? Мы уже писали о классификации мусора с помощью RPi, а сегодня, к старту курса о глубоком и машинном обучении, делимся переводом руководства, автор которого приводит простейший пример работы с необходимым минимумом TFLite. Выводы делаются моделью менее чем за секунду, при этом не нужно устанавливать весь пакет TensorFlow; используется только tflite_runtime, поддерживающий класс Interpreter.

Читать далее

Оптимизация на простых типах данных. Часть №2 «Числа»

Время на прочтение8 мин
Охват и читатели7.5K
19 апреля автор курса «Алгоритмы для разработчиков» в Яндекс.Практикуме и разработчик в компании Joom Александра Воронцова провела открытый вебинар «Оптимизация на простых типах данных». У Аси за спиной 11 лет разработки, опыт олимпиадного программирования, а также работа в Яндексе с высоконагруженными проектами.

Мы подготовили расшифровку вебинара в двух частях. Первая часть — про строки и работу с ними, вторая — про числа.

Статья будет полезна разработчикам на Python и C/C++, которые хотят научиться трюкам для ускорения кода, а также программистам на других языках, которым интересны фишки, связанные с типами данных.


Десктопизация по-питоновски. Инструменты для создания автотестов

Время на прочтение9 мин
Охват и читатели23K

Автоматизация тестирования – неотъемлемая часть процесса обеспечения качества. Мы в нашей практике чаще всего разрабатываем тесты для веб-, мобильных приложений и API, но сегодня хотим рассказать о более редком направлении – тестировании десктоп-приложений.

Кратко рассмотрим подходы, инструменты, технологии и «грабли», на которые можно наступить при выполнении этой задачи. Статья будет полезна специалистам, которые хотят попробовать автоматизировать ежедневную монотонную работу, а также коллегам по цеху в сфере автоматизации gui-тестирования – как начинающим, так и разработчикам с опытом.

Читать далее

Вклад авторов