Путь модернизации TorchVision – Мемуары разработчика TorchVision – 3 PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Путь модернизации TorchVision – Воспоминания разработчика TorchVision – 3

Путь модернизации TorchVision – Воспоминания разработчика TorchVision – 3

Прошло много времени с тех пор, как я в последний раз публиковал новую запись в мемуарах TorchVision. серия. Думал, я ранее делился новостями в официальном блоге PyTorch и на Twitter, я подумал, что было бы неплохо рассказать больше о том, что произошло в последнем выпуске TorchVision (v0.12), что выйдет в следующем (v0.13) и каковы наши планы на 2022H2. Моя цель — выйти за рамки обзора новых функций и дать представление о том, куда мы хотим направить проект в следующие месяцы.

ТорчВижн v0.12 был значительным выпуском с двойной направленностью: а) обновить нашу политику устаревания и добавления моделей, чтобы повысить прозрачность и привлечь больше участников сообщества, и б) удвоить наши усилия по модернизации, добавив популярные новые архитектуры моделей, наборы данных и методы машинного обучения.

Обновление наших политик

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

Исторически, несмотря на то, что община была нетерпеливый чтобы внести такие функции, наша команда не решалась их принять. Ключевым препятствием было отсутствие конкретной модели вклада и политики устаревания. Чтобы решить эту проблему, Жоао Гомеш работал с сообществом над проектом и публикацией нашего первого руководящие принципы участия в модели который обеспечивает ясность процесса добавления новых архитектур, предварительно обученных весов и функций, требующих обучения модели. Кроме того, Николя Хуг работал с основными разработчиками PyTorch, чтобы сформулировать и принять конкретную политика устаревания.

Вышеупомянутые изменения оказали непосредственное положительное влияние на проект. Новая политика участия помогла нам получить многочисленные предложения сообщества для больших функций (более подробная информация ниже), а четкая политика устаревания позволила нам очистить нашу кодовую базу, при этом гарантируя, что TorchVision предлагает надежные гарантии обратной совместимости. Наша команда очень заинтересована в продолжении работы с разработчиками ПО с открытым исходным кодом, исследовательскими группами и создателями последующих библиотек для поддержания актуальности и актуальности TorchVision. Если у вас есть какие-либо отзывы, комментарии или пожелания, пожалуйста, тянуться нам.

Модернизация TorchVision

Не секрет, что за последние несколько релизов наша цель было добавить в TorchVision все необходимые утилиты Augmentations, Losses, Layers, Training и новые архитектуры, чтобы наши пользователи могли легко воспроизводить результаты SOTA с помощью PyTorch. TorchVision v0.12 продолжил этот путь:

  • Наши участники сообщества рок-звезд, Ху Е и Чжицян Ван, внесли свой вклад в ФКОС архитектура, которая представляет собой одноэтапную модель обнаружения объектов.

  • Николя Хуг добавил поддержку оптического потока в TorchVision, добавив РАФТ архитектура.

  • Yiwen Song добавила поддержку Трансформатор видения (ViT), и я добавил ConvNeXt архитектура наряду с улучшенными предварительно обученными весами.

  • Наконец, с помощь нашего сообщества, мы добавили 14 новая классификация и 5 новый оптический поток наборы данных.

  • Как обычно, в выпуске было множество небольших улучшений, исправлений ошибок и улучшений документации. Чтобы увидеть все новые функции и список наших участников, пожалуйста, проверьте Примечания к выпуску v0.12.

TorchVision v0.13 уже не за горами, релиз ожидается в начале июня. Это очень большой релиз со значительным количеством новых функций и большими улучшениями API.

Завершение модернизации и сокращение разрыва с SOTA

Мы продолжаем нашу Путь модернизации библиотеки путем добавления необходимых примитивов, архитектур моделей и утилит рецептов для получения результатов SOTA для ключевых задач компьютерного зрения:

  • С помощью Виктора Фомина я добавил важные отсутствующие методы увеличения данных, такие как авгмикс, Крупномасштабный джиттер и т. д. Эти методы позволили нам сократить разрыв с SOTA и получить лучшие веса (см. ниже).

  • С помощью Адитьи Оке, Ху Йе, Ясина Алуини и Абхиджита Део мы добавили важные общие строительные блоки, такие как ДропБлок слой, MLP блок, CIOU & DIOU потеря и т. д. Наконец, я работал с Шен Ли, чтобы исправить давнюю проблему с PyTorch. Синкбатчнорм слой, который повлиял на модели обнаружения.

  • Ху Е при поддержке Жоао Гомеша добавил Свин Трансформер наряду с улучшенными предварительно обученными весами. я добавил Эффективная сеть V2 архитектуру и несколько архитектурных оптимизаций после публикации по реализации RetinaNet, FasterRCNN и MaskRCNN.

  • Как я уже говорил ранее в блоге PyTorch, мы приложили значительные усилия для улучшения наших предварительно обученных весов, создав улучшенный рецепт тренировки. Это позволило нам повысить точность наших Модели классификации на 3 балла точности, достигнув новой SOTA для различных архитектур. Аналогичная попытка была предпринята для Обнаружение и сегментация, где мы улучшили точность моделей в среднем более чем на 8.1 мАд. Наконец, Йосуа Майкл М работал с Лаурой Густафсон, Маннатом Сингхэндом и Аароном Адкоком, чтобы добавить поддержку SWAG, набор новых высокоточных современных предварительно обученных весов для ViT и RegNets.

Новый API поддержки нескольких весов

Насколько я ранее обсуждалось в блоге PyTorch TorchVision расширил свой существующий механизм построения моделей для поддержки нескольких предварительно обученных весов. Новый API полностью обратно совместим, позволяет создавать экземпляры моделей с разными весами и предоставляет механизмы для получения полезных метаданных (таких как категории, количество параметров, метрики и т. д.) и преобразований вывода модели в ходе предварительной обработки. Есть специальный отзыв проблема на Github чтобы помочь нам утюжить любые острые края.

Обновленная документация

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

Хотя наша подробная дорожная карта на 2022H2 еще не завершена, вот несколько ключевых проектов, над которыми мы сейчас планируем работать:

Если вы хотите принять участие в проекте, пожалуйста, ознакомьтесь с нашим хорошие первые выпуски и помощь нужна списки. Если вы опытный ветеран PyTorch/Computer Vision и хотели бы внести свой вклад, у нас есть несколько проектов-кандидатов для новых Операторы, потери, Дополнения и Модели.

Я надеюсь, что вы нашли статью интересной. Если вы хотите связаться со мной, позвоните мне LinkedIn or Twitter.

Отметка времени:

Больше от Датумбокс