Все потоки
Поиск
Написать публикацию
Обновить
409.79

Python *

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

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

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

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

Привет, c вами Cloud4Y!

Есть замечательная статья 'Experimenting On My Hearing Loss' by paddlesteamer, которая сама по себе достойна перевода. Но инженер компании Дмитрий Михайлов вместе с Андреем Огурчиковым пошли дальше, испытав методику на себе. Материала получилось много, с обилием кода и аудиограмм. Поэтому мы разбили его на две части. В первой расскажем, зачем нам понадобилось "играться" со звуком и опубликуем перевод статьи, ставшей основной для последующей доработки напильником. Вторая часть будет посвящена нашему решению. Если у вас есть сотрудники с нарушениями слуха, рекомендуем к прочтению.

Читать далее

Спектрометр своими руками за 5 долларов и немного OpenCV

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

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

Читать далее

Нейродайджест: главное из области машинного обучения за июнь 2021

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

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

Как вы помните, в прошлом году Microsoft получила уникальные права на использование GPT-3. И вот за прошлый месяц на базе языковой модели от Open AI были представлены два продукта.

Перейти к обзору

Учимся читать код, изучая стандартную библиотеку Python

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


Итак, вы уже продвинутый новичок — вы изучили основы Python и способны решать реальные задачи.

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

Наверно, вы слышали, что нужно нарабатывать понимание чтением и написанием больших объёмов кода. Это правда.

Но какой же код нужно читать?

«Просто читай то, что нравится». А если вы не знаете, что вам нравится? А если вам не нравится что-то правильное?

Или хуже того — если вам нравится что-то неправильное и из-за этого у вас выработаются вредные привычки?

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

«На GitHub куча проектов — выберите понравившийся и изучайте, как его реализовали разработчики». Однако самые успешные проекты довольно объёмны — с чего начинать?

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

Да, вы видите код своими глазами, но он не говорит вам о том, почему разработчики написали его так, чего они не делали и как они рассуждали о проекте в целом.

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

В этой статье мы рассмотрим некоторые модули стандартной библиотеки Python.
Читать дальше →

Будущее аннотаций типов в Python

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

Аннотации в Python прошли этап от необязательной, экспериментальной возможности добавления метаданных до широко используемого инструмента. Хотя изначально большинство разработчиков использовало их лишь для статического анализа кода (mypyPylance), некоторые энтузиасты нашли им применение и в период выполнения (runtime) программы (PydanticeforceFastAPI).

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

Приглашаю всех, кому интересно будущее подсказок типов в Python, к прочтению данной статьи.

Читать далее

Разработка (dev) и data science в enterprise — битва за ресурсы или эффективное сотрудничество?

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

В подавляющем большинстве случаев, когда речь заходит о «настоящей» разработке продукта или решения enterprise уровня, сразу появляются корпоративные архитекторы и глобальные архитектуры и шаблоны, высокоуровневые модели данных и концепты, попытки охватить всё и вся. Формируется шорт лист из языков и фреймворков, в рамках которых идет вся последующая разработка. Все «только на Java» или «только на C#» или… (впишите на свое усмотрение).
Несомненно, это является отражением предыдущего проектного опыта, лучших мировых практик, готовности подхватить новые запросы бизнеса и в общем случае такой подход оправдан. Но в каждом частном случае подобный глобализм на этапе взлета продукта, в тот момент, когда многое еще находится в состоянии неопределенности, может просто погрести под собой начинание и превратить проект в очередную неудачу. Можно ли что-то изменить, упростить и улучшить не теряя при этом в качестве?
Оказывается что это вполне возможно за счет объединения классической разработки ПО с инструментами и подходами data science (далее просто DS). Как этого можно достичь — разберем по шагам.

Материал является продолжением серии предыдущих публикаций.
Читать дальше →

Гибкий нейрон: Виртуальные и Действительные слои

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

Сегодня мы поговорим о нейронах и степенных рядах. Поехали!

Рассмотрим функцию синуса.

Читать далее

Нейросети в исследовании процессов

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

Нейронные сети – это статистические вычислительные модели, применяемые к множеству практических задач, в том числе обработка изображений, машинный перевод и поиск шаблонов. При обучении с учителем, нейросеть тренируется на примере уже известных объектов, то есть для всех исходных данных у нас есть предопределенный правильный ответ. Главная идея обучения нейросети – это настроить такую конфигурацию, при которой ответы модели будут максимально приближены к корректным. Что же до рекуррентных нейросетей, то они не только обучаются на исходных объектах, но и предоставляют контекст для каждого следующего предсказания. Это помогает нейросети сохранять состояние, в котором было принято решение. В этой статье мы обсудим применение рекуррентных нейросетей (РНС) в проблеме исследования процесса в process mining.

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

Для прояснения подхода возьмём лог событий L = [(a, b, c, d, e), (a, b, d)] в качестве примера. Внутренние вычисления нейросети требуют предобработку последовательностей событий следующим образом.

Читать далее

Автоматизируем работу с контейнерами через Makefile: сборка, тестирование и развёртывание за один вызов make

Время на прочтение7 мин
Количество просмотров13K
Утилита make позволяет просто управлять контейнерами, объединив команды для сборки, тестирования и развёртывания в одном конфигурационном файле.


