pythonportal | Unsorted

Telegram-канал pythonportal - Python Portal

50319

Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3GMMF6

Subscribe to a channel

Python Portal

В сегодняшнем выпуске программистских хорроров…

В документации Python к функции random.seed() сказано:

“Если a — это int, то он используется напрямую.”


Но если задать seed как 3 и как -3, на деле вы получаете один и тот же объект ГПСЧ, который выдаёт полностью одинаковые последовательности. (TIL). В nanochat я использовал знак числа как, как мне тогда казалось, хитрый способ получить разные RNG-последовательности для разбиения train/test. В итоге словил неприятный баг, потому что train внезапно стал равен test.

Я нашёл соответствующий участок кода в CPython в файле cpython/Modules/_randommodule.c. В комментарии на строке 321 написано:

“Этот алгоритм полагается на то, что число беззнаковое. Поэтому: если аргумент — это PyLong, используем его абсолютное значение.”


А дальше идёт строка:

n = PyNumber_Absolute(arg);


То есть seed явно прогоняется через abs(), знак просто отбрасывается.

Но и сам этот комментарий тоже некорректный и вводящий в заблуждение. Под капотом Python использует алгоритм Mersenne Twister MT19937, у которого в общем случае состояние из 19937 ненулевых бит. Python берёт ваш int (или другой объект) и «размазывает» эту информацию по этим битам состояния. В принципе, старший бит знака вполне мог бы участвовать в формировании состояния. В самом алгоритме нет ничего такого, что «требует беззнаковое число».

Просто было принято решение не учитывать знак, и, на мой взгляд, это ошибка. Простейший вариант мог бы быть, например, таким: n → 2*abs(n) + int(n < 0).

В итоге мы упираемся в контракт модуля random в Python, который в документации тоже расписан не до конца. Явно гарантируется только одно:

одинаковый seed ⇒ одинаковая последовательность.

Но нигде не обещается обратное, что разные seed обязательно дают разные последовательности. Формально Python вообще не гарантирует, что, например, seed(5) и seed(6) породят разные потоки RNG. Хотя в большинстве прикладных сценариев это молчаливо предполагается. И да, мы видим на практике, что seed(5) и seed(-5) — это полностью идентичные потоки. Так что использовать знак seed для разделения поведения train/test в машинном обучении точно не стоит.

Один из самых забавных и коварных «подводных камней» в программировании, с которыми я сталкивался за последнее время

👉 @PythonPortal

Читать полностью…

Python Portal

Microsoft выкатили open-source инструмент для запуска AI-моделей локально

Без облака, подписок и авторизации.
Все на 100% приватно.

И при этом он без проблем встраивается в приложения через OpenAI-совместимый API.

Просто вбиваешь в терминале:

→ winget install Microsoft(dot)FoundryLocal (Windows)
→ brew install microsoft/foundrylocal/foundrylocal (macOS)

Вот официальный веб-сайт со всей документацией и доступными моделями: https://foundrylocal.ai

И репозиторий GitHub: https://github.com/microsoft/foundry-local

👉 @PythonPortal

Читать полностью…

Python Portal

😂😂😂

👉 @PythonPortal

Читать полностью…

Python Portal

Это безумно кайфовая утилита примерно на 100 строк Python.

Живая вебка → сегментация человека через YOLO → кликаешь по любой части тела → она сразу размывается (лицо, торс, руки, волосы… или всё сразу).

Без конфигов. Просто тыкаешь чекбоксы и смотришь, как всё работает.

👉 @PythonPortal

Читать полностью…

Python Portal

Пройдено

👉 @PythonPortal

Читать полностью…

Python Portal

Эта симуляция основана на 7 строках Python.

Адвекция по МакКормаку → мягкий source-терм → подъёмная сила по Буссинеску → пересэмплированное форсирование → проекция на неразрывность через метод сопряжённых градиентов.

Когда semi-Lagrangian + Conjugate Gradient просто берут и работают, это ощущается как читерство над физикой.

👉 @PythonPortal

Читать полностью…

Python Portal

Когда делаешь парсер или переносишь сайт, на экране часто лежит куча рваной HTML-разметки. Привести это в аккуратный Markdown обычно та еще морока. 🐱

В опенсорсе нашелся удобный инструмент python-markdownify, который как раз решает задачу конвертации HTML в Markdown.

Логика у него проста: берешь громоздкий HTML, на выходе получаешь понятный и чисто структурированный Markdown.

Инструмент хорошо настраивается. Можно вычищать нужные теги, менять формат заголовков, аккуратно обрабатывать таблицы и картинки. Все это конфигурируется.

Ставится через pip. Им можно пользоваться как из Python-кода, так и из командной строки, конвертируя файлы пачками.

При желании можно унаследоваться и переопределить правила преобразования под свои кейсы. С расширяемостью там все ок.

