Обновить
570.43

Python *

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

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

«Машинное чтение» цифровых и не только индикаторов без ИИ и нейронок на Python

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

В этой статье рассмотрим простой алгоритм обработки и распознавания значений из массива фотографий с показаниями цифровых индикаторов.

Не будет машинного обучения, нейросетей, только стандартные библиотеки Python для работы с изображениями.

Читать далее

Делаем intent classifier для службы поддержки без доменного датасета на русском

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели4.3K

В этой статье я продемонстрирую, как без собственного датасета сделать классификатор намерений пользователя для службы поддержки в сфере e-commerce. И более того, я расскажу, как у меня получилось сделать классификатор для русского языка без датасета на русском языке.

Меня зовут Елизавета Колмакова, я Data Scientist в компании, которая разрабатывает айти-решения для крупного ритейла.

Читать далее

Merlion Framework или как упростить работу с временными рядами

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

Единственная причина для существования времени — чтобы все не  случилось одновременно.

Альберт Эйнштейн

Привет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и отличия от аналогов, разберём пару практических примеров, а также посмотрим, как всё считать и на какие метрики стоит обращать внимание.

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

Временной ряд – это набор данных, описывающих изменения какой-либо переменной во времени. 

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

Читать далее

Pandas в pandas'е: упаковываем документацию в датафрейм

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели4.5K

Документация к сложным библиотекам на питоне (напр. pandas) хранится в doc-строках и разбросана по сотням страниц сайта. В этой статье мы с помощью небольшого кода упакуем её (информацию из документации для каждого класса и метода) в... датайфрейм. Но зачем? Во-первых, это прикольно так её можно быстро искать и анализировать. Во-вторых, изучим некоторые встроенные питоновские средства работы с документацией. Наконец, такой датафрейм потенциально может стать основой для обучения/дообучения GPT-моделей писать более корректный, безошибочный, использующий всевозможные функции и их аргументы, код...

Читать далее

Neural ODE: встреча с дифференциальными Уравнениями

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.5K

Дифференциальные уравнения и нейронные сети вместе? Не может быть или может... Neural ODE – подход в глубоком обучении, объединяющий идеи нейронных сетей и обыкновенных дифференциальных уравнений. Выглядит пугающе, давайте проверим!

Читать далее

Parameter-Efficient Fine-Tuning (PEFT): методы LoRA, Prefix tuning, Prompt tuning и Adapters

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели31K

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

PEFT(Parameter-Efficient Fine-Tuning) представляет собой эффективный подход, позволяющий не терять производительность при тонкой настройке модели, снижая при этом требования к памяти и вычислительным мощностям.

В этой статье мы рассмотрим общую концепцию PEFT, его преимущества и основные методы.

Читать далее

Lingua Franca — Машинный перевод с учётом именованных сущностей для вопросно-ответных систем

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели1.6K

Машинный перевод может улучшить существующие вопросно‑ответные системы (англ. Question Answering — QA), которые имеют ограниченные языковые возможности, позволяя им поддерживать несколько языков. Однако у машинного перевода есть один основной недостаток: часто такие системы не справляются с переводом именованных сущностей, которые нельзя перевести дословно. Например, немецкое название фильма «The Pope Must Die» переводится как «Ein Papst zum Küssen», что дословно означает «Папа для поцелуев». На Русском языке название фильма звучит так: «Папа должен похудеть». Поскольку правильность именованных сущностей критична для вопросно‑ответных систем, необходимо как можно лучше обеспечить правильность их перевода. В данной статье я представляю наш метод машинного перевода, учитывающий именованные сущности, под названием «Lingua Franca». Он использует графы знаний для использования хранящейся там символьной информации с целью обеспечения правильности перевода именованных сущностей. И да, это работает!

Читать далее

Python для gambling'a. Часть 1 — Сбор данных

Уровень сложностиПростой
Время на прочтение21 мин
Охват и читатели11K

Предисловие

Простой python-cкрипт для парсинга спортивной статистики по баскетболу с популярного сайта

Читать далее

Подделка ssh сервера на Python

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.9K

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

На скриншоте виден пример с сервером, на котором можно оставить свою роспись.

Читать далее

Python и Excel глазами НСИ

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели13K

Всем привет! Меня зовут Алмаз. Я специалист по НСИ (нормативно-справочной информации) в компании Bimeister.

Хотел бы поделиться своим небольшим опытом автоматизации некоторых рутинных задач при работе с различными файлами и Excel- базами данных.

Python

Предыстория

Сейчас довольно много материала по данному языку программирования. Порой новичку очень сложно понять с чего начать и в какую сторону двигаться. По крайней мере для работы в инженерной области, найти что-то полезное для меня было не очень просто. Я начал изучать основы языка Python на Freecodecamp.org.

