ReDet网络复现

ReDet网络复现在DOTA数据集上

之前复现过一次,没有记录,再次调试时又遇到问题,总结一下问题。
ReDet: A Rotation-equivariant Detector for Aerial Object Detection
论文链接点击此处
源码链接点击此处
复现的环境是RTX3090

Installation

依据源码中的安装步骤,参考了这篇博客点击此处
源码中给出的requirements是:
Cython
numpy
mmcv == 0.2.13
shapely
tqdm
matplotlib
terminaltables
pycocotools
pillow == 6.2.2
e2cnn
我搭建后的环境是:
Python == 3.7.13
Pytorch == 1.8.1
CUDA == 11.1

Install ReDet

a. Create a conda virtual environment and activate it. Then install Cython.

创建ReDet的虚拟环境并安装Cython

conda create -n redet python=3.7 -y
source activate redet
conda install cython
b. Install PyTorch and torchvision following the official instructions.

安装PyToech和CUDA

pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
c. Clone the ReDet repository.

从GitHub上克隆源码并进入源码

git clone https://github.com/csuhan/ReDet.git
cd ReDet
d. Compile cuda extensions.

进行编译,由于AT_CHECK is deprecated in torch 1.5,高版本的pytorch不再使用AT_CHECK,而是使用 TORCH_CHECK,将所有待编译的源文件中的‘AT_CHECK’全部替换为‘TORCH_CHECK’,执行下面的程序

find . -type f -exec sed -i 's/AT_CHECK/TORCH_CHECK/g' {} +

执行之后,再进行编译

bash compile.sh
e. Install ReDet (other dependencies will be installed automatically).

安装相关包,安装失败的,可以自己用pip安装

python setup.py develop
# or "pip install -e ."
Install DOTA_devkit

安装DOTA的处理工具

sudo apt-get install swig
cd DOTA_devkit
swig -c++ -python polyiou.i
python setup.py build_ext --inplace

Getting Started

将数据集放进data文件夹下,按照下列格式

data/dota15
├── train
│   ├──images
│   └──labelTxt
├── val
│   ├──images
│   └──labelTxt
└── test
    └──images

Split the original images and create COCO format json.

python DOTA_devkit/prepare_dota1_5.py --srcpath path_to_dota --dstpath path_to_split_1024

其中,–srcpath代表要分割图像的路径,–dstpath表示分割后图片的位置。
分割后会得到如下结构

dota15_1024
├── test1024
│   ├──DOTA_test1024.json
│   └──images
└── trainval1024
     ├──DOTA_trainval1024.json
     └──images

单GPU训练

python tools/train.py ${CONFIG_FILE}

多GPU训练

./tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM} [optional arguments]

测试

python tools/test.py configs/ReDet/ReDet_re50_refpn_1x_dota15.py work_dirs/ReDet_re50_refpn_1x_dota15/ReDet_re50_refpn_1x_dota15-7f2d6dda.pth --out work_dirs/ReDet_re50_refpn_1x_dota15/results.pkl

评估结果,产生坐标

python tools/parse_results.py --config configs/ReDet/ReDet_re50_refpn_1x_dota15.py --type OBB

合并图片,并将合并后的结果上传到 DOTA evaluation

在最新版的ReDet文件中缺少poly_nms_gpu,下载这个放到相应位置,然后执行make指令即可完成编译。

python DOTA_devkit/ResultMerge.py
### 复现 DeepSeek R1 模型的方法 为了复现或实现 DeepSeek R1 的功能,需遵循 HuggingFace 提供的技术路线图并利用相关资源。具体来说: #### 使用知识蒸馏创建高质量语料库 根据技术报告中的描述,在第一步中,应采用 DeepSeek-R1 蒸馏高质量语料库以复制 R1-Distill 模型[^1]。此过程涉及到使用预训练的大规模语言模型作为教师模型,指导较小的学生模型的学习。 ```python from transformers import AutoModelForSequenceClassification, Trainer, TrainingArguments teacher_model = "path_to_teacher_model" student_model = "path_to_student_model" # 加载教师和学生模型 teacher = AutoModelForSequenceClassification.from_pretrained(teacher_model) student = AutoModelForSequenceClassification.from_pretrained(student_model) training_args = TrainingArguments( output_dir="./results", num_train_epochs=3, per_device_train_batch_size=8, per_device_eval_batch_size=8, warmup_steps=500, weight_decay=0.01, logging_dir='./logs', ) trainer = Trainer( model=student, args=training_args, train_dataset=train_dataset, eval_dataset=val_dataset, teacher=teacher # Knowledge distillation setup ) trainer.train() ``` #### 构建基于强化学习的管道 第二步涉及构建用于生成 R1-Zero 版本的纯 RL pipeline。这一步骤可能需要准备针对不同领域的新数据集,特别是那些有助于提高数学推理能力和编程技能的数据集合。 对于这部分工作,可以考虑使用 `stable-baselines3` 库来设置环境并与之交互,从而优化策略网络。 ```python import gym from stable_baselines3 import PPO env = gym.make('MathProblem-v0') # 假设有一个自定义的 Gym 环境名为 MathProblem-v0 model = PPO("MlpPolicy", env, verbose=1) model.learn(total_timesteps=10_000) obs = env.reset() for i in range(1000): action, _states = model.predict(obs, deterministic=True) obs, rewards, dones, info = env.step(action) if dones: break ``` #### 进行多阶段训练转换至最终版本 最后一步是从基础架构逐步演变为完全由强化学习驱动的形式。这一过程中会经历几个迭代周期,每次都会调整参数配置直至达到最佳性能表现。 在此期间,建议定期评估中间产物的质量,并据此做出必要的改进措施。 ---
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值