Модель записи Detectron2 | 7

машинное обучение

Автор|facebookresearch Компиляция|Флин Источник | Гитхаб

написать модель

Если вы пытаетесь сделать что-то совершенно новое, возможно, вы захотите полностью реализовать модель с нуля вdettron2. Однако во многих случаях вас может заинтересовать изменение или расширение некоторых компонентов существующей модели, поэтому мы также предоставляем механизм регистрации, позволяющий переопределить поведение некоторых внутренних компонентов стандартной модели.

Например, чтобы добавить новый ствол, импортируйте в свой код следующее:

from detectron2.modeling import BACKBONE_REGISTRY, Backbone, ShapeSpec

@BACKBONE_REGISTRY.register()
class ToyBackBone(Backbone):
  def __init__(self, cfg, input_shape):
    # 创建你的backbone
    self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=16, padding=3)

  def forward(self, image):
    return {"conv1": self.conv1(image)}

  def output_shape(self):
    return {"conv1": ShapeSpec(channels=64, stride=16)}

Затем в объекте конфигурации вы можете использоватьcfg.MODEL.BACKBONE.NAME ='ToyBackBone'.build_model(cfg)позвоню вашемуToyBackBone.

В качестве другого примера, чтобы добавить новую функцию в заголовок ROI обобщенной метаархитектуры R-CNN, вы можете внедрить новыйROIHeadsПодкласс и поместите его в ROI_HEADS_REGISTRY. видетьdetectron2иmeshrcnnПлотность в качестве примера внедрения нового RoiHead для выполнения новых задач.project/Содержит больше примеров, реализующих различные архитектуры.

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

Оригинальная ссылка:обнаружить Ron2.прочитайте документ S.IO/tutorials/i…

Добро пожаловать на сайт блога Panchuang AI:panchuang.net/

sklearn машинное обучение китайские официальные документы:sklearn123.com/

Добро пожаловать на станцию ​​сводки ресурсов блога Panchuang:docs.panchuang.net/