🎤 PyTorch-караоке, или как перестать забывать optimizer
🎤 PyTorch-караоке, или как перестать забывать optimizer.zero_grad()
Многие новички в DL ломаются не на сложной архитектуре сетей, а на банальном бойлерплейте PyTorch. Порядок вызовов в тренировочном цикле — это то, что приходится гуглить раз за разом, пока это не отпечатается на подкорке.
Забыл перевести модель в train()? Получи неверные веса из-за Dropout/BatchNorm.
Забыл zero_grad()? Поздравляю, градиенты аккумулируются, обучение идет в помойку.
Поставил step() перед backward()? Ну, вы поняли.
Наткнулся на видео, которое вызывает одновременно два чувства: лютый кринж и респект.
Парень в трусах и с микрофоном посреди бардака просто взял и переложил 5 шагов Backpropagation на мотивчик, который не выкинуть из головы.
Как будто это работает лучше, чем 10 часов нудных лекций от экспертов, которые читают по слайдам.
Для тех, кто в танке, напоминаю единственно верный порядок действий, который нужно вытатуировать у себя на подкорке (или выучить песню):
1️⃣ model.train() — переводим модель в боевой режим.
2️⃣ y_pred = model(x) — Forward pass.
3️⃣ loss = loss_fn(y_pred, y) — Считаем, насколько мы ошиблись.
4️⃣ optimizer.zero_grad() — Обнуляем градиенты перед новым шагом, иначе они накопятся и вы улетите в космос.
5️⃣ loss.backward() — Считаем градиенты (обратное распространение).
6️⃣ optimizer.step() — Делаем шаг оптимизатором.
Ещё бы версию для TensorFlow, но там, боюсь, придется писать оперу в трех актах, чтобы просто инициализировать переменные 🌚
#фана_ради 🗺 Визуализация графа GitHub

🗺 Визуализация графа GitHub
Смотрите какая красота — 690k репозиториев на одной карте 🤩
Как это работает:
В основе лежит анализ 500 миллионов звезд (BigQuery event data 2011–2025).
1. Связи: Рассчитывается Jaccard Similarity Index. Если пользователи часто звездят FastAPI и Pydantic вместе — расстояние между точками сокращается.
2. Кластеризация: Используется алгоритм Leiden. Он разбивает граф на 1500+ кластеров.
3. Нейминг: Названия "стран" генерировал LLM на основе анализа содержимого кластеров.
Полазьте по разным Владычествам Питона, может даже свой проектик найдёте 🌝
#фана_ради 🐈 Самый важный плагин для VS Code
🐈 Самый важный плагин для VS Code
Пока все вокруг сходят с ума по AI-ассистентам, Copilot'ам и агентам, которые пишут код за вас, я нашел инструмент, который реально бустит продуктивность.
Речь про vscode-pets от Энтони Шоу из Python Software Foundation.
Суть проста: плагин селит в вашем редакторе (в панели Explorer или в отдельном окне) пиксельных питомцев.
Почему это мастхэв, а не просто игрушка:
1️⃣ Цифровой Rubber Duck Debugging.
Там есть резиновая уточка. Серьезно. Когда зашли в тупик, открываете панель и объясняете утке, почему ваш код не работает. Она слушает. Она не осуждает. Она просто есть.
2️⃣ Ностальгия как сервис.
Можно поселить Clippy (Скрепку). Того самого, который раньше бесил, а теперь вызывает скупую слезу олдфага. Ещё есть Тоторо, коты, собаки и змеи (Python-разработчикам — мастхэв) .
3️⃣ Интерактив.
Им можно кидать мячик. Менеджер спрашивает, почему задача не закрыта? "Я выгуливал собаку в VS Code".
Короче, если чувствуете, что выгорание близко — ставьте живность. Это лучше, чем очередной плагин для раскрашивания скобочек.
#фана_ради