从 Yacs Config 构建模型
从 yacs 配置对象,模型(及其子模型)可以通过 build_model、build_backbone、build_roi_heads 等函数构建:
from detectron2.modeling import build_model
model = build_model(cfg) # returns a torch.nn.Module
build_model 只构建模型结构并用随机参数填充它。有关如何将现有checkpoint 加载到模型以及如何使用模型对象的信息,请参见下文。
加载/保存检查点
from detectron2.checkpoint import DetectionCheckpointer
DetectionCheckpointer(model).load(file_path_or_url) # load a file, usually from cfg.MODEL.WEIGHTS
checkpointer = DetectionCheckpointer(model, save_dir="output")
checkpointer.save("model_999") # save to output/model_999.pth
Detectron2 的检查点识别 pytorch 的 .pth 格式的模型,以及我们model zoon中的 .pkl 文件。有关其用法的更多详细信息,请参阅 API 文档。
可以使用 torch.{load,save} 对 .pth 文件或 pickle.{dump,load} 对 .pkl 文件任意操作。