Если приходится гонять большие объемы текста или переносить блог, библиотека экономит кучу времени, которое обычно уходит на ковыряние регулярок.

👉 @PythonPortal

Читать полностью…

Python Portal

Я делаю вид, что понимаю сообщение об ошибке 😭

👉 @PythonPortal

Читать полностью…

Python Portal

Внутри звука

{
"scene": {
"type": "single_object_studio_render",
"background": {
"color": "pure_black",
"texture": "none",
"lighting": "no_environment_reflections"
}
},
"subject": {
"object_type": "wireless_earbud",
"model_hint": "airpods_pro_3",
"view": "right_side_profile",
"orientation": "stem_down_ear_tip_left",
"composition": "center_frame",
"representation": "xray_cutaway",
"details": {
"shell": {
"visibility": "transparent",
"edge_glow": "subtle_blue_violet",
"thickness": "realistic"
},
"internal_components": {
"show": true,
"elements": [
"battery_cell",
"speaker_driver",
"microphones",
"circuit_boards",
"wiring",
"sensors"
],
"layout": "stacked_modules_following_original_geometry",
"sharpness": "very_high",
"tech_feel": "scientific_medical_xray"
}
}
},
"render_style": {
"look": "false_color_thermal_xray",
"shader": "heatmap_gradient",
"color_palette": {
"cold": "deep_blue_violet",
"mid": "cyan_and_green",
"warm": "yellow_and_orange",
"hot": "red_and_magenta_highlights"
},
"glow": {
"enabled": true,
"intensity": "medium_high",
"soft_edge_bloom": true
},
"transparency": {
"shell_opacity": 0.25,
"internal_parts_opacity": 0.9,
"overlap_blending": "additive"
}
},
"camera": {
"framing": "tight_single_object",
"lens": "standard_50mm",
"angle": "orthographic_like_side_view",
"distance": "medium_close_up",
"perspective": "minimal_distortion"
},
"lighting": {
"environment": "black_void",
"sources": [
{
"type": "soft_invisible_backlight",
"purpose": "enhance_glow_and_xray_edges"
}
],
"shadows": "none"
},
"post_processing": {
"contrast": "high",
"clarity": "very_high",
"saturation": "strong_in_color_bands_only",
"vignette": "very_subtle",
"noise": "none",
"overall_mood": "clinical_scientific_futuristic"
}
}


👉 @PythonPortal

Читать полностью…

Python Portal

