dgenerate-ultralytics-headless 8.3.243__py3-none-any.whl → 8.3.245__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. {dgenerate_ultralytics_headless-8.3.243.dist-info → dgenerate_ultralytics_headless-8.3.245.dist-info}/METADATA +1 -1
  2. {dgenerate_ultralytics_headless-8.3.243.dist-info → dgenerate_ultralytics_headless-8.3.245.dist-info}/RECORD +27 -27
  3. tests/test_engine.py +1 -1
  4. ultralytics/__init__.py +1 -1
  5. ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +1 -1
  6. ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +1 -1
  7. ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +1 -1
  8. ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +1 -1
  9. ultralytics/cfg/models/v10/yolov10b.yaml +2 -2
  10. ultralytics/cfg/models/v10/yolov10l.yaml +2 -2
  11. ultralytics/cfg/models/v10/yolov10m.yaml +2 -2
  12. ultralytics/cfg/models/v10/yolov10n.yaml +2 -2
  13. ultralytics/cfg/models/v10/yolov10s.yaml +2 -2
  14. ultralytics/cfg/models/v10/yolov10x.yaml +2 -2
  15. ultralytics/cfg/models/v3/yolov3-tiny.yaml +1 -1
  16. ultralytics/cfg/models/v6/yolov6.yaml +1 -1
  17. ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +1 -1
  18. ultralytics/cfg/models/v9/yolov9s.yaml +1 -1
  19. ultralytics/engine/exporter.py +6 -4
  20. ultralytics/engine/model.py +1 -1
  21. ultralytics/nn/modules/head.py +2 -2
  22. ultralytics/nn/modules/utils.py +1 -1
  23. ultralytics/utils/callbacks/platform.py +12 -0
  24. {dgenerate_ultralytics_headless-8.3.243.dist-info → dgenerate_ultralytics_headless-8.3.245.dist-info}/WHEEL +0 -0
  25. {dgenerate_ultralytics_headless-8.3.243.dist-info → dgenerate_ultralytics_headless-8.3.245.dist-info}/entry_points.txt +0 -0
  26. {dgenerate_ultralytics_headless-8.3.243.dist-info → dgenerate_ultralytics_headless-8.3.245.dist-info}/licenses/LICENSE +0 -0
  27. {dgenerate_ultralytics_headless-8.3.243.dist-info → dgenerate_ultralytics_headless-8.3.245.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dgenerate-ultralytics-headless
3
- Version: 8.3.243
3
+ Version: 8.3.245
4
4
  Summary: Automatically built Ultralytics package with python-opencv-headless dependency instead of python-opencv
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -1,14 +1,14 @@
1
- dgenerate_ultralytics_headless-8.3.243.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
1
+ dgenerate_ultralytics_headless-8.3.245.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
2
2
  tests/__init__.py,sha256=bCox_hLdGRFYGLb2kd722VdNP2zEXNYNuLLYtqZSrbw,804
3
3
  tests/conftest.py,sha256=mOy9lGpNp7lk1hHl6_pVE0f9cU-72gnkoSm4TO-CNZU,2318
4
4
  tests/test_cli.py,sha256=GhIFHi-_WIJpDgoGNRi0DnjbfwP1wHbklBMnkCM-P_4,5464
5
5
  tests/test_cuda.py,sha256=eQew1rNwU3VViQCG6HZj5SWcYmWYop9gJ0jv9U1bGDE,8203
6
- tests/test_engine.py,sha256=ER2DsHM0GfUG99AH1Q-Lpm4x36qxkfOzxmH6uYM75ds,5722
6
+ tests/test_engine.py,sha256=0SWVHTs-feV07spjRMJ078Ipdg6m3uymNHwgTIZjZtc,5732
7
7
  tests/test_exports.py,sha256=UCLbjUnK8ZNldnJodrAxftUrwzO6ZNQxr7j64nDl9io,14137
8
8
  tests/test_integrations.py,sha256=6QgSh9n0J04RdUYz08VeVOnKmf4S5MDEQ0chzS7jo_c,6220
9
9
  tests/test_python.py,sha256=viMvRajIbDZdm64hRRg9i8qZ1sU9frwB69e56mxwEXk,29266
10
10
  tests/test_solutions.py,sha256=CIaphpmOXgz9AE9xcm1RWODKrwGfZLCc84IggGXArNM,14122
11
- ultralytics/__init__.py,sha256=UOIrYdbdS134a26TB2-qzRTQUcvvSJ2MpF96UESJcH4,1302
11
+ ultralytics/__init__.py,sha256=nuDYkxZu_md3G2OzKDB8yLt04fl3C5IxdfRTo4LDrpM,1302
12
12
  ultralytics/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
13
13
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
14
14
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
@@ -63,22 +63,22 @@ ultralytics/cfg/models/12/yolo12-obb.yaml,sha256=JMviFAOmDbW0aMNzZNqispP0wxWw3mt
63
63
  ultralytics/cfg/models/12/yolo12-pose.yaml,sha256=Mr9xjYclLQzxYhMqjIKQTdiTvtqZvEXBtclADFggaMA,2074
64
64
  ultralytics/cfg/models/12/yolo12-seg.yaml,sha256=RBFFz4b95Dupfg0fmqCkZ4i1Zzai_QyJrI6Y2oLsocM,1984
65
65
  ultralytics/cfg/models/12/yolo12.yaml,sha256=ZeA8LuymJXPNjZ5xkxkZHkcktDaKDzUBb2Kc3gCLC1w,1953
66
- ultralytics/cfg/models/rt-detr/rtdetr-l.yaml,sha256=_jGu4rotBnmjS29MkSvPx_4dNTWku68ie8-BIvf_p6Q,2041
67
- ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml,sha256=BGWp61olKkgD_CzikeVSglWfat3L9hDIK6KDkjwzlxc,1678
68
- ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml,sha256=hrRmoL2w-Rchd7obEcSYPeyDNG32QxXftbRH_4vVeZQ,1676
69
- ultralytics/cfg/models/rt-detr/rtdetr-x.yaml,sha256=sfO4kVzpGabUX3Z4bHo65zHz55CS_mQD-qATy_a5m1I,2248
70
- ultralytics/cfg/models/v10/yolov10b.yaml,sha256=_vTwz4iHW2DeX7yJGq0pD5MI2m8wbhW2VWpRLhBnmRc,1507
71
- ultralytics/cfg/models/v10/yolov10l.yaml,sha256=WzVFTALNtfCevuMujsjDzHiTUis5HY3rSnEmQ4i0-dA,1507
72
- ultralytics/cfg/models/v10/yolov10m.yaml,sha256=v9-KMN8BeuL_lQS-C3gBuAz-7c9DezqJcxUaEHLKu2M,1498
73
- ultralytics/cfg/models/v10/yolov10n.yaml,sha256=D_odGqRblS2I8E23Hchxkjq19RNet_QBAGi1VvD0Dl4,1493
74
- ultralytics/cfg/models/v10/yolov10s.yaml,sha256=mFGTHjlSU2nq6jGwEGPDYKm_4nblvCEfQD8DjSjcSTI,1502
75
- ultralytics/cfg/models/v10/yolov10x.yaml,sha256=ZwBikqNYs66YiJBLHQ-4VUe-SBrhzksTD2snM9IzL30,1510
66
+ ultralytics/cfg/models/rt-detr/rtdetr-l.yaml,sha256=hAZti6u7lYIeYERsRrsdU9wekNFHURH_mq6Ow4XfhB4,2036
67
+ ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml,sha256=Rtj3KCpxsvvFmYTJ2NKqoc0fk7-I5gaZiDsdgXFZ_6g,1689
68
+ ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml,sha256=QLhmuMS9OEuLFbMuaDrjtzCizpYzddQcM6QyBL6rhPg,1685
69
+ ultralytics/cfg/models/rt-detr/rtdetr-x.yaml,sha256=-9qiCz89szx5vU0-xbOjQq9ftdyMOGDIaTrnpUCbBYc,2243
70
+ ultralytics/cfg/models/v10/yolov10b.yaml,sha256=q4H9pBITGoFY4vOankdFnkVkU3N6BZ775P-xKpVvmN8,1485
71
+ ultralytics/cfg/models/v10/yolov10l.yaml,sha256=UE9-7Qeknk6pFTxwzQoJGeMHOMq5RQTeyZHpIX5kDZM,1485
72
+ ultralytics/cfg/models/v10/yolov10m.yaml,sha256=ThA9xzFTPv-i7ftcZQBz7ZpMqiMkal9kh5JvtnDJsu4,1476
73
+ ultralytics/cfg/models/v10/yolov10n.yaml,sha256=4DBR_6P-Qwx5F1-1oljB6_1wDbi4D8l8Zix7Y001o2w,1471
74
+ ultralytics/cfg/models/v10/yolov10s.yaml,sha256=Wp5yUdalRje0j3D0By9hn9SqbkZuYUFOGPgUK5FDpjo,1480
75
+ ultralytics/cfg/models/v10/yolov10x.yaml,sha256=DI6SOhXQrRrLf3-pkLaG6lzhGOVbkpHBtHvl_MSvYz8,1488
76
76
  ultralytics/cfg/models/v3/yolov3-spp.yaml,sha256=hsM-yhdWv-8XlWuaSOVqFJcHUVZ-FmjH4QjkA9CHJZU,1625
77
- ultralytics/cfg/models/v3/yolov3-tiny.yaml,sha256=_DtEMJBOTriSaTUA3Aw5LvwgXyc3v_8-uuCpg45cUyQ,1331
77
+ ultralytics/cfg/models/v3/yolov3-tiny.yaml,sha256=SYrSg0m1A6ErUapdrJDI5E-edLaH0oF-NRb558DZgmQ,1330
78
78
  ultralytics/cfg/models/v3/yolov3.yaml,sha256=Fvt4_PTwLBpRw3R4v4VQ-1PIiojpoFZD1uuTZySUYSw,1612
79
79
  ultralytics/cfg/models/v5/yolov5-p6.yaml,sha256=VKEWykksykSlzvuy7if4yFo9WlblC3hdqcNxJ9bwHek,1994
80
80
  ultralytics/cfg/models/v5/yolov5.yaml,sha256=QD8dRe5e5ys52wXPKvNJn622H_3iX0jPzE_2--2dZx0,1626
81
- ultralytics/cfg/models/v6/yolov6.yaml,sha256=NrRxq_E6yXnMZqJcLXrIPZtj8eqAxFxSAz4MDFGcwEg,1813
81
+ ultralytics/cfg/models/v6/yolov6.yaml,sha256=tl04iHe4dVg_78jgupVul5gbqOn5hBhtLKfP3xYxcWA,1813
82
82
  ultralytics/cfg/models/v8/yoloe-v8-seg.yaml,sha256=cgl2mHps6g9RImm8KbegjEL6lO1elK5OnpDRNjqU2m4,2003
83
83
  ultralytics/cfg/models/v8/yoloe-v8.yaml,sha256=0K_3-xecoPp6YWwAf2pmInWtkeH6R3Vp_hfgEPjzw-A,1954
84
84
  ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml,sha256=TAiAkZwUckzjWdY6yn_ulGzM-lnHaY7Yx9v8rI-2WoA,1014
@@ -93,7 +93,7 @@ ultralytics/cfg/models/v8/yolov8-p6.yaml,sha256=TqIsa8gNEW04KmdLxxC9rqhd7PCHlUqk
93
93
  ultralytics/cfg/models/v8/yolov8-pose-p6.yaml,sha256=tfgfYrbVu5biWCWmdTZRr7ZRC-zlAzycsRyaJbDtI1g,2047
94
94
  ultralytics/cfg/models/v8/yolov8-pose.yaml,sha256=LdzbiIVknZQMLYB2wzCHqul3NilfKp4nx5SdaGQsF6s,1676
95
95
  ultralytics/cfg/models/v8/yolov8-rtdetr.yaml,sha256=nQzysAwOq6t9vDTJGhDhnKPecJ4a5g1jPe110wWjzqk,2048
96
- ultralytics/cfg/models/v8/yolov8-seg-p6.yaml,sha256=anEWPI8Ld8zcCDvbHQCx8FMg2PR6sJCjoIK7pctl8Rg,1955
96
+ ultralytics/cfg/models/v8/yolov8-seg-p6.yaml,sha256=7FlNlY-sB8bCcVty2Hf_nYD8fxZpsqaTgGxTfac8DRI,1958
97
97
  ultralytics/cfg/models/v8/yolov8-seg.yaml,sha256=hFeiOFVwTV4zv08IrmTIuzJcUZmYkY7SIi2oV322e6U,1587
98
98
  ultralytics/cfg/models/v8/yolov8-world.yaml,sha256=rjWAxH5occ9-28StkgYD2dGMJ_niQRZqoZWgyZgErUw,2169
99
99
  ultralytics/cfg/models/v8/yolov8-worldv2.yaml,sha256=t-Q0bV8qQ7L4b_InviUxhTW6RqrPWg6LPezYLj_JkHM,2119
@@ -103,7 +103,7 @@ ultralytics/cfg/models/v9/yolov9c.yaml,sha256=x1kus_2mQdU9V3ZGg0XdE5WTUU3j8fwGe1
103
103
  ultralytics/cfg/models/v9/yolov9e-seg.yaml,sha256=WVpU5jHgoUuCMVirvmn_ScOmH9d1MyVVIX8XAY8787c,2377
104
104
  ultralytics/cfg/models/v9/yolov9e.yaml,sha256=Olr2PlADpkD6N1TiVyAJEMzkrA7SbNul1nOaUF8CS38,2355
105
105
  ultralytics/cfg/models/v9/yolov9m.yaml,sha256=WcKQ3xRsC1JMgA42Hx4xzr4FZmtE6B3wKvqhlQxkqw8,1411
106
- ultralytics/cfg/models/v9/yolov9s.yaml,sha256=j_v3JWaPtiuM8aKJt15Z_4HPRCoHWn_G6Z07t8CZyjk,1391
106
+ ultralytics/cfg/models/v9/yolov9s.yaml,sha256=cWkQtYNWWOckOBXjd8XrJ_q5v6T_C54xGMP1S3qnpZU,1392
107
107
  ultralytics/cfg/models/v9/yolov9t.yaml,sha256=Q8GpSXE7fumhuJiQg4a2SkuS_UmnXqp-eoZxW_C0vEo,1375
108
108
  ultralytics/cfg/trackers/botsort.yaml,sha256=tRxC-qT4Wz0mLn5x7ZEwrqgGKrmTDVY7gMge-mhpe7U,1431
109
109
  ultralytics/cfg/trackers/bytetrack.yaml,sha256=7LS1ObP5u7BUFcmeY6L2m3bRuPUktnpJspFKd_ElVWc,908
@@ -123,8 +123,8 @@ ultralytics/data/scripts/get_coco.sh,sha256=UuJpJeo3qQpTHVINeOpmP0NYmg8PhEFE3A8J
123
123
  ultralytics/data/scripts/get_coco128.sh,sha256=qmRQl_hOKrsdHrTrnyQuFIH01oDz3lfaz138OgGfLt8,650
124
124
  ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQXgr0B2cwn48,1705
125
125
  ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
126
- ultralytics/engine/exporter.py,sha256=yO2ARLy-tQXKYa5ek62jqoZXcXGm7ThanRUj2X3rIHk,72643
127
- ultralytics/engine/model.py,sha256=RkjMWXkyGmYjmMYIG8mPX8Cf1cJvn0ccOsXt03g7tIk,52999
126
+ ultralytics/engine/exporter.py,sha256=f1F0okbFSlIZKVHuiV6lPJxktHzZT5dR9XTi2xYcst0,72589
127
+ ultralytics/engine/model.py,sha256=61ea1rB0wmL0CCaEr8p5gzneH0eL55OOMaTcFt8fR80,53079
128
128
  ultralytics/engine/predictor.py,sha256=neYmNDX27Vv3ggk9xqaKlH6XzB2vlFIghU5o7ZC0zFo,22838
129
129
  ultralytics/engine/results.py,sha256=LHX0AaVOv3CEjYjw8i4LThXqihxmahWCxpH20b4s9dM,68030
130
130
  ultralytics/engine/trainer.py,sha256=mqVrhL8xnJwwKJVjxDEiiwu0WH48Ne5dB4SXxlxyHh4,45479
@@ -217,9 +217,9 @@ ultralytics/nn/modules/__init__.py,sha256=5Sg_28MDfKwdu14Ty_WCaiIXZyjBSQ-xCNCwno
217
217
  ultralytics/nn/modules/activation.py,sha256=J6n-CJKFK0YbhwcRDqm9zEJM9pSAEycj5quQss_3x6E,2219
218
218
  ultralytics/nn/modules/block.py,sha256=YRALZHImSMdLpmF0qIf8uF3yENz0EK63SFp7gzylo5g,69885
219
219
  ultralytics/nn/modules/conv.py,sha256=9WUlBzHD-wLgz0riLyttzASLIqBtXPK6Jk5EdyIiGCM,21100
220
- ultralytics/nn/modules/head.py,sha256=OD8slnnJbVG9WvbRJqhx0tHwbtgrci3Ynj9dxHcszfY,51875
220
+ ultralytics/nn/modules/head.py,sha256=V1zSWN-AOHPkciqvfruDA0LgBgSGyKc_CULNCNEAe8o,51875
221
221
  ultralytics/nn/modules/transformer.py,sha256=oasUhhIm03kY0QtWrpvSSLnQa9q3eW2ksx82MgpPmsE,31972
222
- ultralytics/nn/modules/utils.py,sha256=tkUDhTXjmW-YMvTGvM4RFUVtzh5k2c33i3TWmzaWWtI,6067
222
+ ultralytics/nn/modules/utils.py,sha256=EyhENse_RESlXjLHAJWvV07_tq1MVMmfzXgPR1fiT9w,6066
223
223
  ultralytics/solutions/__init__.py,sha256=Jj7OcRiYjHH-e104H4xTgjjR5W6aPB4mBRndbaSPmgU,1209
224
224
  ultralytics/solutions/ai_gym.py,sha256=ItLE6HYMx6AEgiHEDG1HKDkippnrnycb-79S2g72AYA,5181
225
225
  ultralytics/solutions/analytics.py,sha256=UaH-B6h8Ir9l00deRUeAIW6QQTIO_595HTp93sdwteM,12820
@@ -283,7 +283,7 @@ ultralytics/utils/callbacks/dvc.py,sha256=YT0Sa5P8Huj8Fn9jM2P6MYzUY3PIVxsa5BInVi
283
283
  ultralytics/utils/callbacks/hub.py,sha256=fVLqqr3ZM6hoYFlVMEeejfq1MWDrkWCskPFOG3HGILQ,4159
284
284
  ultralytics/utils/callbacks/mlflow.py,sha256=wCXjQgdufp9LYujqMzLZOmIOur6kvrApHNeo9dA7t_g,5323
285
285
  ultralytics/utils/callbacks/neptune.py,sha256=_vt3cMwDHCR-LyT3KtRikGpj6AG11oQ-skUUUUdZ74o,4391
286
- ultralytics/utils/callbacks/platform.py,sha256=oWz8OvdgO3rCKe6VvqNOhwStS07ddJkvPy1O72SqYEc,9271
286
+ ultralytics/utils/callbacks/platform.py,sha256=bk-ZyHmy9gLFNcsF2M96Cr39W66kE7JL3p7V-9g51t4,9694
287
287
  ultralytics/utils/callbacks/raytune.py,sha256=Y0dFyNZVRuFovSh7nkgUIHTQL3xIXOACElgHuYbg_5I,1278
288
288
  ultralytics/utils/callbacks/tensorboard.py,sha256=PTJYvD2gqRUN8xw5VoTjvKnu2adukLfvhMlDgTnTiFU,4952
289
289
  ultralytics/utils/callbacks/wb.py,sha256=ghmL3gigOa-z_F54-TzMraKw9MAaYX-Wk4H8dLoRvX8,7705
@@ -291,8 +291,8 @@ ultralytics/utils/export/__init__.py,sha256=Cfh-PwVfTF_lwPp-Ss4wiX4z8Sm1XRPklsqd
291
291
  ultralytics/utils/export/engine.py,sha256=23-lC6dNsmz5vprSJzaN7UGNXrFlVedNcqhlOH_IXes,9956
292
292
  ultralytics/utils/export/imx.py,sha256=F3b334IZdwjF8PdP1s6QI3Ndd82_2e77clj8aGLzIDo,12856
293
293
  ultralytics/utils/export/tensorflow.py,sha256=igYzwbdblb9YgfV4Jgl5lMvynuVRcF51dAzI7j-BBI0,9966
294
- dgenerate_ultralytics_headless-8.3.243.dist-info/METADATA,sha256=HxU9hZqOz-XaKXszDolkAQLJ7LUbbtjns1jw2HVWAoM,38799
295
- dgenerate_ultralytics_headless-8.3.243.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
296
- dgenerate_ultralytics_headless-8.3.243.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
297
- dgenerate_ultralytics_headless-8.3.243.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
298
- dgenerate_ultralytics_headless-8.3.243.dist-info/RECORD,,
294
+ dgenerate_ultralytics_headless-8.3.245.dist-info/METADATA,sha256=BL614iBVsqPyhyUJbnxmXjyKKFtAvGUJxU2HO9C2Rv0,38799
295
+ dgenerate_ultralytics_headless-8.3.245.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
296
+ dgenerate_ultralytics_headless-8.3.245.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
297
+ dgenerate_ultralytics_headless-8.3.245.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
298
+ dgenerate_ultralytics_headless-8.3.245.dist-info/RECORD,,
tests/test_engine.py CHANGED
@@ -13,7 +13,7 @@ from ultralytics.models.yolo import classify, detect, segment
13
13
  from ultralytics.utils import ASSETS, DEFAULT_CFG, WEIGHTS_DIR
14
14
 
15
15
 
16
- def test_func(*args):
16
+ def test_func(*args, **kwargs):
17
17
  """Test function callback for evaluating YOLO model performance metrics."""
18
18
  print("callback test passed")
19
19
 
ultralytics/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.243"
3
+ __version__ = "8.3.245"
4
4
 
5
5
  import importlib
6
6
  import os
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=rtdetr-l.yaml' will call rtdetr-l.yaml with scale 'l'
10
10
  # [depth, width, max_channels]
11
11
  l: [1.00, 1.00, 1024]
12
12
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=rtdetr-resnet101.yaml' will call rtdetr-resnet101.yaml with scale 'l'
10
10
  # [depth, width, max_channels]
11
11
  l: [1.00, 1.00, 1024]
12
12
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=rtdetr-resnet50.yaml' will call rtdetr-resnet50.yaml with scale 'l'
10
10
  # [depth, width, max_channels]
11
11
  l: [1.00, 1.00, 1024]
12
12
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=rtdetr-x.yaml' will call rtdetr-x.yaml with scale 'x'
10
10
  # [depth, width, max_channels]
11
11
  x: [1.00, 1.00, 2048]
12
12
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' uses the 'n' scale
10
10
  # [depth, width, max_channels]
11
11
  b: [0.67, 1.00, 512]
12
12
 
@@ -24,7 +24,7 @@ backbone:
24
24
  - [-1, 1, SPPF, [1024, 5]] # 9
25
25
  - [-1, 1, PSA, [1024]] # 10
26
26
 
27
- # YOLOv10.0n head
27
+ # YOLOv10 head
28
28
  head:
29
29
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
30
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' uses the 'n' scale
10
10
  # [depth, width, max_channels]
11
11
  l: [1.00, 1.00, 512]
12
12
 
@@ -24,7 +24,7 @@ backbone:
24
24
  - [-1, 1, SPPF, [1024, 5]] # 9
25
25
  - [-1, 1, PSA, [1024]] # 10
26
26
 
27
- # YOLOv10.0n head
27
+ # YOLOv10 head
28
28
  head:
29
29
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
30
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' uses the 'n' scale
10
10
  # [depth, width, max_channels]
11
11
  m: [0.67, 0.75, 768]
12
12
 
@@ -24,7 +24,7 @@ backbone:
24
24
  - [-1, 1, SPPF, [1024, 5]] # 9
25
25
  - [-1, 1, PSA, [1024]] # 10
26
26
 
27
- # YOLOv10.0n head
27
+ # YOLOv10 head
28
28
  head:
29
29
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
30
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' uses the 'n' scale
10
10
  # [depth, width, max_channels]
11
11
  n: [0.33, 0.25, 1024]
12
12
 
@@ -24,7 +24,7 @@ backbone:
24
24
  - [-1, 1, SPPF, [1024, 5]] # 9
25
25
  - [-1, 1, PSA, [1024]] # 10
26
26
 
27
- # YOLOv10.0n head
27
+ # YOLOv10 head
28
28
  head:
29
29
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
30
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' uses the 'n' scale
10
10
  # [depth, width, max_channels]
11
11
  s: [0.33, 0.50, 1024]
12
12
 
@@ -24,7 +24,7 @@ backbone:
24
24
  - [-1, 1, SPPF, [1024, 5]] # 9
25
25
  - [-1, 1, PSA, [1024]] # 10
26
26
 
27
- # YOLOv10.0n head
27
+ # YOLOv10 head
28
28
  head:
29
29
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
30
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
- scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' will call yolov10.yaml with scale 'n'
9
+ scales: # model compound scaling constants, i.e. 'model=yolov10n.yaml' uses the 'n' scale
10
10
  # [depth, width, max_channels]
11
11
  x: [1.00, 1.25, 512]
12
12
 
@@ -24,7 +24,7 @@ backbone:
24
24
  - [-1, 1, SPPF, [1024, 5]] # 9
25
25
  - [-1, 1, PSA, [1024]] # 10
26
26
 
27
- # YOLOv10.0n head
27
+ # YOLOv10 head
28
28
  head:
29
29
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
30
30
  - [[-1, 6], 1, Concat, [1]] # cat backbone P4
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- # Ultralytics YOLOv3-tiiny object detection model with P4/16 - P5/32 outputs
3
+ # Ultralytics YOLOv3-tiny object detection model with P4/16 - P5/32 outputs
4
4
  # Model docs: https://docs.ultralytics.com/models/yolov3
5
5
  # Task docs: https://docs.ultralytics.com/tasks/detect
6
6
 
@@ -7,7 +7,7 @@
7
7
  # Parameters
8
8
  nc: 80 # number of classes
9
9
  activation: torch.nn.ReLU() # (optional) model default activation function
10
- scales: # model compound scaling constants, i.e. 'model=yolov6n.yaml' will call yolov8.yaml with scale 'n'
10
+ scales: # model compound scaling constants, i.e. 'model=yolov6n.yaml' will call yolov6.yaml with scale 'n'
11
11
  # [depth, width, max_channels]
12
12
  n: [0.33, 0.25, 1024]
13
13
  s: [0.33, 0.50, 1024]
@@ -56,4 +56,4 @@ head:
56
56
  - [[-1, 11], 1, Concat, [1]] # cat head P6
57
57
  - [-1, 3, C2, [1024, False]] # 29 (P6/64-xlarge)
58
58
 
59
- - [[20, 23, 26, 29], 1, Segment, [nc, 32, 256]] # Pose(P3, P4, P5, P6)
59
+ - [[20, 23, 26, 29], 1, Segment, [nc, 32, 256]] # Segment(P3, P4, P5, P6)
@@ -38,4 +38,4 @@ head:
38
38
  - [[-1, 9], 1, Concat, [1]] # cat head P5
39
39
  - [-1, 1, RepNCSPELAN4, [256, 256, 128, 3]] # 21 (P5/32-large)
40
40
 
41
- - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4 P5)
41
+ - [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
@@ -87,6 +87,7 @@ from ultralytics.utils import (
87
87
  IS_COLAB,
88
88
  IS_DEBIAN_BOOKWORM,
89
89
  IS_DEBIAN_TRIXIE,
90
+ IS_DOCKER,
90
91
  IS_JETSON,
91
92
  IS_RASPBERRYPI,
92
93
  IS_UBUNTU,
@@ -1187,10 +1188,11 @@ class Exporter:
1187
1188
  """
1188
1189
  LOGGER.info(f"\n{prefix} starting export with ExecuTorch...")
1189
1190
  assert TORCH_2_9, f"ExecuTorch export requires torch>=2.9.0 but torch=={TORCH_VERSION} is installed"
1190
- # TorchAO release compatibility table bug https://github.com/pytorch/ao/issues/2919
1191
- # Setuptools bug: https://github.com/pypa/setuptools/issues/4483
1192
- check_requirements("setuptools<71.0.0") # Setuptools bug: https://github.com/pypa/setuptools/issues/4483
1193
- check_requirements(("executorch==1.0.1", "flatbuffers"))
1191
+
1192
+ # BUG executorch build on arm64 Docker requires packaging>=22.0 https://github.com/pypa/setuptools/issues/4483
1193
+ if LINUX and ARM64 and IS_DOCKER:
1194
+ check_requirements("packaging>=22.0")
1195
+ check_requirements("executorch==1.0.1", "flatbuffers")
1194
1196
  # Pin numpy to avoid coremltools errors with numpy>=2.4.0, must be separate
1195
1197
  check_requirements("numpy<=2.3.5")
1196
1198
 
@@ -523,7 +523,7 @@ class Model(torch.nn.Module):
523
523
  args = {**self.overrides, **custom, **kwargs} # highest priority args on the right
524
524
  prompts = args.pop("prompts", None) # for SAM-type models
525
525
 
526
- if not self.predictor:
526
+ if not self.predictor or self.predictor.args.device != args.get("device", self.predictor.args.device):
527
527
  self.predictor = (predictor or self._smart_load("predictor"))(overrides=args, _callbacks=self.callbacks)
528
528
  self.predictor.setup_model(model=self.model, verbose=is_cli)
529
529
  else: # only update args if predictor is already setup
@@ -1078,9 +1078,9 @@ class RTDETRDecoder(nn.Module):
1078
1078
  enc_outputs_scores = self.enc_score_head(features) # (bs, h*w, nc)
1079
1079
 
1080
1080
  # Query selection
1081
- # (bs, num_queries)
1081
+ # (bs*num_queries,)
1082
1082
  topk_ind = torch.topk(enc_outputs_scores.max(-1).values, self.num_queries, dim=1).indices.view(-1)
1083
- # (bs, num_queries)
1083
+ # (bs*num_queries,)
1084
1084
  batch_ind = torch.arange(end=bs, dtype=topk_ind.dtype).unsqueeze(-1).repeat(1, self.num_queries).view(-1)
1085
1085
 
1086
1086
  # (bs, num_queries, 256)
@@ -147,7 +147,7 @@ def multi_scale_deformable_attn_pytorch(
147
147
  sampling_value_list.append(sampling_value_l_)
148
148
  # (bs, num_queries, num_heads, num_levels, num_points) ->
149
149
  # (bs, num_heads, num_queries, num_levels, num_points) ->
150
- # (bs, num_heads, 1, num_queries, num_levels*num_points)
150
+ # (bs*num_heads, 1, num_queries, num_levels*num_points)
151
151
  attention_weights = attention_weights.transpose(1, 2).reshape(
152
152
  bs * num_heads, 1, num_queries, num_levels * num_points
153
153
  )
@@ -90,11 +90,18 @@ def _upload_model_async(model_path, project, name):
90
90
 
91
91
  def _get_environment_info():
92
92
  """Collect comprehensive environment info using existing ultralytics utilities."""
93
+ import shutil
94
+
95
+ import psutil
93
96
  import torch
94
97
 
95
98
  from ultralytics import __version__
96
99
  from ultralytics.utils.torch_utils import get_cpu_info, get_gpu_info
97
100
 
101
+ # Get RAM and disk totals
102
+ memory = psutil.virtual_memory()
103
+ disk_usage = shutil.disk_usage("/")
104
+
98
105
  env = {
99
106
  "ultralyticsVersion": __version__,
100
107
  "hostname": socket.gethostname(),
@@ -105,6 +112,8 @@ def _get_environment_info():
105
112
  "cpuCount": os.cpu_count() or 0,
106
113
  "cpu": get_cpu_info(),
107
114
  "command": " ".join(sys.argv),
115
+ "totalRamGb": round(memory.total / (1 << 30), 1), # Total RAM in GB
116
+ "totalDiskGb": round(disk_usage.total / (1 << 30), 1), # Total disk in GB
108
117
  }
109
118
 
110
119
  # Git info using cached GIT singleton (no subprocess calls)
@@ -258,7 +267,9 @@ def on_train_end(trainer):
258
267
 
259
268
  # Upload best model (blocking to ensure it completes)
260
269
  model_path = None
270
+ model_size = None
261
271
  if trainer.best and Path(trainer.best).exists():
272
+ model_size = Path(trainer.best).stat().st_size
262
273
  model_path = _upload_model(trainer.best, project, name)
263
274
 
264
275
  # Send training complete
@@ -270,6 +281,7 @@ def on_train_end(trainer):
270
281
  "bestEpoch": getattr(trainer, "best_epoch", trainer.epoch),
271
282
  "bestFitness": trainer.best_fitness,
272
283
  "modelPath": model_path or str(trainer.best) if trainer.best else None,
284
+ "modelSize": model_size,
273
285
  }
274
286
  },
275
287
  project,