TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Adept | Машинное обучение | Открытое ПО

25 Aug, 17:51

Открыть в Telegram Поделиться Пожаловаться

Привет!

Я уже несколько недель работаю над тем, чтобы фреймворк Adept мог обучать YOLOv11 полностью на GPU и без NumPy. Я наконец-то довёл Adept до состояния, в котором он может полностью тренировать YOLOv11 на GPU без NumPy. Делюсь тем, что пришлось починить и дописать.

🛠 Ядро и Автоград
• In-place broadcast: a -= b больше не падает, левый операнд корректно ресайзится.
• Редукция градиентов: при broadcast для + - * / градиенты теперь сворачиваются к форме операндов.
• Matmul backward: поддержка 1D тензоров (вектор-матрица и т.д.).
• Vulkan Convs: переписал накопление bias-градиента (считается один раз, без лишних аллокаций).

🧩 API для YOLO-loss (прощай, CPU)
Чтобы IoU и assigner работали на GPU, реализовал:
• Индексация: gather, scatter/add, masked_select/fill, where, topk, unique.
• Форма: expand, permute, flatten, cat, stack, reshape.
• Математика: clamp, pow, arctan, min/max, argmax.
• Скаляры: перегрузки операторов типа 2 * tensor
• Создание: arange, detach.

📉 Loss, Оптимизатор и Модули
• Добавлены BCE (для DFL) и CE без усреднения (per-position loss).
• Фикс Python-операторов: a + b теперь возвращает новый тензор, а не мутирует a (сохраняет граф!).
• SGD с momentum и weight decay.
• BatchNorm: инициализация дисперсии = 1 (убрал деление на ноль).
• Чекпоинты: префиксы имён корректно пробрасываются во вложенные модули.

⚙️ Пайплайн тренировки
• Loss, IoU и assigner переведены на нативный clamp`/`min`/`max. Сетки координат - через adept.arange.
• Warmup + Cosine LR, логирование box/cls/dfl loss.
• Упаковка нескольких GT через scatter_add (меньше синков).
• Инференс: новый CLI (`--image`, --weights и т.д.). Починил letterbox — confidence вернулась с 0.08 до 0.61.

📊 Результаты и Перф
Тренировал на синтетике (геометрические фигуры). Eval total loss стабильно упал с 13.2 (эпоха 1) до 6.5 (эпоха 24). Градиенты сходятся, детектор учится.
⚡ Оптимизировал Vulkan memory pool: выравнивание 4096, кэш 10000 буферов - заметно меньше аллокаций в train-loop.

🎯 Планы
Стек от ядра до высокоуровневого API готов. Следующий шаг - полноценное обучение на MS COCO, сбор метрик AP и дальнейший тюнинг скорости. Теперь есть инструмент для настоящих экспериментов!

#Adept #YOLO #DeepLearning #Vulkan #MachineLearning #MSCOCO

138 0 0 5
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot