Python: как не дать нескольким процессам одновременно полезть в один ресурс
В
Для таких случаев есть
Дальше один и тот же
Пока один процесс находится внутри
Это особенно полезно при работе с файлами, логами, общими структурами и другими ресурсами, где одновременная запись может привести к race condition.
И лучше использовать
В
multiprocessing процессы работают параллельно и иногда пытаются одновременно изменить один и тот же ресурс.Для таких случаев есть
Lock:
from multiprocessing import Process, Lock
def printer(item, lock):
with lock:
print(item)
Дальше один и тот же
lock передаётся всем процессам:
if __name__ == "__main__":
lock = Lock()
for item in ["tango", "foxtrot", 10]:
Process(
target=printer,
args=(item, lock)
).start()
Пока один процесс находится внутри
with lock:, остальные ждут.Это особенно полезно при работе с файлами, логами, общими структурами и другими ресурсами, где одновременная запись может привести к race condition.
И лучше использовать
with lock:, а не вручную acquire() / release() — так блокировка гарантированно снимется даже при исключении.👍6🔥3🥰1
📚 Бесплатная книга по causal inference + ML
Applied Causal Inference Powered by Machine Learning and AI - большая открытая книга про причинно-следственный анализ с современным уклоном в машинное обучение и AI.
Внутри:
* causal graphs и DAG
* потенциальные исходы
* A/B и observational data
* propensity score
* matching и weighting
* heterogeneous treatment effects
* Double/Debiased Machine Learning
* causal forests
* uplift и policy learning
* связь causal inference с современными ML-моделями
Подойдёт тем, кто хочет выйти за пределы обычной корреляции и разбираться, что действительно влияет на результат.
496 страниц, PDF доступен бесплатно:
http://arxiv.org/abs/2403.02467
Applied Causal Inference Powered by Machine Learning and AI - большая открытая книга про причинно-следственный анализ с современным уклоном в машинное обучение и AI.
Внутри:
* causal graphs и DAG
* потенциальные исходы
* A/B и observational data
* propensity score
* matching и weighting
* heterogeneous treatment effects
* Double/Debiased Machine Learning
* causal forests
* uplift и policy learning
* связь causal inference с современными ML-моделями
Подойдёт тем, кто хочет выйти за пределы обычной корреляции и разбираться, что действительно влияет на результат.
496 страниц, PDF доступен бесплатно:
http://arxiv.org/abs/2403.02467
👍4❤3🔥1
Forwarded from Machinelearning
Архитектура MoE:
- 770B параметров всего
- 49B активны на токен
- контекст до 1 млн токенов
- упор на coding, agentic-задачи и продуктивность
Использует Gated DeepSeek Sparse Attention + IndexCache, чтобы удешевить длинный контекст и переиспользовать sparse-индексы между слоями.
Tencent позиционирует Hy4 как frontier-level open model с доступной стоимостью запуска.
Apache 2.0
https://huggingface.co/tencent/Hy4-preview
@ai_machinelearning_big_data
#Tencent
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Бесплатный ElevenLabs, который можно запускать локально:
VoiceStudio - локальная open-source студия для работы с голосом без подписок и лимитов
В одном приложении собрали:
- клонирование голоса по короткому образцу
- создание голоса по описанию - возраст, акцент, стиль, подача
- автоматический дубляж видео с переводом и разделением спикеров
- импорт EPUB/PDF и сборку многоголосых аудиокниг
- диктовку с очисткой текста локальной LLM
- удаление фонового звука через Demucs
- разделение говорящих через Pyannote/WhisperX
- MCP-сервер и локальный API
Внутри - 16 TTS-движков, 11 ASR-систем и каталог на 646 языков**. Основные данные и проекты по умолчанию остаются на вашем компьютере. Работает на Windows, Linux и Apple Silicon Mac.
Проект пока в активной beta.
https://github.com/debpalash/VoiceStudio
VoiceStudio - локальная open-source студия для работы с голосом без подписок и лимитов
В одном приложении собрали:
- клонирование голоса по короткому образцу
- создание голоса по описанию - возраст, акцент, стиль, подача
- автоматический дубляж видео с переводом и разделением спикеров
- импорт EPUB/PDF и сборку многоголосых аудиокниг
.m4b- диктовку с очисткой текста локальной LLM
- удаление фонового звука через Demucs
- разделение говорящих через Pyannote/WhisperX
- MCP-сервер и локальный API
Внутри - 16 TTS-движков, 11 ASR-систем и каталог на 646 языков**. Основные данные и проекты по умолчанию остаются на вашем компьютере. Работает на Windows, Linux и Apple Silicon Mac.
Проект пока в активной beta.
https://github.com/debpalash/VoiceStudio
👍3🔥1
Уже завтра вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
Спустя 10 дней после релиза, модель на 305 млрд параметров опубликована под лицензий MIT.
Чекпоинт экспериментальный, её собрали на архитектуре V4-Flash, добавили визуальные модули и дообучили на понимание изображений, что бы получился агент, который умеет разбирать скриншоты, читать графики и работать с инструментами.
На ApexBench модель берет 36,5 балла против 26,2 у предыдущей V4-Flash-0731.
Тут сравнение не совсем честное - старая модель не поддерживает изображения во входных данных.
На Agents' Last Exam новинка дает 27,3 против 25,7 у Opus 4.8, на ZeroBench - 35,0 против 34,0.
На ApexBench и Chartography от того же Opus пока отстает - 36,5 против 39,4 и 64,3 против 65,0.
Toolathlon-Verified - 75,9 против 70,3 у предшественницы, NL2Repo - 57,7 против 54,2. Просела только Cybergym, 75,3 против 76,7.
На DeepSWE модель обходит и Opus 4.8 - 59,3 против 58,0.
На Terminal Bench 2.1 уступает - 83,9 против 85,0.
В репозитории лежат токенизатор, минимальный инференс на PyTorch с визуальным энкодером, DFlash-вниманием, MoE, Hyper-Connections и прямым проходом DSpark.
Картинки можно подавать и блоками в стиле OpenAI, и компактной записью через теги. Запускается через vLLM, SGLang, Transformers и Docker.
Cообщество уже сделало квантованные версии для локального запуска.
@ai_machinelearning_big_data
#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
CPython официально добавил поддержку RISC-V 🚀
RISC-V теперь официально поддерживается CPython как платформа Tier 3.
Это важный шаг для открытой архитектуры процессоров: в отличие от x86 и ARM, RISC-V основана на открытом ISA и может свободно использоваться производителями железа.
До этого Python уже запускался на RISC-V, но теперь архитектура официально внесена в PEP 11. Для неё появились постоянные buildbot-тесты на реальном RISC-V-железе, предоставленном RISE Project.
Следующие цели:
- добавить RISC-V непосредственно в CI CPython;
- быстрее находить архитектурные баги до merge;
- со временем поднять поддержку до Tier 2;
- добавить оптимизации CPython специально под возможности RISC-V.
-
Для Python это ещё один шаг к полноценной поддержке RISC-V не только на уровне интерпретатора, но и всей экосистемы пакетов и инструментов.
https://blog.python.org/2026/08/riscv-now-officially-supported/
RISC-V теперь официально поддерживается CPython как платформа Tier 3.
Это важный шаг для открытой архитектуры процессоров: в отличие от x86 и ARM, RISC-V основана на открытом ISA и может свободно использоваться производителями железа.
До этого Python уже запускался на RISC-V, но теперь архитектура официально внесена в PEP 11. Для неё появились постоянные buildbot-тесты на реальном RISC-V-железе, предоставленном RISE Project.
Следующие цели:
- добавить RISC-V непосредственно в CI CPython;
- быстрее находить архитектурные баги до merge;
- со временем поднять поддержку до Tier 2;
- добавить оптимизации CPython специально под возможности RISC-V.
-
Для Python это ещё один шаг к полноценной поддержке RISC-V не только на уровне интерпретатора, но и всей экосистемы пакетов и инструментов.
https://blog.python.org/2026/08/riscv-now-officially-supported/
👍6❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Python считает эти даты равными. Хотя между ними целый час
В ночь перевода часов время 02:30 наступает дважды:
Это разные моменты:
Но Python выдаёт:
Причина: если у двух
Из-за этого дедупликация может принять два платежа, заказа или события за одно.
Для сравнения реальных моментов переводите время в UTC:
Используйте
https://docs.python.org/3/library/datetime.html
https://peps.python.org/pep-0495/
В ночь перевода часов время 02:30 наступает дважды:
from datetime import datetime, UTC
from zoneinfo import ZoneInfo
tz = ZoneInfo("Europe/Berlin")
a = datetime(2026, 10, 25, 2, 30, tzinfo=tz, fold=0)
b = datetime(2026, 10, 25, 2, 30, tzinfo=tz, fold=1)
print(a)
# 2026-10-25 02:30:00+02:00
print(b)
# 2026-10-25 02:30:00+01:00
Это разные моменты:
a = 00:30 UTC
b = 01:30 UTC
Но Python выдаёт:
a == b # True
b - a # 0:00:00
len({a, b}) # 1
Причина: если у двух
datetime один объект tzinfo, при сравнении Python игнорирует смещение и fold.Из-за этого дедупликация может принять два платежа, заказа или события за одно.
Для сравнения реальных моментов переводите время в UTC:
a_utc = a.astimezone(UTC)
b_utc = b.astimezone(UTC)
a_utc == b_utc
# False
(b_utc - a_utc).total_seconds()
# 3600.0
Используйте
astimezone(UTC). Метод replace(tzinfo=UTC) только заменяет метку и не пересчитывает время.https://docs.python.org/3/library/datetime.html
https://peps.python.org/pep-0495/
🔥6❤3👍1
🌦 Linecast — погода, карты, радар, приливы, Солнце и Луна прямо в терминале
Open-source CLI превращает публичные данные в шесть интерактивных приложений:
-
-
-
-
-
-
Работает на macOS, Linux и Windows. Написан на Python, почти без зависимостей, не требует аккаунта или API-ключей и подстраивает цвета под тему терминала.
Можно даже запустить без установки:
GitHub:
https://github.com/ashuttl/linecast
Open-source CLI превращает публичные данные в шесть интерактивных приложений:
-
linecast weather — погода, почасовой прогноз, AQI и предупреждения-
linecast sunshine — восход, закат и длина дня-
linecast moon — фазы Луны, восход/заход и календарь-
linecast tides — график приливов и отливов-
linecast radar — анимированный радар и спутниковые данные-
linecast maps — карты, рельеф, поиск мест и маршрутыРаботает на macOS, Linux и Windows. Написан на Python, почти без зависимостей, не требует аккаунта или API-ключей и подстраивает цвета под тему терминала.
Можно даже запустить без установки:
uvx linecast weatherGitHub:
https://github.com/ashuttl/linecast
❤4👍1🔥1
🐍 Как правильно использовать
Если несколько процессов одновременно пишут в общий ресурс — файл, stdout, shared memory — вывод или данные могут перемешиваться.
Для этого есть
Lock гарантирует, что критическую секцию в конкретный момент выполняет только один процесс.
Вместо ручных:
lock.acquire() → try/finally → lock.release()
обычно удобнее использовать:
with lock:
Особенно полезно при работе с файлами, логами и общими структурами данных между процессами.
Lock в Python multiprocessingЕсли несколько процессов одновременно пишут в общий ресурс — файл, stdout, shared memory — вывод или данные могут перемешиваться.
Для этого есть
multiprocessing.Lock:
from multiprocessing import Process, Lock
def printer(item, lock):
with lock:
print(item)
if __name__ == "__main__":
lock = Lock()
for item in ["tango", "foxtrot", 10]:
Process(target=printer, args=(item, lock)).start()
Lock гарантирует, что критическую секцию в конкретный момент выполняет только один процесс.
Вместо ручных:
lock.acquire() → try/finally → lock.release()
обычно удобнее использовать:
with lock:
Особенно полезно при работе с файлами, логами и общими структурами данных между процессами.
🔥3❤2👍2