环境:py3.8 + pytorch 1.8.1 + cuda 11.1
服务器Ubuntu版本:Ubuntu 22.04.1 LTS
环境配置过程:
conda create -n mmdet_py38 python=3.8 # 创建环境
conda activate mmdet_py38 # 激活环境
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 # 安装pytorch
# 使用 MIM 安装 MMEngine 和 MMCV
pip install -U openmim
mim install mmengine
mim install "mmcv==2.0.0"
pip install -v -e . #进入到项目文件夹下执行此命令
config文件:
_base_ = '../dino/dino-4scale_r50_8xb2-24e_coco.py'
model = dict(bbox_head=dict(num_classes=5))
dataset_type = 'CocoDataset'
data_root = '/data/zy/dataset/project/Cooper001_withlabel/coco/'
classes = ('Inlet', 'Slightshort', 'Generalshort', 'Severeshort', 'Outlet')
# Modify dataset related settings
metainfo = {
'classes': ('Inlet', 'Slightshort', 'Generalshort', 'Severeshort', 'Outlet' ),
}
#backend_args = None
train_dataloader = dict(
batch_size=2,
num_workers=2,
dataset=dict(
data_root=data_root,
metainfo=dict(classes=classes),
ann_file='annotations/instances_train2017.json',
data_prefix=dict(img='train2017/'),
))
val_dataloader = dict(
dataset=dict(
data_root=data_root,
metainfo=dict(classes=classes),
ann_file='annotations/instances_val2017.json',
data_prefix=dict(img='val2017/'),
))
val_evaluator = dict(ann_file=data_root + 'annotations/instances_val2017.json')
# inference on test dataset and
# format the output results for submission.
test_dataloader = dict(
batch_size=1,
num_workers=2,
persistent_workers=True,
drop_last=False,
sampler=dict(type='DefaultSampler', shuffle=False),
dataset=dict(
type=dataset_type,
data_root=data_root,
ann_file=data_root + 'annotations/instances_test2017.json',
data_prefix=dict(img='test2017/'),
test_mode=True,
))
test_evaluator = dict(
type='CocoMetric',
metric='bbox',
format_only=True,
ann_file=data_root + 'annotations/instances_test2017.json',
outfile_prefix='./work_dirs/coco_detection/test')
#test_dataloader = val_dataloader
#test_evaluator = val_evaluator
evaluation = dict(interval=1, metric='bbox', classwise=True)
load_from = '/data/zy/code/mmdetection-3.x/checkpoints/dino-4scale_r50_8xb2-12e_coco_20221202_182705-55b2bba2.pth'
训练指令:
CUDA_VISIBLE_DEVICES=1 python tools/train.py ./configs/demo/dino-4scale_r50_8xb2-24e_coco.py --work-dir ./work_dir/dino