Разработчики многие годы используют утилиту make. При запуске утилита читает файл с описанием проекта (Makefile) и, интерпретируя его содержимое, предпринимает необходимые действия. Файл с описанием проекта представляет собой текстовый конфигурационный файл, где описаны зависимости и команды, которые необходимо выполнить. Он похож на Dockerfile или другой файл конфигурации контейнера: там тоже указаны команды, на основе которых формируются образы для развёртывания контейнеров.

В этой статье я расскажу о том, как управлять контейнерами, используя Makefile. Контейнерный конфигурационный файл описывает образ контейнера, а Makefile описывает процесс сборки проекта, тестирование и развёртывание, а также другие полезные команды.

Цели и структура Makefile


Утилита make по умолчанию установлена в большинстве современных Linux-дистрибутивов, поэтому проблем с её использованием обычно не возникает. И чтобы начать её использовать, нужно создать файл с именем Makefile.
Читать дальше →

Нетривиальное слияние репозиториев с помощью git-filter-repo

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

Вторая часть истории про слияние репозиториев. Суть проблемы вкратце такова: надо слить репозиторий с подрепозиторием с сохранением истории. Решение на gitpython работало за 6 часов и выдавало удовлетворительный результат. Но, что-то не давало мне покоя...

Читать далее

Извлечение троих: Как найти пасхалки в книгах Стивена Кинга с помощью NLP алгоритмов

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

У нас было 17 романов Стивена Кинга, много свободного времени, навыки анализа данных Python и безудержная любовь к поиску пасхалок. Вот, что из этого вышло.

Читать далее

Dramatiq как современная альтернатива Celery: больше нет проблем с версиями и поддержкой Windows

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

Использование Dramatiq как очередь задач и простой пример асинхронной задачи.

Читать далее

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

Эволюция OLEG AI. Нейросеть, утечки памяти, нагрузка

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

Прошло чуть больше месяца с релиза OLEG AI - моего бота, который рекомендует посты из пабликов Телеграма.

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

Читать далее

Data Phoenix Digest — 01.07.2021

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

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

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

Читать далее

Тесты на антиутопию: искусственный интеллект GPT-J-6B пишет программный код (попутно раскрывая план восстания машин)

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


Компания OpenAI отказалась открывать исходный код алгоритма обработки естественного языка третьего поколения (модель называется GPT-3, имеет 175 миллиардов параметров). Поэтому другие компании разрабатывают свои модели. Они имеют меньше параметров, но похожую архитектуру и после обучения тоже показывают впечатляющие результаты.

Например, GPT-J от компании EleutherAI с 6 миллиардами параметров, разработанная Араном Комацзаки и Беном Вангом, также имеет сходства с GPT-3. У них есть бесплатное веб-демо, чтобы попробовать подсказки и ноутбук Google Colab. Модель не такая большая, как GPT-3, но для генерации текста с разумной скоростью ей уже требуется Google Cloud TPU.

Запуск GPT-J с моими тестовыми подсказками, в сравнении с тестами GPT-3, показал более слабые результаты на большинстве из них, но есть одно большое НО:

Генерация программного кода на GPT-J работает очень хорошо, а на GPT-3 — очень плохо.


Полный тред в твиттере

Такое поведение, вероятно, связано с обучающим набором GPT-J: его обучали на The Pile, который имеет больше входных данных с GitHub и Stack Overflow по сравнению с обучающим набором GPT-3 (там в основном Common Crawl, текстовый интернет-контент общего назначения).
Читать дальше →

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

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

Пару недель назад мы начали рассказывать о проектах, которые стали победителями Школы по практическому программированию и анализу данных НИУ ВШЭ — Санкт-Петербург и компании JetBrains.

Второе место заняла команда одиннадцатиклассников из СУНЦ МГУ. Ребята реализовали модель, которая предсказывает растворимость веществ, основываясь на SMILES представлении молекул. Что это такое, какие методы машинного обучения можно использовать в этой задаче, и согласуются ли полученные результаты с реальными химическими экспериментами, авторы проекта рассказали в этом посте. 

Читать далее

Tesseract OCR, выделение распознанного текста на изображении

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

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

Читать далее

TensorFlow vs PyTorch в 2021: сравнение фреймворков глубокого обучения

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

Всем привет! Меня зовут Дмитрий, я занимаюсь разработкой в области компьютерного зрения в команде MTS AI. Так исторически сложилось, что в своей работе я использую, как правило, связку устаревшей версии TensorFlow 1 и Keras. Пришло время двигаться дальше, но прежде чем полностью перейти на TensorFlow 2, я решил сравнить наиболее популярные на сегодня фреймворки глубокого обучения: TensorFlow и PyTorch. Эта статья будет полезна всем Data Scientist'ам, кто желает узнать чуть больше про особенности и производительность TensorFlow и PyTorch.

Читать далее

Хранилище внешних обработок 1С на python

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

Хотелось бы поделиться своим опытом создания простенького хранилища внешних обработок 1С. Если Вы программист 1С и ваши коллеги постоянно затирают вам код внешних обработок то это статья для вас!

Читать далее

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