• 【Detectron2】代码库学习-3. 代码结构


    1. 简介

    Detectron2是Facebook AI Research(FAIR)推出的基于Pytorch的视觉算法开源框架,主要聚焦于目标检测和分割任务等视觉算法,此外还支持全景分割,关键点检测,旋转框检测等任务。Detectron2继承自Detectron 和mask-rcnn。
    Detectron2具有较强的灵活性和可扩展性,支持快速的单GPU训练,多GPU并行训练和多节点分布式训练。

    2. 工程结构

    detectron2

    • configs
      特定数据特定任务的训练配置文件,如mask_rcnn, faster_rcnn, retina_net
    • datasets

    准备数据集的脚本,包括 ADEChallengeData2016, LVIS: A Dataset for Large Vocabulary Instance Segmentation,COCO数据集

    • demo
      demo程序,可以在静态图像和视频上单帧推理或异步推理已训练好的模型
    • detectron2
      核心框架
    • dev
      开发构建工具,格式化,wheels包构建
    • docker
      docker虚拟环境构建
    • docs
      文档
    • projects
      基于detectron2的工程,包括DeepLab,DensePose,MViTv2,Panoptic-DeepLab,PointRend,PointSup,TensorMask,TridentNet,ViTDet
    • tests
      单元测试脚本
    • tools
      工具包,包括模型参数、flop统计,基准构建,LazyConfig训练,torch-lightning训练,数据可视化,检测结果可视化
      scripts
      包括setup.py,README.md,INSTALL.md,LICENSE,GETTING_STARTED.md等

    3. 核心框架

    • checkpoint
      checkpoint管理工具,checkpoint加载,checkpoint转换
    • config
      配置文件管理工具,CfgNode,get_config,instantiate,LazyCall,LazyConfig
    • data
      数据集,自定义数据集注册,采样,分布式采样,分组批次采样,数据变换、增强,dataloader, 标注格式转换
    • engine
      训练pipeline,hooks插件,分布式训练,混合精度训练,多GPU训练,分布式训练
    • evaluation
      数据集评估模块,cityscapes,coco,lvis,panoptic,pascal_voc,rotated_coco,sem_seg
    • export
      模型导出模块,导出onnx, torchscript
    • layers
      aspp、bn、de-conv、losses、nms、roi_align_rotated、roi_align、rotated_boxes…
      部分算子c++/cuda实现:box_iou_rotated, cocoeval, deformable-conv,nms_rotated,ROIAlignRotated
    • model_zoo
      常见模型与对应预训练权重
    • modeling
      模型相关,backbone,算法框架,RPN, 检测头,anchor_generator, postprocess
    • solver
      优化器,lr_scheduler,梯度裁减
    • structures
      标注结构体,box,instance,keypoints,masks, rotated_boxes
    • tracking
      目标跟踪相关,基于IOU的tracking, 基于匈牙利算法的tracing
    • utils
      通用脚本,模型分析,环境搜集,颜色表,多GPU通信,事件存储(JSON,TensorboardX),文件IO, 日志系统,显存控制,序列化,tracing,可视化,视频可视化
  • 相关阅读:
    【Docker】Linux升级
    环境管理体系EMS基础知识试卷
    【Linux】自旋锁
    Ubuntu快速更换源
    Haproxy 透传IP配置方法及测试
    MVCC
    电子科大软件系统架构设计——系统架构设计
    Netty+SpringBoot 打造一个 TCP 长连接通讯方案
    请求转发与请求作用域
    动物静态HTML网页作业作品 大学生野生动物保护网页设计制作成品 简单DIV CSS布局网站
  • 原文地址:https://blog.csdn.net/u014515463/article/details/127800652