首页
/ DSL 的安装和配置教程

DSL 的安装和配置教程

2025-05-27 08:54:25作者:董灵辛Dennis

项目基础介绍

DSL(Dense Learning based Semi-Supervised Object Detection)是一个基于密集学习的半监督目标检测的开源项目。该项目是第一个面向半监督目标检测的无锚点(Anchor-Free)检测器。它基于 mmdetection 框架,旨在通过利用少量的标注数据和大量的无标注数据来提高目标检测的准确率。本项目主要使用 Python 编程语言。

项目使用的关键技术和框架

  • mmdetection: 一个开源的目标检测工具箱,基于 PyTorch。
  • PyTorch: 一个流行的深度学习框架,基于它,可以轻松构建和训练神经网络。
  • Semi-Supervised Learning(SSL): 半监督学习技术,通过利用未标注的数据来提高学习效率。
  • Anchor-Free Detectors: 无锚点检测器,简化了目标检测中锚点生成和匹配的复杂过程。

项目安装和配置的准备工作

在开始安装之前,请确保您的环境中已经安装了以下依赖项:

  • Python(版本 >= 3.8)
  • PyTorch(版本 >= 1.8.0,CUDA 10.2)
  • mmcv(全版本 1.3.10)

安装步骤

  1. 克隆项目仓库

    首先需要将项目克隆到本地环境中:

    git clone https://github.com/chenbinghui1/DSL.git
    cd DSL
    
  2. 创建数据目录

    在项目根目录下创建数据文件夹:

    mkdir data
    mkdir ori_data
    
  3. 准备 COCO 数据集

    如果使用 COCO 数据集,需要下载并解压相应的数据:

    cd ori_data/coco
    wget http://images.cocodataset.org/annotations/annotations_trainval2017.zip
    wget http://images.cocodataset.org/zips/train2017.zip
    wget http://images.cocodataset.org/zips/val2017.zip
    wget http://images.cocodataset.org/zips/unlabeled2017.zip
    unzip annotations_trainval2017.zip -d .
    unzip -q train2017.zip -d .
    unzip -q val2017.zip -d .
    unzip -q unlabeled2017.zip -d .
    
  4. 转换 COCO 到 semicoco 数据集

    使用项目提供的脚本转换 COCO 数据集到 semicoco 格式:

    cd ${project_root_dir}/DSL
    python3 tools/coco_convert2_semicoco_json.py --input ${project_root_dir}/ori_data/coco --output ${project_root_dir}/data/semicoco
    
  5. 准备部分标注数据

    使用以下脚本生成部分标注数据列表文件:

    cd data_list/coco_semi/
    python3 prepare_dta.py --percent 10 --root ${project_root_dir}/ori_data/coco --seed 2
    
  6. 训练监督基线模型

    在开始训练半监督模型之前,先训练一个监督基线模型:

    cd ${project_root_dir}/DSL
    ./demo/model_train/baseline_coco.sh
    

    注意:运行此脚本前,请确保已经正确修改了脚本和配置文件中的路径。

以上步骤是 DSL 项目的安装和配置的基本流程。在实际操作中,可能还需要根据具体的实验需求和环境进行相应的调整。

登录后查看全文
热门项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
827
5.48 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
494
515
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
783
1.57 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
800
1.14 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
970
2.28 K
kernelkernel
deepin linux kernel
C
32
16
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
480
312
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.01 K
766
cannbot-skillscannbot-skills
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Markdown
1.26 K
808
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
647
284