Обновить
512K+

Python *

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

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

«Midjourney на коленке, но теперь с S3». Как хранить генерации с промптами в объектном хранилище

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

Привет, Хабр! Построить конвейерную ленту по генерации изображений не так сложно — мы доказали это в обзоре. Но как сохранить результаты? Ведь если вы захотите пересоздать виртуальную машину с нейронкой, на которой хранятся файлы, то окончательно их потеряете. Под катом рассказываем, как подключить ее к объектному хранилищу и хранить промпты в метаданных объектов.
Читать дальше →

Python для начинающих на примере работы с переменными

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

Если вы уверенно программируете на Python, смело скипайте этот пост. Но если у вас пока даже не установлен его интерпретатор или вы не знаете, что это такое, а узнать хотите, текст вам сильно подсобит. 

Python — один из самых популярных, востребованных и при этом доступных в освоении языков, и для того, чтобы начать с ним работать, нет нужды оплачивать какие-то неприлично дорогие курсы. При правильном гайде сделать это можно самостоятельно, и правильный гайд для новичков Python имеет вполне конкретное название. Это книга «Программирование на Python для начинающих» опытного программиста и автора учебников Майка МакГрата. 

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

Давайте посмотрим, как объясняется, например, работа с переменными в Python.

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

Читать далее

Как написать своего нейросотрудника?

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

Конечно, прекрасно подключить API от OpenAI и разыграть своего руководителя новым консультантом… Но подобные чат-боты не могут ориентироваться в данных компании и предоставлять адекватные ответы. Можно хотя бы не рассчитывать на увольнение:)

В чем отличие модифицированного чат-бота, нейросотрудника от обычного окошка с GPT 4.0?  — он может ориентироваться в нужной вам информации лучше: составлять подборки резюме для дальнейшего анализа живым HR-ом, общаться с клиентами скриптами, даже подбирать контент-план на основе данных о компании и помогать расписывать ТЗ для сотрудников. 

В этой работе мы попробуем написать своего простого нейросотрудника, а точнее HR-менеджера. Начнем с теоретической части про векторные базы данных и обучение, закончим практикой, разобрав конкретный пример. 

Если не хочется читать теорию – переходите в конец статьи. 

Читать далее

Наш публичный детектор голоса стал быстрее в 3 раза (*), качественнее, устойчивее и теперь работает на 6 000 языках

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

Мы уже рассказывали про наш детектор голоса на Хабре тут, тут и тут. Кратко опишу, что стало лучше в этот раз:

Поддержка 6 000+ языков;

Общий рост качества на 5-7%;

Существенно повышена устойчивость на шумных данных;

TorchScript (*) стал в 3 раза быстрее, а ONNX - на 10% (теперь они примерно равны по скорости, обработка 1 кусочка аудио занимает 325 и 189 μs соответственно);

Читать далее

Ускорение Python в 2 раза с помощью multiprocessing, async и MapReduce

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

Python действительно может считаться относительно медленным языком программирования по сравнению с некоторыми другими языками, такими как C++ или Java. Однако, существуют различные библиотеки и инструменты, которые позволяют ускорить выполнение счетных задач в Python. Рассмотрим как можно ускорить анализ данных в 2 раза!

Читать далее

Бот авторизаций в Telegram для корпоративных чатов

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

Привет, я Саша Снытко, и я руковожу командой BI в Data Office Tele2. Мы уже рассказывали здесь о миграции на Fine BI, если быть точнее, о нашем опыте мониторинга пользователей. Сегодня речь пойдет о кардинально другой теме – разработке Telegram-бота для корпоративных каналов и чатов. Задача, которая родилась из потребности следить за составом подписчиков чата Data Office и выросла в полноценный корпоративный инструмент.

В статье мы с главным разработчиком нашего бота (спойлер: стажером команды, которая проявила инициативу и вызвалась заняться этой нетривиальной задачкой) рассказываем о своем опыте разработки в Telegram API на основе библиотек Telebot и Telethon. Еще объясним, как смогли обойти ограничение Telegram по выгрузке в 200 пользователей и настроили интеграцию с корпоративным LDAP-каталогом. Ну и куда без дашборда статистики активности Tg-каналов в Fine BI. В свое время нам не хватило прикладного DIY-материала, и мы проходили весь путь с граблями и шишками самостоятельно. Надеемся, что эта статья поможет кому-то из вас. А те, кто уже прошел этот путь, подскажут нам новые пути решения и возможности апгрейднуть наш сервис.

Читать далее

Разделяй и запускай: делим тестовый стенд между департаментами

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

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

В настоящей статье делюсь опытом разработки и внедрения в процессы компании оптимизационного решения на базе математического программирования. Материал расширил исследовательскими элементами и локальным мини benchmark'ом.

Читать далее

Как создать Python-приложение, которое предупредит о приближении астероида

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

Привет, Хабр! В статье я постарался показать, как объединить космос и технологии в одном приложении, которое через API оповестит пользователей по SMS о приближающемся к Земле астероиде. Подробности, как всегда, под катом.

Читать далее

Классификация комбинаторных объектов на примере латинских квадратов

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

