Detectron2 編寫模型 七

2021-10-06 09:15:33 字數 1039 閱讀 7074

作者|facebookresearch 編譯|flin **|github

如果你嘗試做一些全新的事情,你可能希望在detectron2中完全從頭開始實現乙個模型。但是,在許多情況下,你可能對修改或擴充套件現有模型的某些元件感興趣.因此,我們還提供了一種註冊機制,可讓你覆蓋標準模型的某些內部元件的行為。

例如,要新增新的主幹,請將以下**匯入你的**中:

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

def output_shape(self):

return

然後,可以在配置物件中使用cfg.model.backbone.name ='toybackbone'build_model(cfg)將呼叫你的toybackbone

再舉乙個例子,要將新功能新增到廣義r-cnn元體系結構的roi頭中, 你可以實現乙個新的roiheads子類並將其放在roi_heads_registry中。請參閱detectron2meshrcnn中的densepose,以獲取實現新roihead以執行新任務的示例。project/包含更多實現不同體系結構的示例。

完整的登錄檔列表可以在api文件中找到。你可以在這些登錄檔中註冊元件,以自定義模型的不同部分或整個模型。

sklearn機器學習中文官方文件:

Detectron2入門教程

目錄 1.概述 1.1.自己的原始碼閱讀流程 1.2.目錄結構 1.3.搭積木過程 1.4.官方文件閱讀 2.資料處理 2.1.概述 2.2.基本流程 2.3.build detection train loader 方法解析 2.4.其他 3.模型搭建 3.1.概述 3.2.基本流程 3.3.其他...

Detectron2 部署 十一

作者 facebookresearch 編譯 flin github caffe2部署 我們目前支援通過onnx將detectron2模型轉換為caffe2格式。轉換後的caffe2模型可以在python或c 中執行而無需detectron2依賴性。它具有針對cpu和移動裝置推理優化的執行時,但不適...

Detectron2 擴充套件預設值 三

作者 facebookresearch 編譯 flin github 研究是以新的方式做事。這給如何在 中建立抽象帶來了壓力,對於任何規模較大的研究工程專案而言,這都是乙個挑戰 一方面,它需要具有非常精簡的抽象,以允許以新方式進行所有操作。打破現有的抽象並將其替換為新的抽象應該相當容易。另一方面,這...