280 Commits

Author SHA1 Message Date
Glenn Jocher
fea9c9b80c
nn.SiLU() citation correction (#1713) 2021-01-06 20:58:41 -08:00
Glenn Jocher
e77c77f580
Add check_requirements() (#1853)
* Add check_requirements()

* add import

* parameterize filename

* add to detect, test
2021-01-06 16:35:40 -08:00
Tommy in Tongji
135ec5c5ce
W&B ID reset on training completion (#1852)
* Update train.py

Fix the bug of always the same W&B ID  and continue  overwrite with the old logging.
BUG report
https://github.com/ultralytics/yolov5/issues/1851

* Fix the bug of duplicate W&B ID

fix the bug of https://github.com/ultralytics/yolov5/issues/1851
If we had trained on yolov5s.pt, the program will generate a new unique W&B ID.
If we hadn't, the program will keep the old code, we can still use --resume aug.

* Update general.py

* revert train.py changes

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2021-01-06 16:27:22 -08:00
Glenn Jocher
69be8e738f
YOLOv5 v4.0 Release (#1837)
* Update C3 module

* Update C3 module

* Update C3 module

* Update C3 module

* update

* update

* update

* update

* update

* update

* update

* update

* update

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* updates

* update

* update

* update

* update

* updates

* updates

* updates

* updates

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update datasets

* update

* update

* update

* update attempt_downlaod()

* merge

* merge

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* parameterize eps

* comments

* gs-multiple

* update

* max_nms implemented

* Create one_cycle() function

* update

* update

* update

* update

* update

* update

* update

* update study.png

* update study.png

* Update datasets.py
2021-01-04 19:54:09 -08:00
Glenn Jocher
0e341c5660
Create one_cycle() function (#1836) 2021-01-04 15:49:08 -08:00
Glenn Jocher
9f5a18bb80
Torch CUDA synchronize update (#1826)
* torch.cuda.synchronize() update

* torch.cuda.synchronize() update

* torch.cuda.synchronize() update

* newline
2021-01-03 11:23:12 -08:00
Glenn Jocher
c0ffcdf998
Display correct CUDA devices (#1776)
* Display correct CUDA devices

* cleanup
2020-12-24 13:01:35 -08:00
Glenn Jocher
3004fb5bc1
Automatic m.half() profile on x.half() 2020-12-21 15:20:33 -08:00
Glenn Jocher
0bd9c48609
Update torch_utils.py
FLOPS to GFLOPS
2020-12-21 13:29:52 -08:00
Glenn Jocher
394d1c89f3
Input channel yaml['ch'] addition (#1741) 2020-12-19 10:54:01 -08:00
Glenn Jocher
685d601308
Increase plot_labels() speed (#1736) 2020-12-18 18:05:38 -08:00
Glenn Jocher
49abc722fc
Update profile_idetection() (#1727) 2020-12-18 01:19:17 -08:00
Glenn Jocher
d5289b54c4
clean_str() function addition (#1674)
* clean_str() function addition

* cleanup

* add euro symbol €

* add closing exclamation (spanish)

* cleanup
2020-12-17 17:20:20 -08:00
Glenn Jocher
6bd5e8bca7
nn.SiLU() export support (#1713) 2020-12-16 17:55:57 -08:00
Polydefkis Gkagkos
1fc9d42a64
NMS --classes 0 bug fix (#1710) 2020-12-16 08:58:51 -08:00
Glenn Jocher
8bc0027afc
Update loss criteria constructor (#1711) 2020-12-16 08:39:35 -08:00
NanoCode012
035ac82ed0
Fix torch multi-GPU --device error (#1701)
* Fix torch GPU error

* Update torch_utils.py

single-line device =

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-12-15 20:42:14 -08:00
Glenn Jocher
69ea70cd3b
Add idetection_profile() function to plots.py (#1700) 2020-12-15 18:35:47 -08:00
Glenn Jocher
54043a9fa4
Streaming --save-txt bug fix (#1672)
* Streaming --save-txt bug fix

* cleanup
2020-12-11 15:45:32 -08:00
Glenn Jocher
ada90e3901
Profile() feature addition (#1673)
* Profile() feature addition

* cleanup
2020-12-11 09:30:39 -08:00
Glenn Jocher
94a7f55c4e
FReLU bias=False bug fix (#1666) 2020-12-10 13:06:15 -08:00
Glenn Jocher
2e8e02745b
vast.ai compatability updates (#1657) 2020-12-09 19:01:08 -08:00
Glenn Jocher
fa8f1fb0e9
Simplify autoshape() post-process (#1653)
* Simplify autoshape() post-process

* cleanup

* cleanup
2020-12-09 07:44:06 -08:00
Glenn Jocher
84f9bb5d92
Normalized mosaic plotting bug fix (#1647) 2020-12-08 18:44:13 -08:00
Glenn Jocher
0bb43953eb
Reinstate PR curve sentinel values (#1645) 2020-12-08 17:40:49 -08:00
Glenn Jocher
68e6ab668b
Hub device mismatch bug fix (#1619) 2020-12-06 17:53:38 +01:00
Glenn Jocher
791dadb51c
Pycocotools best.pt after COCO train (#1616)
* Pycocotools best.pt after COCO train

* cleanup
2020-12-06 14:58:33 +01:00
Glenn Jocher
8918e63476
Increase FLOPS robustness (#1608) 2020-12-05 11:41:34 +01:00
Glenn Jocher
f010147578
Update matplotlib.use('Agg') tight (#1583)
* Update matplotlib tight_layout=True

* udpate

* udpate

* update

* png to ps

* update

* update
2020-12-02 15:53:16 +01:00
Glenn Jocher
784feae30a
Update matplotlib svg backend (#1580) 2020-12-02 14:05:12 +01:00
Hu Ye
577f298d9b
plot_images() scale bug fix (#1566)
fix bugs in plot_images
2020-12-01 11:29:59 +01:00
Glenn Jocher
b6ed1104a6
Daemon thread plotting (#1561)
* Daemon thread plotting

* remove process_batch

* plot after print
2020-11-30 16:44:14 +01:00
Glenn Jocher
cff9263490
f.read().strip() (#1551) 2020-11-29 11:59:52 +01:00
Glenn Jocher
9fa7f9f598 f.read().strip() 2020-11-29 11:58:14 +01:00
Glenn Jocher
96a84468b9
Update labels_to_image_weights() (#1545) 2020-11-28 12:25:45 +01:00
Glenn Jocher
c9798ae0e1
Update plot_study_txt() (#1533) 2020-11-26 22:18:17 +01:00
Glenn Jocher
0f2057ed33
Targets scaling bug fix (#1529) 2020-11-26 18:33:28 +01:00
Glenn Jocher
2c3efa430b
Mosaic plots bug fix (#1526) 2020-11-26 14:02:22 +01:00
Glenn Jocher
12499f1c01 --image_weights bug fix (#1524) 2020-11-26 13:25:51 +01:00
Glenn Jocher
9728e2b8ae
--image_weights bug fix (#1524) 2020-11-26 11:49:01 +01:00
Glenn Jocher
e9a0ae6f19
Cache bug fix (#1513)
* Caching bug fix #1508

* np.zeros((0,5)) x2
2020-11-25 20:33:14 +01:00
yxNONG
b3ceffb513
Add QFocalLoss() (#1482)
* Update loss.py

implement the quality focal loss which is a more general case of focal loss
more detail in https://arxiv.org/abs/2006.04388 

In the obj loss (or the case cls loss with label smooth), the targets is no long barely be 0 or 1 (can be 0.7), in this case, the normal focal loss is not work accurately
quality focal loss in behave the same as focal loss when the target is equal to 0 or 1, and work accurately when targets in (0, 1)

example:

targets:
tensor([[0.6225, 0.0000, 0.0000],
        [0.9000, 0.0000, 0.0000],
        [1.0000, 0.0000, 0.0000]])
___________________________
pred_prob:
tensor([[0.6225, 0.2689, 0.1192],
        [0.7773, 0.5000, 0.2227],
        [0.8176, 0.8808, 0.1978]])
____________________________
focal_loss
tensor([[0.0937, 0.0328, 0.0039],
        [0.0166, 0.1838, 0.0199],
        [0.0039, 1.3186, 0.0145]])
______________
qfocal_loss
tensor([[7.5373e-08, 3.2768e-02, 3.9179e-03],
        [4.8601e-03, 1.8380e-01, 1.9857e-02],
        [3.9233e-03, 1.3186e+00, 1.4545e-02]])
 
we can see that targets[0][0] = 0.6255 is almost the same as pred_prob[0][0] = 0.6225, 
the targets[1][0] = 0.9 is greater then pred_prob[1][0] = 0.7773 by 0.1227
however, the focal loss[0][0] = 0.0937 larger then focal loss[1][0] = 0.0166 (which against the purpose of focal loss)

for the quality focal loss , it implement the case of targets not equal to 0 or 1

* Update loss.py
2020-11-25 19:32:27 +01:00
Glenn Jocher
2026d4c5eb Update caching (#1496) 2020-11-24 16:25:21 +01:00
Glenn Jocher
bde5d9aaaa Update caching (#1496) 2020-11-24 16:23:00 +01:00
Glenn Jocher
0822cda781 Update caching (#1496) 2020-11-24 16:22:02 +01:00
Glenn Jocher
89c7a5b8dc
Update caching (#1496) 2020-11-24 16:13:04 +01:00
igornishka
44f42b1589
changed prints to logging in utils/datasets (#1315)
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
2020-11-24 16:03:19 +01:00
Glenn Jocher
7aeef2dca5
Prevent PR plotting (#1489) 2020-11-24 00:46:01 +01:00
Glenn Jocher
354109c54c Autosplit (#1488) 2020-11-23 18:35:25 +01:00
Glenn Jocher
4798e66fdf
Autosplit (#1488) 2020-11-23 17:18:21 +01:00