Хочу поделиться некоторым опытом по написанию программ для перечисления комбинаторных объектов из заданного класса (в примере будут рассматриваться латинские квадраты, хотя на картинке, для зрелищности, показан латинский куб). Обычно нужно перечислить все объекты с заданными параметрами, например, таблицы заданного размера, заполненные числами согласно некоторому правилу. Под словом «все» можно подразумевать как «все различные», так и «принципиально различные» в смысле, специфическом для конкретной задачи, например, таблицы могут считаться принципиально одинаковыми (эквивалентными), если одна получается из другой перестановкой строк.

Читать далее

Разработка фреймворка для автоматизации загрузок данных из источников: Case Study для металлургической компании

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

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

Конечно, есть Apache NiFi, но с ним возникает много проблем при работе с большими объемами данных. Связка Python и Apache Airflow на сегодняшний день является одной из лучших практик в области управления данными не только для оркестрации данных, но и для извлечения, поэтому логично разрабатывать ETL-систему (Extract, Transform, Load) поверх Airflow. Это позволяет эффективно управлять процессами извлечения, преобразования и загрузки данных, обеспечивая надежность и гибкость в аналитической инфраструктуре.

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

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

Читать далее

Задача распознавания эмоций. Часть 1. Введение

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

Распознавание эмоций.

Данная статья была подготовлена на основе презентации моей курсовой работы по компьютерному зрению. Ее цель - это краткий обзор аспектов машинного обучения в контексте задачи распознавания эмоций. То есть, в данной стать мы не будем излишне углубляться в детали, но при этом затронем практически все проблемы, которые так или иначе связаны с одной задачей: построение модели распознавания эмоций.

Статья будет состоять из 3 частей:

1. Введение
Описание и постановка задачи распознавания эмоций.

2. Три кита качества
Данные;
Архитектура;
Гиперпараметры.

3. Запуск модели
Разбор моего ноутбука с работой по шагам.

Каждая из частей будет более практическая чем предыдущая и постепенно перейдет от общей теории к реальному коду.

Читать далее

SVG-виджеты для tcl/tk. Градиентная заливка и прозрачность. Часть II

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

Продолжим знакомство с svg-виджетами для tcl/tk. Напомним, что рассматриваемые примеры, сам пакет svgwidgets и интерпретаторы tcl/tk с необходимыми пакетами можно найти на github-е. После выхода первой статьи все они претерпели изменения. Начнем мы статью с примера скрипт_button_PACK.tcl:

$/usr/local/bin64/tclexecomp140_svg_Linux64 скрипт_button_PACK.tcl

Читать далее

strtree — классификатор строк на основе регулярных выражений

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

Вы хотите найти короткие регулярные выражения, полно и точно отделяющие один класс строк от другого? Это статья для вас. Мы поговорим про задачу классификации строк с помощью автоматически определяемых паттернов, а в конце я предоставлю пример такой процедуры с кодом на Python. Пользоваться мы будем небольшой open-source библиотекой strtree.

Читать далее

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

Обнаружение вторжений с применением технологий машинного обучения. Часть 1

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

Привет Хабр! Меня зовут Татьяна Ошуркова, я главный аналитик департамента ИТ корпоративного, инвестиционного и депозитарного бизнеса Росбанка и автор телеграм-канала IT Talks.

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

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

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

Читать далее

Об ускорении некоторых тестов на нормальность из библиотеки SciPy

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

Приветствую уважаемых читателей, случайно или нет наткнувшихся на эту статью. Адресована она всем тем, кто исследует распределение разнообразных эмпирических данных.
В моей публикации вас ждут: небольшой ликбез по теории вероятностей, развивающий её интуитивное и практическое понимание; детективная история о том, как решение дифференциального уравнения привело нас к двум важнейшим статистическим характеристикам выборочных последовательностей; ревизионизм в области проверки распределений на соответствие гауссовскому и объяснение пресловутого p-value с нуля за 5 минуты.

Читать далее

Способы возведения в степень в Python

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

В Дзене Python есть принцип, согласно которому "должен существовать один и, желательно, только один очевидный способ сделать это". Однако в Python есть как миниум три способа возведения числа в степень: оператор **, встроенная функция pow(), функция pow() модуля math.

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

Читать далее

Анимация доски Гальтона на Python и manim

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

Многие видели математические видео с канала 3blue1brown. Оригинальный стиль, отличные визуализации самых разных математических понятий. Как они были сделаны? Грант Сандерсон, автор канала 3blue1brown, написал специальную библиотеку на питоне, manim, для создания своих видео. Библиотека оказалась популярной, был сделан форк и сложилось сообщество для ее дальнейшего развития. Мне стало интересно и я захотел научиться делать похожие видео, для примера будет анимация доски Гальтона. Математика присутствует, анимация интересная, что из этого вышло - написано в статье.

Читать далее

Обнаруживаем атаки с помощью ML

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

Использование искусственного интеллекта позволяет существенно увеличить эффективность работы различных средств обеспечения кибербезопасности.

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

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

Собственно, вредоносное ПО это не только пресловутые вирусы, но и различные хакерские инструменты, например знаменитый Metasploit Framework, который хотя и предназначен для проведения тестирований на проникновение белыми хакерами, тем не менее активно используется и обычными взломщиками.

Читать далее

Как освоить Streamlit для Data Science

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

Перевод статьи "Как освоить Streamlit для Data Science",

Автор: Chanin Nantasenamat

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

Читать далее

Дообучение модели GPT-2 (RUS) для генерации описаний заведений на основании названия, рубрики и оценки

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

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

Читать далее