README.md 2.88 KB
Newer Older
1
2
3
# Object detection reference training scripts

This folder contains reference training scripts for object detection.
4
They serve as a log of how to train specific models, to provide baseline
5
6
training and evaluation scripts to quickly bootstrap research.

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
To execute the example commands below you must install the following:

```
cython
pycocotools
matplotlib
```

You must modify the following flags:

`--data-path=/path/to/coco/dataset`

`--nproc_per_node=<number_of_gpus_available>`

Except otherwise noted, all models have been trained on 8x V100 GPUs. 
22

23
### Faster R-CNN ResNet-50 FPN
24
```
25
torchrun --nproc_per_node=8 train.py\
26
    --dataset coco --model fasterrcnn_resnet50_fpn --epochs 26\
27
    --lr-steps 16 22 --aspect-ratio-group-factor 3 --weights-backbone ResNet50_Weights.IMAGENET1K_V1
28
29
```

30
31
### Faster R-CNN MobileNetV3-Large FPN
```
32
torchrun --nproc_per_node=8 train.py\
33
    --dataset coco --model fasterrcnn_mobilenet_v3_large_fpn --epochs 26\
34
    --lr-steps 16 22 --aspect-ratio-group-factor 3 --weights-backbone MobileNet_V3_Large_Weights.IMAGENET1K_V1
35
36
```

37
38
### Faster R-CNN MobileNetV3-Large 320 FPN
```
39
torchrun --nproc_per_node=8 train.py\
40
    --dataset coco --model fasterrcnn_mobilenet_v3_large_320_fpn --epochs 26\
41
    --lr-steps 16 22 --aspect-ratio-group-factor 3 --weights-backbone MobileNet_V3_Large_Weights.IMAGENET1K_V1
42
43
```

Hu Ye's avatar
Hu Ye committed
44
45
46
47
### FCOS ResNet-50 FPN
```
torchrun --nproc_per_node=8 train.py\
    --dataset coco --model fcos_resnet50_fpn --epochs 26\
48
    --lr-steps 16 22 --aspect-ratio-group-factor 3  --lr 0.01 --amp --weights-backbone ResNet50_Weights.IMAGENET1K_V1
Hu Ye's avatar
Hu Ye committed
49
50
```

51
52
### RetinaNet
```
53
torchrun --nproc_per_node=8 train.py\
54
    --dataset coco --model retinanet_resnet50_fpn --epochs 26\
55
    --lr-steps 16 22 --aspect-ratio-group-factor 3 --lr 0.01 --weights-backbone ResNet50_Weights.IMAGENET1K_V1
56
57
```

58
### SSD300 VGG16
59
```
60
torchrun --nproc_per_node=8 train.py\
61
62
    --dataset coco --model ssd300_vgg16 --epochs 120\
    --lr-steps 80 110 --aspect-ratio-group-factor 3 --lr 0.002 --batch-size 4\
63
    --weight-decay 0.0005 --data-augmentation ssd --weights-backbone VGG16_Weights.IMAGENET1K_FEATURES
64
65
```

66
### SSDlite320 MobileNetV3-Large
67
```
68
torchrun --nproc_per_node=8 train.py\
69
70
    --dataset coco --model ssdlite320_mobilenet_v3_large --epochs 660\
    --aspect-ratio-group-factor 3 --lr-scheduler cosineannealinglr --lr 0.15 --batch-size 24\
71
    --weight-decay 0.00004 --data-augmentation ssdlite --weights-backbone MobileNet_V3_Large_Weights.IMAGENET1K_V1
72
73
```

74
75
76

### Mask R-CNN
```
77
torchrun --nproc_per_node=8 train.py\
78
    --dataset coco --model maskrcnn_resnet50_fpn --epochs 26\
79
    --lr-steps 16 22 --aspect-ratio-group-factor 3 --weights-backbone ResNet50_Weights.IMAGENET1K_V1
80
81
82
83
84
```


### Keypoint R-CNN
```
85
torchrun --nproc_per_node=8 train.py\
86
    --dataset coco_kp --model keypointrcnn_resnet50_fpn --epochs 46\
87
    --lr-steps 36 43 --aspect-ratio-group-factor 3 --weights-backbone ResNet50_Weights.IMAGENET1K_V1
88
```