1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-vision

Клонировать/Скачать
CONTRIBUTING_MODELS.md 10 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 04.06.2025 16:46 158072f

Вклад в Torchvision - Модели

Новые архитектуры моделей - Обзор

Для тех, кто заинтересован в добавлении новой архитектуры модели, также ожидается, что модель будет обучена. Вот несколько важных соображений:

  • Обучение больших моделей требует значительных ресурсов, и затраты быстро накапливаются.
  • Переделывание моделей весело, но также рискованно, так как вы не всегда получите те же результаты, что и в статье. Может потребоваться огромное количество усилий, чтобы уменьшить разрыв.
  • Вклад может не быть принят, если он значительно уступает по точности, скорости и т.д.
  • Включение новых моделей в TorchVision может не быть лучшим подходом, поэтому следует рассмотреть другие варианты, такие как выпуск модели через Pytorch Hub.

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

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

  • Если решение о включении новой модели принято, пожалуйста, создайте новый тикет, который будет использоваться для всех дискуссий по дизайну и реализации до подачи PR. Один из поддерживателей TorchVision свяжется с вами на этом этапе, и это будет вашим ПОКом с этого момента для предоставления поддержки, руководства и регулярной обратной связи.

2. Реализация моделиПожалуйста, ознакомьтесь с существующими моделями в TorchVision, чтобы ознакомиться с идиомами. Также, пожалуйста, ознакомьтесь с недавними вкладами для новых моделей. Если у вас есть сомнения по поводу каких-либо решений по дизайну, вы можете попросить обратной связи на вопрос, созданный на шаге 1. Примеры вещей, которые следует учитывать:

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

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

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

4. Подача запроса на изменение

Подайте запрос на изменение и отметьте назначенного поддерживателя. Этот запрос на изменение должен:

  • Ссылаться на оригинальный тикет
  • Предоставлять ссылку на оригинальную статью и оригинальный репозиторий, если они доступны
  • Выделять важные метрики тестирования и как они сравниваются с оригинальной статьей
  • Выделять любые дизайнерские решения, которые отклоняются от оригинальной статьи/реализации, и причину этих решений

Новые веса для существующих архитектур моделейПроцесс улучшения существующих моделей, например повышение точности путем перетренировки модели с другим набором гиперпараметров или аугментаций, следующий:

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

  2. Обучите модель с использованием скриптов с примерами TorchVision. Вы можете добавить новые примитивы (преобразования, потери и т.д.), когда это необходимо, но окончательное расположение будет определено после обсуждения с ответственным поддержкой.

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

  4. Рецензенты PR должны воспроизвести результаты с их стороны для проверки подачи, и если все идет хорошо, новые веса должны быть готовы к выпуску!

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-vision.git
git@api.gitlife.ru:oschina-mirror/mirrors-vision.git
oschina-mirror
mirrors-vision
mirrors-vision
main