Читать далее

Компьютерное зрение сквозь года

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели9.3K

Как-то я столкнулся с довольно тривиальной, но новой для себя задачей - оптического распознавания символов (OCR). Так сложилось, что готовые инструменты (типа tesseract-ocr) мне не подошли, поэтому пришлось изобретать велосипед. Но к этому процессу я решил подойти со всей отвественностью: проверить несколько подходов, определить их примущества, недостатки и выбрать наиболее подходящий для конкретной задачи. По итогу это мини-исследование вылилось в данную обзорную статью. Здесь я хочу привести примеры нейросетевых моделей, характерных для различных этапов становления области компьютерного зрения (далее - CV) в том виде, в котором мы его знаем сейчас.

Читать далее

Разворачиваем Telegram бота на Raspberry Pi Zero 2W с автозапуском: шаг за шагом

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели17K

Развертывание Telegram бота на Raspberry Pi Zero 2W: установка, автозапуск, и GitHub репозиторий с эхо-ботом.

Первым шагом является установка «Raspbian os lite» на ваш Raspberry Pi Zero 2W. Это легковесная версия операционной системы, которая идеально подходит для использования в качестве сервера. Следуйте инструкциям для установки через официальную утилиту. Скачать официально здесь.

Читать далее

Задачки для начинающих автоматизаторов тестирования

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели15K

Привет, друзья! В этой статье предлагаем вам решить десяток задач по автоматизации на Python + pytest. К каждой задаче приложили наш вариант решения.

Посмотреть задачи

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

Напиши в ЛС «томат» или же что за «Клан томатов»

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.1K

Расскажу о игре "Клан томатов", которая уже гуляет по сети >10 лет, чем нарушу её правила.

И том, как я написал бота, что бы попытаться вывести эту игру на новый уровень!

Читать далее

Как я создаю себе колоды Anki для немецких слов

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели20K

Я захотел продолжить некогда заброшенное изучение немецкого языка. Долгое время на просторах интернета слышал мнение, что карточки Anki – чуть ли не самый лучший способ изучение языка, и решил, собственно, посмотреть что к чему. Рекомендации YouTube привели меня к интересному видео, где автор рассказывает о своем шаблоне карточек с немецкими словами. Автор не желал публиковать свою колоду, и не найдя аналогов среди публичных колод, я принялся делать свое. Конечно же не вручную.

Читать далее

Как мы делали уведомление о коммитах

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели5.3K

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

Читать далее

Нейропанорамы для любой точки Земли: как «осмотреться» на спутниковом снимке

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели3.8K

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

Генерировать далее

Ускоряем анализ данных в 170 000 раз с помощью Python

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели21K

В статье «Ускоряем анализ данных в 180 000 раз с помощью Rust» показано, как неоптимизированный код на Python, после переписывания и оптимизации на Rust, ускоряется в 180 000 раз. Автор отмечает: «есть множество способов сделать код на Python быстрее, но смысл этого поста не в том, чтобы сравнить высокооптимизированный Python с высокооптимизированным Rust. Смысл в том, чтобы сравнить "стандартный-Jupyter-notebook" Python с высокооптимизированным Rust».

Возникает вопрос: какого ускорения мы могли бы достичь, если бы остановились на Python?

Под катом разработчик Сидни Рэдклифф* проходит путь профилирования и итеративного ускорения кода на Python, чтобы выяснить это.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

Настройка C++ проекта c OpenMP. Обертывание С++ для Python с помощью pybind11 и CMake

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.7K

В статье описан практический пример настройки проекта на языке C++ с использованием, в качестве примера, библиотеки для многопоточных вычислений OpenMP , а также дальнейшее обёртывание для использования в проектах написанных на Python при помощи библиотеки Pybind11. В качестве системы сборки используется CMake. Основное внимание уделено именно сборке проекта. В качестве инструмента обёртывания используется библиотека pybind11, в качестве системы сборки CMake.

Читать далее

Шаг за шагом: Реализация автоматического резервного копирования PostgreSQL в Kubernetes и его синхронная отправка на S3

Уровень сложностиСредний
Время на прочтение27 мин
Охват и читатели9.9K


Привет! У каждого из нас бывает что после какой-то задачи, ты хочешь чем-то поделиться. Но зачастую мотивации хватает только на поделиться в рамках внутреннего Confluence. Сейчас, я реализовал решение которое объявлено в названии статьи. Сразу хотелось бы сказать, что я не претендую на истину в последней инстанции со своим решением, оно просто отражает путь который пройден мной. Более того, СУБД в кластере здесь тоже не предмет для обсуждения.

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

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