При изучении Python часто становится скучно(

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

Как раз на GitHub наткнулся на проект qxresearch-event-1, который продвигает идею «минимализма». В нём собрано 50+ Python-приложений, каждое из которых запускается примерно из 10 строк кода.

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

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

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

👉 @PythonPortal

Читать полностью…

Python Portal

🙄🙄🙄

👉 @PythonPortal

Читать полностью…

Python Portal

Иногда мне нравится исследовать, какие странные вещи вообще можно «арендовать» в облаке.

Ты в курсе, что существует целый рынок аренды времени на редких аналоговых синтезаторах и аудиооборудовании?

И всё это управляется удалённо роботами, которые физически крутят ручки.

👉 @PythonPortal

Читать полностью…

Python Portal

Алготрейдинг, Python и машинное обучение имеют одну общую вещь:

PyBroker

Эта мощная библиотека позволяет вам:

• собирать ML-модели
• описывать торговые правила
• запускать walk-forward анализ

И всё это бесплатно.

Вот ссылка:

http://pybroker.com/en/latest/

👉 @PythonPortal

Читать полностью…

Python Portal

Комьюнити, полезное для всех бекенд-разработчиков

Как работает VK изнутри? Что происходит за интерфейсами, когда миллионы пользователей одновременно отправляют сообщения, загружают фото и смотрят клипы?
В канале Backend VK Hub мы рассказываем о работе всех наших сервисах: от VK Play до Tarantool. Делимся подходами к масштабированию, оптимизации и новым архитектурным решениям. Открыто дискутируем, а также регулярно публикуем вакансии в нашу команду.

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

Читать полностью…

Python Portal

Нашёл на GitHub свежий инструмент для ML-инженеров — MLE-Agent.

Это AI-ассистент, который сам собирает базовый ML-пайплайн, умеет разруливать ошибки, искать статьи на Arxiv/Papers with Code и даже проходить полный цикл Kaggle-соревнований. Работает через CLI и поддерживает OpenAI, Claude и Ollama. 🌟

Забираем: https://github.com/MLSysOps/MLE-agent

👉 @PythonPortal

Читать полностью…

Python Portal

😊😊😊

👉 @PythonPortal

Читать полностью…

Python Portal

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

Этот паттерн можно рассматривать как процесс мышления.

👉 @PythonPortal

Читать полностью…

Python Portal

Автономный трактор из Китая взорвал сеть. 🚜

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

Honghu T70, полностью электрический автономный трактор, разработанный в Китае, это уже не прототип. Это серийная машина, которая уже используется по всей провинции Хэбэй, а впереди запланирован всекитайский запуск.

T70 способен полностью автономно выполнять весь сельхозцикл: вспашку, посев, опрыскивание и уборку, без оператора.

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

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

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

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

👉 @PythonPortal

Читать полностью…

Python Portal

Линуксоиды, это вам!

На GitHub есть открытая электронная книга 101 Linux Commands 🧃

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

Доступна в онлайн-версии, PDF и ePub, а также с возможностью запуска локально через Docker, и одинаково полезная как для новичков, так и для опытных разработчиков.

👉 @PythonPortal

Читать полностью…

Python Portal

RIP приватность. ИИ-очки теперь могут распознавать кого угодно и где угодно.

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

Без госбаз. Без полицейских систем. Только публичные данные и готовые ИИ-модели.

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

Самая жёсткая часть в том, что это почти невозможно остановить.

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

Лично для меня это переломный момент.

Мы официально размыли границу между тем, чтобы видеть людей, и тем, чтобы знать их.

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

И вот главный вопрос.

Когда каждое лицо становится датасетом, как нам защитить само понятие быть человеком?

👉 @PythonPortal

Читать полностью…

Python Portal

Python-совет:

Чтобы создать поля, которые не должны попадать в сгенерированный метод init, используй field(init=False).
Это удобно для вычисляемых атрибутов.

Пример ниже 👇

from dataclasses import dataclass, field

@dataclass
class Rectangle:
width: int
height: int
area: int = field(init=False)

def __post_init__(self):
self.area = self.width * self.height


👉 @PythonPortal

Читать полностью…

Python Portal

Забавный факт: если бы JavaScript придерживался тех же правил для Unicode-идентификаторов, что и Python 3, уязвимость в React/Next.js было бы гораздо сложнее отфильтровать на уровне WAF. Всё потому, что Python нормализует Unicode-идентификаторы.

👉 @PythonPortal

Читать полностью…

Python Portal

Будущее гейминга выглядит круто.

Никакого дополнительного железа не нужно — обычный ПК и камера, и ты уже полностью погружен в игру.

mediapipe станет следующим большим трендом

🙂

👉 @PythonPortal

Читать полностью…

Python Portal

"Структуры данных и алгоритмы на Python"

В этой книге объёмом более 300 страниц отлично разобраны все основные структуры данных и алгоритмы.
Есть версии и для C++, и для Java.

Вот копия для Python

👉 @PythonPortal

Читать полностью…

Python Portal

Гвидо ван Россум, создатель Python, говорит, что никогда не представлял, что язык станет настолько важным для ИИ. Даже в будущем, где будет доминировать искусственный интеллект, нам всё равно понадобится код, и Python остаётся самым дружелюбным к человеку способом его писать.

То, что удобно людям, часто заходит и машинам. Python становится тем самым мостом, где обе стороны могут понимать друг друга.

Согласны?🩷

👉 @PythonPortal

Читать полностью…

Python Portal

GitHub теперь в Telegram!

Самый прогерский канал, где за 10 минут ты научишься:

/ Пробив по фото и номеру в ТГ
// Как взломать вебку подруги
/// Мануал по OSINT разведке


Подписывайся, нас уже сотни тысяч: >@GitHub

Читать полностью…

Python Portal

Увлекательное чтиво про метаклассы в Python.

Если ты не понимаешь, зачем тебе это читать, значит, тебе точно стоит это прочитать.

Читаем здесь и прокачиваемся 🙂

👉 @PythonPortal

Читать полностью…

Python Portal

Ну хоть извинился

👉 @PythonPortal

Читать полностью…

Python Portal

5 МБ данных на 62 500 перфокартах в 1955 году.

👉 @PythonPortal

Читать полностью…

Python Portal

Проверка использования оперативной памяти на Python

Импортируется psutil, затем через psutil.virtual_memory() берутся данные о памяти.

Функция convert_bytes переводит байты в гигабайты.

Дальше код вычисляет:

- общий объём RAM
- доступную RAM
- использованную RAM
- процент использования

И выводит это в консоль.

import psutil

memory = psutil.virtual_memory()

def convert_bytes(size):
# Convert bytes to GB
gb = size / (1024 ** 3)
return gb

total_gb = convert_bytes(memory.total)
available_gb = convert_bytes(memory.available)
used_gb = convert_bytes(memory.used)

print(f"Total RAM: {total_gb:.3f} GB")
print(f"Available RAM: {available_gb:.3f} GB")
print(f"Used RAM: {used_gb:.3f} GB")
print(f"RAM Usage: {memory.percent}%")


Или просто жми CTRL + ALT + DELETE и открывай диспетчер задач. Работает ещё со времён Windows 95.

А показатель использования RAM вообще теряет смысл, если у тебя открыт Chrome — он сам всё сожрёт
😄

👉 @PythonPortal

Читать полностью…
Subscribe to a channel