TGViewer
Adept | Машинное обучение | Открытое ПО Adept | Машинное обучение | Открытое ПО @adept_platform · 136 subscribers
Post #57 139
Привет!

Я уже несколько недель работаю над тем, чтобы фреймворк 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
  • 👍 5
More from @adept_platform
  1. Sep 25, 2026Доделал скрипты для сборки библиотеки под Android, исправил ошибки и немного в очередной р…
  2. Sep 22, 2026Это скриншот с моего телефона. Начал делать скрипты для крос-компиляции проекта с использо…
  3. Sep 17, 2026Проект стал доступен в индексе пакетов pypi.org. Установка стала проще: pip install adept-…
  4. Sep 14, 2026Привет! С радостью сообщаю что наконец-то вышел Релиз 0.2.0 Основные изменения: - Тензорны…
  5. Sep 11, 2026Привет! Я закончил реализацию и проверку всей функциональности которую планировал для публ…
  6. Sep 5, 2026Изменил подход к управлению памятью, что снизило потребление в 2 раза. А это в свою очеред…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →