Обновить
1024K+

Python *

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

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

SVG-виджеты для tcl/tk. Часть I

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

Начать статью хочу с цитаты из слов Брайана Кернигана,которую мне посчастливилось найти:

Tcl/Tk придает работе магическую продуктивность, за несколько часов можно достигнуть тех же результатов, что за дни или недели при разработке на C или C++... Tk весьма эффективен для большинства приложений, многие элементы интерфейса (виджеты) реализованы настолько хорошо, что остается только удивляться, как подобная работа могла быть выполнена так качественно... Удачным кажется и то, что разделение задач между Тсl и С/С++ осуществляется достаточно легко, надо только знать, какой инструмент лучше справляется с задачей... Расширение системы дополнительным Tcl-кодом, загружаемым напрямую в Tcl-библиотеку приложения, в полном согласии с оригинальной идеей Остераута, повышает эффективность программы, в целом, упрощает ее структуру и улучшает мобильность... Я не уверен, что Тсl мог бы выжить как самостоятельный продукт - у него слишком много конкурентов. Но у сочетания Tcl/Tk в Unix-мире нет конкурентов... Система исключительно надежна, очень хорошо документирована... свободно доступна... безукоризненно высокого качества

Читать далее

Python — Дескрипторы (Descriptors)

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

Если обратиться к документации, то дескриптор — механизм, который позволяет объектам настраивать поиск, хранение и удаление атрибутов.

Дескрипторы используются в классах, выступая в роли атрибутов класса(не экземпляра).

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

Читать далее

Продвинутое использование форм в Django (на примере Bootstrap и crispy)

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

В этой статье поговорим о существующих подходах к рендерингу веб-форм в Django.

Обсудим подходы с использованием стандартных средств Django, а также применим сторонние средства для продвинутого управления рендерингом форм на примере пакета django-crispy-forms и фронтенд библиотеки bootstrap 5.

Читать далее

Подбор гиперпараметров RAG-системы с помощью Optuna

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

Сказ о том, как с помощью Opuna’ы сделать вашу RAG-систему чуточку (а может и не чуточку) эффективнее :)

Мои курсы: Разработка LLM с нуля | Алгоритмы Машинного обучения с нуля

Читать далее

Погружение в метаклассы в Python

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

Задумывались ли вы, почему функция isinstance(int, object) возвращает True? Объяснение, что все является объектом, которое можно часто услышать, хоть и является правдой, но не дает ответа на вопрос и на самом деле есть профанация, потому что не дает настоящего понимания, а создает только его видимость. Ведь совсем непонятно, почему int (как и любой другой стандартный класс) является непременно экземпляром базового класса. Да, он является подклассом, но почему именно экземпляром? Ответ будет дан по ходу изложения.

Читать далее

Как обнаружить и устранить мультиколлинеарность с помощью Statsmodels в Питоне

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

Привет, Хабр!

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

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

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

В статье рассмотрим как обнаружить и устранить мультиколлинеарность с помощью Statsmodels в Питоне.

Читать далее

LLM Leaderboard за апрель 2024

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

Привет, Хабр!

Сегодня мы поговорим о том, какие LLM лучше всего работают на бизнес-задачах. AI-хайп находится на локальном пике, похоже, что весь мир только и делает, что внедряет AI-фичи в свои продукты, собирает миллионы на разработку еще одной оболочки для ChatGPT, заполняет свои ряды AI-тулами и, кажется, предоставляет работу роботам, пока сами попивают кофе в старбаксе. 

Читать далее

Мега-Учебник Flask Глава 6: Страница профиля и аватары (издание 2024)

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

Это шестая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как создать страницу профиля пользователя.

Начать изучение

Анализ мощности статистических критериев с использованием бакетизации

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

В данной статье рассматривается влияние бакетизации на мощность статистических критериев в условиях различных распределений данных и при разном объеме выборки. Особое внимание уделено зависимости мощности критерия от количества бакетов и размера выборки. Исследование предоставляет важные выводы для проектирования и анализа A/B тестирования и других форм экспериментальных исследований.

Не кладём все яйца в одну корзину

Похоже, я придумал свой алгоритм поиска кратчайшего пути (upd: меня опередили...)

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

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

Почему собственный? Я искал подобное решение, но не нашел, возможно, оно уже было реализовано, просто плохо поискал. Жду Нобелевскую премию =)

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

Читать далее

ViT для новичков: как нейросети научились определять зависимости в изображениях

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

В этой статье мы попытаемся рассказать про трансформерную архитектуру VIT и предысторию его формирования. Сегодня не совсем понятно, почему этот "формат" нейронок настолько эффективен. Некоторые говорят механизм внимания, но некоторые практики делают больше ставок в области Computer Vision на MetaFormer. https://github.com/sail-sg/poolformer

Нейросети остаются для нас “теневым” процессом, подобным черному ящику. И изучение Deep Learning уже напоминает больше не математику, а биологию, где мы следим за поведением нашего детища.

Читать далее

Мастерим собственные awaitables и циклы событий

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

Привет, Хабр!

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

Для этого можно создавать собственные awaitables и кастомные циклы событий.

Читать далее

От кода до сертификата: Создание веб-приложения на Python Flask для автоматизации выдачи сертификатов

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

Привет всем! Меня зовут Дмитрий. Я надеюсь, что статья будет полезной и интересной для вас(не пинайте сильно, первый опыт, мысли путаются). Тема моей статьи — создание веб-приложения на Python Flask для автоматизации выдачи сертификатов и вдохновился написанием ее после прочтения Почта без хлопот: автоматизация отправки писем с помощью Python

Читать далее

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

Проблема с которой я столкнулся при работе с генераторами

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

Работая с генераторами через map, filter и all я столкнулся с проблемой пустого массива: проблема состоит в том. Что передавая результат filter(...) в функцию all а после продолжая работать с генератором полученным от функции filter например преобразуя его в tuple, чтобы глянуть какие элементы попали в массив после прохода фильтра. Я получал пустой tuple.

Узнать больше

Обработка данных для RAG-систем

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

Всем привет, меня зовут Андрей Шахов, я Python-разработчик и Lead Backend Developer в wpp.digital. ML-направлением, а точнее LLM в компании я начал заниматься только в конце 2023 года. Сейчас на задачи подобного рода у меня уходит примерно 40% рабочего времени.

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

Читать далее

Этому городу нужна конференция по FPGA: шесть актуальных докладов про разработку микроэлектроники в Санкт-Петербурге

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

Приглашаем верификаторов, RTL-инженеров и FPGA-разработчиков на конференцию FPGA-Systems 2024.1 в Санкт-Петербурге и онлайн. Обсудим аспекты безопасности в рамках систем на кристалле, тестирование верификационных компонентов, фреймворк PyUVM и его использование для верификации цифровых дизайнов ASIC и FPGA, разработку трансиверов и многое другое. 

Регистрация уже открыта — заполняйте форму по ссылке и присоединяйтесь к конференции. Под катом — полная программа встречи.

Читать далее

Обучение модели токсификации текстов с помощью TorchTune, подробное руководство

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

Приветствую, хабровчане!

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

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

Так что пристегнитесь, будет весело и слегка токсично!

Читать далее

Распознавание, хранение и поиск лиц в базе данных

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

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

Читать далее

Как решить типичные проблемы Django нестандартным подходом: Fake Injection

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

Давайте признаем, что развитие проектов в мире Django не всегда проходит гладко. Мы часто сталкиваемся с толстыми моделями и сериалайзерами, размытой бизнес-логикой и тестированием, которое больше напоминает головную боль, чем удовольствие. Меня зовут Павел Губарев, я backend-разработчик продукта 10D в компании Самолет. Последние пять лет я занимаюсь backend-ом и большую часть времени я использую именно Django. С ростом проекта увеличивается и его сложность, в случае с Django есть набор часто встречающихся проблем. В этой статье я расскажу о методах нашей команды, которые помогли нам справиться с этими проблемами и привести код к новому уровню надежности и эффективности.
Читать дальше →

Без холивара «переписать все на Go»: проблема переносимости в Python и ее решение

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

На скриптовых языках удобно разрабатывать… И на этом удобство заканчивается. Вне машины разработчика начинаются проблемы. Особенно если вы пишете какой-то прикладной тулинг — cli-утилиты, вспомогательные приложения в вашем SDK и прочее. Вы даже не можете рассчитывать на то, что у пользователя будет pip, чтобы он смог поставить все ваши зависимости, вам все нужно организовать самостоятельно.

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

Если вам покажется, что в чем-то я ошибаюсь, добро пожаловать в комментарии. Буду рад услышать любые альтернативные точки зрения. Кроме, как я уже отметил в заголовке, рекомендации переписать все на Go/Rust/You name it :) Этот холивар мы уже проходили.

Читать далее