Python Portal
58K subscribers
2.31K photos
326 videos
51 files
896 links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Автономный трактор из Китая взорвал сеть. 🚜

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

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

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

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

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

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

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

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥44👍1412
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣88😁83🔥1😢1
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация того, что находится внутри моделей ИИ. Это представляет слои взаимосвязанных нейронных сетей. И да, со временем формируются паттерны, и они могут образовывать своего рода сигнатуру того, как модель мыслит.

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

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯6216👍11🔥6🤝1
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
Please open Telegram to view this post
VIEW IN TELEGRAM
26👍10🔥3😁2
😊😊😊

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍66😁36🤯3
В сегодняшнем выпуске программистских хорроров…

В документации 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🤯75💊2
Как они вообще бесплатные! Это серия книг с главами, которые разбирают архитектурные решения в самых популярных open source проектах, на которых держится куча современного софта.

Жаль, что я не наткнулся на это, когда только начинал. 🎧

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍7🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Можно просто собрать дрон в three.js, заставить его летать над тайлами карты, повесить на него камеру и гнать видеопоток на Python-сервер с моделью компьютерного зрения для детекции.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41😁9👍31🤔1
единственное приложение, которое никого не заставляет чувствовать себя виноватым

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12220🔥15
Серия блог-постов, которые помогут полностью разобраться с асинхронностью в Python. 👏

• как работает асинхронность в Python на практике - корутины, event loop, задачи, смешивание sync и async
• как грамотно тестировать async-код - подходы, паттерны и подводные камни
• основы упаковки и распространения Python-проектов - что нужно знать, чтобы собирать и публиковать пакет

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
10👀6👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Python-библиотека для легковесной симуляции роботов, рассчитанная на задачи навигации, управления и обучения с подкреплением. 🎧

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

IR-Sim как раз закрывает этот кейс, если вы работаете с робот-навигацией или AI.

Почему стоит обратить внимание:

• Быстрая установка и простая конфигурация
• Сценарии задаются обычным YAML
• Визуализация в реальном времени через Matplotlib
• Встроенная проверка коллизий
• Подходит для AI и RL пайплайнов

Что можно быстро прототипировать:

– Многороботное избегание столкновений
– Навигацию на основе лидаров
– Динамические сцены с движущимися препятствиями
– Тестирование высокоуровневого поведения до перехода в тяжёлый симулятор

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

GitHub: https://github.com/hanruihua/ir-sim
Документация: https://ir-sim.readthedocs.io/en

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

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
26🔥11🤯5👍1
❤️❤️❤️

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁100👍164😢4💊3👀1
человек, придумавший сложнейшую вычислительную архитектуру → проигрывает примитивному алгоритму автозамены, который считает его фамилию опечаткой и превращает Babbage в cabbage.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁39👍52😢2🤝1
Изоляция рунета ближе, чем ты думаешь

Loading

██████████████] 99%


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

Чтобы в одночасье не лишиться доступа к свободному Интернету, просто сохрани Only Hack.

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

Не жди момента «Х». Перестрахуйся подпиской.
🤣22😁6👍2💊2🔥1🌚1
Невероятно короткая книжка, но с глубоким разбором внутренних механизмов Python, которые мы используем каждый день. ❤️

Каждая глава содержит объяснение конкретной фичи языка вроде работы с *args/**kwargs, мутабельных аргументов, генераторов, декораторов, менеджеров контекста, enumerate/zip, исключений, dunder-методов и прочих хитрых конструкций.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥8👍5
Нашли годный ресурс для тех, кто присматривается к квантовой разработке.

На GitHub подняли подробный гайд по входу в квантовую разработку и алготрейдинг.

Подборки курсов по Python для finance, материалы по построению стратегий, риск-моделям, анализу временных рядов, примеры кода для трейдинг-ботов и инфраструктуры вокруг всего этого.

В репе даже есть подборка магистерских видеокурсов, которые авторы оценивают примерно в 200k долларов, плюс списки хедж-фондов и HFT-компаний, которые активно нанимают. 🥂

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
18
Мало того, что дальше HR'а пройти сложно, так теперь ещё и ChatGPT подкидывает идей

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣47😁64🤯3👍1🔥1
Изучай GPU-программирование с нуля

Начни с Numba, чтобы получить низкоуровневый контроль, потом переходи на Triton и пиши высокопроизводительные ядра в языке, похожем на Python. Практический Jupyter-ноутбук, чтобы быстро стартануть. 😊

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1