Published April 24, 2019
| Version v6
Software
Open
ultralytics/yolov3: Rectangular Inference, Conv2d + Batchnorm2d Layer Fusion
Creators
- 1. @ultralytics Ultralytics LLC
- 2. State Grid Electric Power Research Institute
- 3. Master's 2nd
- 4. Liverpool John Moores University
- 5. Scalar Research
- 6. @silverpond
Description
This release requires PyTorch >= v1.0.0 to function properly. Please install the latest version from https://github.com/pytorch/pytorch/releases
Breaking ChangesThere are no breaking changes in this release.
Bug Fixes- NMS now screens out nan and inf values which caused it to hang during some edge cases.
- Rectangular Inference. detect.py now automatically processes images, videos and webcam feeds using rectangular inference, letterboxing to the minimum viable 32-multiple. This speeds up inference by up to 40% on HD video: https://github.com/ultralytics/yolov3/issues/232
- Conv2d + Batchnorm2d Fusion: detect.py now automatically fuses the Conv2d and Batchnorm2d layes in the model before running inference. This speeds up inference by about 5-10%. https://github.com/ultralytics/yolov3/issues/224
- Hyperparameters all parameterized and grouped togethor in train.py now. Genetic Hyperparameter Evolution code added to train.py.
https://cloud.google.com/deep-learning-vm/
Machine type: n1-standard-8 (8 vCPUs, 30 GB memory)
CPU platform: Intel Skylake
GPUs: K80 ($0.198/hr), P4 ($0.279/hr), T4 ($0.353/hr), P100 ($0.493/hr), V100 ($0.803/hr)
HDD: 100 GB SSD
Dataset: COCO train 2014
batch_size
batch time
epoch time
epoch cost
<i></i>
(images)
(s/batch)
1 K80
16
1.43s
175min
$0.58
1 P4
8
0.51s
125min
$0.58
1 T4
16
0.78s
94min
$0.55
1 P100
16
0.39s
48min
$0.39
2 P100
32
0.48s
29min
$0.47
4 P100
64
0.65s
20min
$0.65
1 V100
16
0.25s
31min
$0.41
2 V100
32
0.29s
18min
$0.48
4 V100
64
0.41s
13min
$0.70
8 V100
128
0.49s
7min
$0.80
TODO (help and PR's welcome!)
- Add iOS App inference to photos and videos in Camera Roll, as well as 'Flexible', or at least rectangular inference. https://github.com/ultralytics/yolov3/issues/224
- Add parameter to switch between 'darknet' and 'power' wh methods. https://github.com/ultralytics/yolov3/issues/168
- YAPF linting (including possible wrap to PEP8 79 character-line standard) https://github.com/ultralytics/yolov3/issues/88.
- Resolve mAP bug: https://github.com/ultralytics/yolov3/issues/222
- Rectangular training. https://github.com/ultralytics/yolov3/issues/232
- Genetic Hyperparameter Evolution. HELP NEEDED HERE. If you have available hardware please contact us, as we need help expanding our hyperparameter search, for the benefit of everyone!
Files
ultralytics/yolov3-v6.zip
Files
(236.7 kB)
Name | Size | Download all |
---|---|---|
md5:c3bc5779e0585a5ce0b1d681cfb69f91
|
236.7 kB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/ultralytics/yolov3/tree/v6 (URL)