ultralytics 8.3.188__py3-none-any.whl → 8.3.190__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 (35) hide show
  1. ultralytics/__init__.py +1 -1
  2. ultralytics/data/utils.py +2 -2
  3. ultralytics/engine/exporter.py +5 -2
  4. ultralytics/engine/predictor.py +1 -1
  5. ultralytics/engine/results.py +5 -5
  6. ultralytics/engine/trainer.py +2 -0
  7. ultralytics/engine/validator.py +3 -1
  8. ultralytics/hub/__init__.py +6 -2
  9. ultralytics/hub/auth.py +2 -2
  10. ultralytics/hub/google/__init__.py +2 -2
  11. ultralytics/hub/session.py +3 -5
  12. ultralytics/hub/utils.py +5 -5
  13. ultralytics/models/yolo/detect/predict.py +2 -2
  14. ultralytics/models/yolo/detect/val.py +2 -2
  15. ultralytics/models/yolo/obb/val.py +2 -1
  16. ultralytics/nn/autobackend.py +29 -36
  17. ultralytics/nn/modules/__init__.py +3 -3
  18. ultralytics/nn/modules/head.py +5 -1
  19. ultralytics/nn/tasks.py +2 -2
  20. ultralytics/utils/__init__.py +49 -14
  21. ultralytics/utils/callbacks/platform.py +2 -1
  22. ultralytics/utils/checks.py +3 -3
  23. ultralytics/utils/downloads.py +2 -2
  24. ultralytics/utils/logger.py +7 -6
  25. ultralytics/utils/nms.py +346 -0
  26. ultralytics/utils/ops.py +80 -249
  27. ultralytics/utils/tal.py +1 -1
  28. ultralytics/utils/torch_utils.py +50 -47
  29. ultralytics/utils/tqdm.py +34 -23
  30. {ultralytics-8.3.188.dist-info → ultralytics-8.3.190.dist-info}/METADATA +1 -1
  31. {ultralytics-8.3.188.dist-info → ultralytics-8.3.190.dist-info}/RECORD +35 -34
  32. {ultralytics-8.3.188.dist-info → ultralytics-8.3.190.dist-info}/WHEEL +0 -0
  33. {ultralytics-8.3.188.dist-info → ultralytics-8.3.190.dist-info}/entry_points.txt +0 -0
  34. {ultralytics-8.3.188.dist-info → ultralytics-8.3.190.dist-info}/licenses/LICENSE +0 -0
  35. {ultralytics-8.3.188.dist-info → ultralytics-8.3.190.dist-info}/top_level.txt +0 -0
ultralytics/utils/tqdm.py CHANGED
@@ -139,10 +139,10 @@ class TQDM:
139
139
  self.initial = initial
140
140
 
141
141
  # Set bar format based on whether we have a total
142
- if self.total is not None:
143
- self.bar_format = bar_format or "{desc}: {percentage:3.0f}% {bar} {n_fmt}/{total_fmt} {rate_fmt} {elapsed}"
142
+ if self.total:
143
+ self.bar_format = bar_format or "{desc}: {percent:.0f}% {bar} {n}/{total} {rate} {elapsed}<{remaining}"
144
144
  else:
145
- self.bar_format = bar_format or "{desc}: {bar} {n_fmt} {rate_fmt} {elapsed}"
145
+ self.bar_format = bar_format or "{desc}: {bar} {n} {rate} {elapsed}"
146
146
 
147
147
  self.file = file or sys.stdout
148
148
 
@@ -155,7 +155,7 @@ class TQDM:
155
155
  self.closed = False
156
156
 
157
157
  # Display initial bar if we have total and not disabled
158
- if not self.disable and self.total is not None and not self.noninteractive:
158
+ if not self.disable and self.total and not self.noninteractive:
159
159
  self._display()
160
160
 
161
161
  def _format_rate(self, rate: float) -> str:
@@ -165,7 +165,7 @@ class TQDM:
165
165
 
166
166
  # For bytes with scaling, use binary units
167
167
  if self.unit in ("B", "bytes") and self.unit_scale:
168
- for threshold, unit in [(1024**3, "GB/s"), (1024**2, "MB/s"), (1024, "KB/s")]:
168
+ for threshold, unit in [(1073741824, "GB/s"), (1048576, "MB/s"), (1024, "KB/s")]: # 1 << 30, << 20, << 10
169
169
  if rate >= threshold:
170
170
  return f"{rate / threshold:.1f}{unit}"
171
171
  return f"{rate:.1f}B/s"
@@ -218,7 +218,7 @@ class TQDM:
218
218
  if self.noninteractive:
219
219
  return False
220
220
 
221
- if self.total is not None and self.n >= self.total:
221
+ if self.total and self.n >= self.total:
222
222
  return True
223
223
 
224
224
  return dt >= self.mininterval
@@ -256,30 +256,41 @@ class TQDM:
256
256
  self.last_print_t = current_time
257
257
  elapsed = current_time - self.start_t
258
258
 
259
+ # Calculate remaining time
260
+ remaining_str = ""
261
+ if self.total and 0 < self.n < self.total and rate > 0:
262
+ remaining_str = self._format_time((self.total - self.n) / rate)
263
+
259
264
  # Build progress components
260
- if self.total is not None:
261
- percentage = (self.n / self.total) * 100
265
+ if self.total:
266
+ percent = (self.n / self.total) * 100
262
267
  # For bytes with unit scaling, avoid repeating units: show "5.4/5.4MB" not "5.4MB/5.4MB"
263
- n_fmt = self._format_num(self.n)
264
- total_fmt = self._format_num(self.total)
268
+ n = self._format_num(self.n)
269
+ total = self._format_num(self.total)
265
270
  if self.unit_scale and self.unit in ("B", "bytes"):
266
- n_fmt = n_fmt.rstrip("KMGTPB") # Remove unit suffix from current
271
+ n = n.rstrip("KMGTPB") # Remove unit suffix from current
267
272
  else:
268
- percentage = 0
269
- n_fmt = self._format_num(self.n)
270
- total_fmt = "?"
273
+ percent = 0
274
+ n = self._format_num(self.n)
275
+ total = "?"
271
276
 
272
277
  elapsed_str = self._format_time(elapsed)
273
- rate_fmt = self._format_rate(rate) or (self._format_rate(self.n / elapsed) if elapsed > 0 else "")
278
+
279
+ # Use different format for completion
280
+ if self.total and self.n >= self.total:
281
+ format_str = self.bar_format.replace("<{remaining}", "")
282
+ else:
283
+ format_str = self.bar_format
274
284
 
275
285
  # Format progress string
276
- progress_str = self.bar_format.format(
286
+ progress_str = format_str.format(
277
287
  desc=self.desc,
278
- percentage=percentage,
288
+ percent=percent,
279
289
  bar=self._generate_bar(),
280
- n_fmt=n_fmt,
281
- total_fmt=total_fmt,
282
- rate_fmt=rate_fmt,
290
+ n=n,
291
+ total=total,
292
+ rate=self._format_rate(rate) or (self._format_rate(self.n / elapsed) if elapsed > 0 else ""),
293
+ remaining=remaining_str,
283
294
  elapsed=elapsed_str,
284
295
  unit=self.unit,
285
296
  )
@@ -395,12 +406,12 @@ if __name__ == "__main__":
395
406
  import time
396
407
 
397
408
  print("1. Basic progress bar with known total:")
398
- for i in TQDM(range(0), desc="Known total"):
409
+ for i in TQDM(range(3), desc="Known total"):
399
410
  time.sleep(0.05)
400
411
 
401
412
  print("\n2. Manual updates with known total:")
402
- pbar = TQDM(total=30, desc="Manual updates", unit="files")
403
- for i in range(30):
413
+ pbar = TQDM(total=300, desc="Manual updates", unit="files")
414
+ for i in range(300):
404
415
  time.sleep(0.03)
405
416
  pbar.update(1)
406
417
  if i % 10 == 9:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ultralytics
3
- Version: 8.3.188
3
+ Version: 8.3.190
4
4
  Summary: Ultralytics YOLO 🚀 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -7,7 +7,7 @@ tests/test_exports.py,sha256=CY-4xVZlVM16vdyIC0mSR3Ix59aiZm1qjFGIhSNmB20,11007
7
7
  tests/test_integrations.py,sha256=kl_AKmE_Qs1GB0_91iVwbzNxofm_hFTt0zzU6JF-pg4,6323
8
8
  tests/test_python.py,sha256=ENUbLIobqCZAxEy9W7gvhmkmW5OJ2oG-3gI8QLiJjzs,28020
9
9
  tests/test_solutions.py,sha256=tuf6n_fsI8KvSdJrnc-cqP2qYdiYqCWuVrx0z9dOz3Q,13213
10
- ultralytics/__init__.py,sha256=VYZePcNS8EQcTsoJ-lwabUjlQSP3Owuwsy4J8LCbNsQ,730
10
+ ultralytics/__init__.py,sha256=1w9etrjNxSxfLxZJ2IRdczDcnGKeIh1YRZaAOxFuCb0,730
11
11
  ultralytics/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
12
12
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
13
13
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
@@ -114,24 +114,24 @@ ultralytics/data/dataset.py,sha256=0GyB6PPsUXMxpf88RyvhGcsREDCenS7Xvc8CrMWivco,3
114
114
  ultralytics/data/loaders.py,sha256=u9sExTGPy1iiqVd_p29zVoEkQ3C36g2rE0FEbYPET0A,31767
115
115
  ultralytics/data/split.py,sha256=F6O73bAbESj70FQZzqkydXQeXgPXGHGiC06b5MkLHjQ,5109
116
116
  ultralytics/data/split_dota.py,sha256=rr-lLpTUVaFZMggV_fUYZdFVIJk_zbbSOpgB_Qp50_M,12893
117
- ultralytics/data/utils.py,sha256=Zt01BBVwpdHBLwkJC_qTUpaokhF_74hmBYQC3d9Ic8w,36675
117
+ ultralytics/data/utils.py,sha256=BM1kvsrySqkxauXFqj9pXZsmzdAgLlH_dk528po4d4M,36689
118
118
  ultralytics/data/scripts/download_weights.sh,sha256=0y8XtZxOru7dVThXDFUXLHBuICgOIqZNUwpyL4Rh6lg,595
119
119
  ultralytics/data/scripts/get_coco.sh,sha256=UuJpJeo3qQpTHVINeOpmP0NYmg8PhEFE3A8J3jKrnPw,1768
120
120
  ultralytics/data/scripts/get_coco128.sh,sha256=qmRQl_hOKrsdHrTrnyQuFIH01oDz3lfaz138OgGfLt8,650
121
121
  ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQXgr0B2cwn48,1705
122
122
  ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
123
- ultralytics/engine/exporter.py,sha256=qHGD5wFmka_o8BNZTiPH8Qfp7-_y7Cz-OREOsfw9vmM,75261
123
+ ultralytics/engine/exporter.py,sha256=HmZ2M9XqT9HfJfJxTS3XschAIUH9YXERrM69AIhpRA8,75393
124
124
  ultralytics/engine/model.py,sha256=877u2n0ISz2COOYtEMUqQe0E-HHB4Atb2DuH1XCE98k,53530
125
- ultralytics/engine/predictor.py,sha256=iXnUB-tvBHtVpKbB-5EKs1wSREBIerdUxWx39MaFYuk,22485
126
- ultralytics/engine/results.py,sha256=6xagidv6FDJlstAX6tHob_mgfNs3459JVWeyOZgNpko,71686
127
- ultralytics/engine/trainer.py,sha256=_chaZeS_kkoljG3LWUStksKrDwNpfq5LzANgM3CgjRg,40257
125
+ ultralytics/engine/predictor.py,sha256=PyPYnqqvr67enkUNQ_6P_9AbyTePyg392Dre36tznIU,22483
126
+ ultralytics/engine/results.py,sha256=3CXgsrlXMxzAMkHJ9nnn_wJPy5bIR48_CjwXoUVIrRg,71730
127
+ ultralytics/engine/trainer.py,sha256=6cgSmgEqR8rUy2Y4QQK6jxlLzzeLKG2XuC8ChMB23XU,40325
128
128
  ultralytics/engine/tuner.py,sha256=sfQ8_yzgLNcGlKyz9b2vAzyggGZXiQzdZ5tKstyqjHM,12825
129
- ultralytics/engine/validator.py,sha256=g0StH6WOn95zBN-hULDAR5Uug1pU2YkaeNH3zzq3SVg,16573
130
- ultralytics/hub/__init__.py,sha256=ulPtceI3hqud03mvqoXccBaa1e4nveYwC9cddyuBUlo,6599
131
- ultralytics/hub/auth.py,sha256=5uMPzZt8aO-YsnEWADzc1qBUt9c30RTIfrGo5SWTrv4,6271
132
- ultralytics/hub/session.py,sha256=UeUSRbdclSBPJQfpSNGeY13gb1O2Bhzh0Aj7cXum6P4,18518
133
- ultralytics/hub/utils.py,sha256=5-y3WBT5U_L0ZscTJrUWvGB02QYwVAF82OiFqvvd0sE,10262
134
- ultralytics/hub/google/__init__.py,sha256=ZJnS6s6wVl792p9h5aUmm9K2Di1DrHmTk1aEUJdTXhs,8443
129
+ ultralytics/engine/validator.py,sha256=8ky0lcMCYDY7RGYRUowDAKxEMfsPBLpT7LlgfHA-IsY,16681
130
+ ultralytics/hub/__init__.py,sha256=RmrZw24uyFF109SLVba1s-ItjllfzRKlCgQ_U0RVRUo,6720
131
+ ultralytics/hub/auth.py,sha256=RIwZDWfW6vS2yGpZKR0xVl0-38itJYEFtmqY_M70bl8,6304
132
+ ultralytics/hub/session.py,sha256=yXr0lGnRANAs2o0qCjy7vRIMjof5H51q8jbZ6RV6FiU,18444
133
+ ultralytics/hub/utils.py,sha256=K4-FE1mbj4meNzRVcK32fqTX0PZvzY-iYc6BoIRXiig,10229
134
+ ultralytics/hub/google/__init__.py,sha256=6jaSS3DB8Ooa8yBSbbd2Ldh-iYsi591y0QfqgyuQl0s,8476
135
135
  ultralytics/models/__init__.py,sha256=DqQFFYJ4IQlqIDb61H1HzcnZU7SuHN-43bw94-l-YAQ,309
136
136
  ultralytics/models/fastsam/__init__.py,sha256=HGJ8EKlBAsdF-e2aIwQLjSDAFI_r0yHR0A1gzrp4vqE,231
137
137
  ultralytics/models/fastsam/model.py,sha256=IW0QCgQgGNWjVToEInZ8jVwemfc3XnPA78A_zROw3xk,3436
@@ -171,13 +171,13 @@ ultralytics/models/yolo/classify/predict.py,sha256=FqAC2YXe25bRwedMZhF3Lw0waoY-a
171
171
  ultralytics/models/yolo/classify/train.py,sha256=V-hevc6X7xemnpyru84OfTRA77eNnkVSMEz16_OUvo4,10244
172
172
  ultralytics/models/yolo/classify/val.py,sha256=iQZRS6D3-YQjygBhFpC8VCJMI05L3uUPe4ukwbVtSdI,10021
173
173
  ultralytics/models/yolo/detect/__init__.py,sha256=GIRsLYR-kT4JJx7lh4ZZAFGBZj0aebokuU0A7JbjDVA,257
174
- ultralytics/models/yolo/detect/predict.py,sha256=ySUsdIf8dw00bzWhcxN1jZwLWKPRT2M7-N7TNL3o4zo,5387
174
+ ultralytics/models/yolo/detect/predict.py,sha256=ZDsH9ILnlSmMw1nbmfDjwIv0X_FHfIDKpXkqRg5Ofoo,5392
175
175
  ultralytics/models/yolo/detect/train.py,sha256=HlaCoHJ6Y2TpCXXWabMRZApAYqBvjuM_YQJUV5JYCvw,9907
176
- ultralytics/models/yolo/detect/val.py,sha256=rHg0lPC0ccGbVF6113-18grCViVgGdXkg-aT-0sWT4U,21318
176
+ ultralytics/models/yolo/detect/val.py,sha256=pxN6ytieiZoBh2TKUhKxpYxcXMQImhxa1zT87WdvdyI,21323
177
177
  ultralytics/models/yolo/obb/__init__.py,sha256=tQmpG8wVHsajWkZdmD6cjGohJ4ki64iSXQT8JY_dydo,221
178
178
  ultralytics/models/yolo/obb/predict.py,sha256=4r1eSld6TNJlk9JG56e-DX6oPL8uBBqiuztyBpxWlHE,2888
179
179
  ultralytics/models/yolo/obb/train.py,sha256=bnYFAMur7Uvbw5Dc09-S2ge7B05iGX-t37Ksgc0ef6g,3921
180
- ultralytics/models/yolo/obb/val.py,sha256=I05mwGK620JFBz9yuGPlV9NN1fsWZE0lDqMxL5iG9YA,14085
180
+ ultralytics/models/yolo/obb/val.py,sha256=gZeNGhPZgpsugAaNfaYTuLJiqmGeWtnqdEzXGpNpjoU,14154
181
181
  ultralytics/models/yolo/pose/__init__.py,sha256=63xmuHZLNzV8I76HhVXAq4f2W0KTk8Oi9eL-Y204LyQ,227
182
182
  ultralytics/models/yolo/pose/predict.py,sha256=M0C7ZfVXx4QXgv-szjnaXYEPas76ZLGAgDNNh1GG0vI,3743
183
183
  ultralytics/models/yolo/pose/train.py,sha256=GyvNnDPJ3UFq_90HN8_FJ0dbwRkw3JJTVpkMFH0vC0o,5457
@@ -195,14 +195,14 @@ ultralytics/models/yolo/yoloe/train.py,sha256=XYpQYSnSD8vi_9VSj_S5oIsNUEqm3e66vP
195
195
  ultralytics/models/yolo/yoloe/train_seg.py,sha256=aCV7M8oQOvODFnU4piZdJh3tIrBJYAzZfRVRx1vRgxo,4956
196
196
  ultralytics/models/yolo/yoloe/val.py,sha256=2NuERI3B3WeED658Cat1xL2SVpORUHlCHCWI3L8pJJc,9784
197
197
  ultralytics/nn/__init__.py,sha256=rjociYD9lo_K-d-1s6TbdWklPLjTcEHk7OIlRDJstIE,615
198
- ultralytics/nn/autobackend.py,sha256=UM9ObXeLB0lgak1Q5oSi2IA-R_Owr6NdJNBAsA3mSbo,41790
199
- ultralytics/nn/tasks.py,sha256=vw_TNacAv-RN24rusFzKuYL6qRBD7cve8EpB7gOlU_8,72505
198
+ ultralytics/nn/autobackend.py,sha256=Lm14ORPwTTpdsNKECfnp9amjtI4LxE5neelGsiB3f0M,41540
199
+ ultralytics/nn/tasks.py,sha256=wI15MlEX5FOgAIM1O2ygMxeljthvaUinYcz_jy7CJh0,72485
200
200
  ultralytics/nn/text_model.py,sha256=cYwD-0el4VeToDBP4iPFOQGqyEQatJOBHrVyONL3K_s,15282
201
- ultralytics/nn/modules/__init__.py,sha256=2nY0X69Z5DD5SWt6v3CUTZa5gXSzC9TQr3VTVqhyGho,3158
201
+ ultralytics/nn/modules/__init__.py,sha256=BPMbEm1daI7Tuds3zph2_afAX7Gq1uAqK8BfiCfKTZs,3198
202
202
  ultralytics/nn/modules/activation.py,sha256=75JcIMH2Cu9GTC2Uf55r_5YLpxcrXQDaVoeGQ0hlUAU,2233
203
203
  ultralytics/nn/modules/block.py,sha256=lxaEaQ3E-ZuqjXYNC9scUjrZCIF9fDXIALn4F5GKX7Q,70627
204
204
  ultralytics/nn/modules/conv.py,sha256=eM_t0hQwvEH4rllJucqRMNq7IoipEjbTa_ELROu4ubs,21445
205
- ultralytics/nn/modules/head.py,sha256=WiYJ-odEWisWZKKbOuvj1dJkUky2Z6D3yCTFqiRO-B0,53450
205
+ ultralytics/nn/modules/head.py,sha256=PupNNDhN-kALpq12OP2A0kNIJh9OPN7uARTpWEbE40k,53618
206
206
  ultralytics/nn/modules/transformer.py,sha256=PW5-6gzOP3_rZ_uAkmxvI42nU5bkrgbgLKCy5PC5px4,31415
207
207
  ultralytics/nn/modules/utils.py,sha256=rn8yTObZGkQoqVzjbZWLaHiytppG4ffjMME4Lw60glM,6092
208
208
  ultralytics/solutions/__init__.py,sha256=ZoeAQavTLp8aClnhZ9tbl6lxy86GxofyGvZWTx2aWkI,1209
@@ -235,26 +235,27 @@ ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6D
235
235
  ultralytics/trackers/utils/gmc.py,sha256=9IvCf5MhBYY9ppVHykN02_oBWHmE98R8EaYFKaykdV0,14032
236
236
  ultralytics/trackers/utils/kalman_filter.py,sha256=PPmM0lwBMdT_hGojvfLoUsBUFMBBMNRAxKbMcQa3wJ0,21619
237
237
  ultralytics/trackers/utils/matching.py,sha256=uSYtywqi1lE_uNN1FwuBFPyISfDQXHMu8K5KH69nrRI,7160
238
- ultralytics/utils/__init__.py,sha256=ONuTxJMXtc5k7hR9FFhD5c530gmJpeBpCJeJVhdLUP8,53936
238
+ ultralytics/utils/__init__.py,sha256=eHqtDhZevIg9Xs2f10JYn2VQcjDUNY1qB8qhFn-xYt4,55064
239
239
  ultralytics/utils/autobatch.py,sha256=33m8YgggLIhltDqMXZ5OE-FGs2QiHrl2-LfgY1mI4cw,5119
240
240
  ultralytics/utils/autodevice.py,sha256=1wwjkO2tmyR5IAYa6t8G9QJgGrm00niPY4bTbTRH0Uk,8861
241
241
  ultralytics/utils/benchmarks.py,sha256=wqIdUpYLp3Ac-oWX9bgngqOvmGyUiKuI61KBOcCqR6A,31479
242
- ultralytics/utils/checks.py,sha256=q64U5wKyejD-2W2fCPqJ0Oiaa4_4vq2pVxV9wp6lMz4,34707
242
+ ultralytics/utils/checks.py,sha256=hYzs2bK9GC10UMczpiG2YKw2cc3ajH5Y_nOQJVjQVow,34767
243
243
  ultralytics/utils/dist.py,sha256=A9lDGtGefTjSVvVS38w86GOdbtLzNBDZuDGK0MT4PRI,4170
244
- ultralytics/utils/downloads.py,sha256=jtaStUmZiWhJ9-ovubsSJHqnWS891qIZggQHGUC0fJo,23009
244
+ ultralytics/utils/downloads.py,sha256=mLOLonKQsePC15sLVZJzGyLmD_TZPkL1T_qd0gUb4lA,23029
245
245
  ultralytics/utils/errors.py,sha256=XT9Ru7ivoBgofK6PlnyigGoa7Fmf5nEhyHtnD-8TRXI,1584
246
246
  ultralytics/utils/export.py,sha256=LK-wlTlyb_zIKtSvOmfmvR70RcUU9Ct9UBDt5wn9_rY,9880
247
247
  ultralytics/utils/files.py,sha256=ZCbLGleiF0f-PqYfaxMFAWop88w7U1hpreHXl8b2ko0,8238
248
248
  ultralytics/utils/instance.py,sha256=dC83rHvQXciAED3rOiScFs3BOX9OI06Ey1mj9sjUKvs,19070
249
- ultralytics/utils/logger.py,sha256=KDHLdpBe3su3OkMpLSUgDk3-cXMkRgH3oK0hhxsxxvM,15137
249
+ ultralytics/utils/logger.py,sha256=o_vH4CCgQat6_Sbmwm1sUAJ4muAgVcsUed-WqpGNQZw,15129
250
250
  ultralytics/utils/loss.py,sha256=fbOWc3Iu0QOJiWbi-mXWA9-1otTYlehtmUsI7os7ydM,39799
251
251
  ultralytics/utils/metrics.py,sha256=Q0cD4J1_7WRElv_En6YUM94l4SjE7XTF9LdZUMvrGys,68853
252
- ultralytics/utils/ops.py,sha256=8d60fbpntrexK3gPoLUS6mWAYGrtrQaQCOYyRJsCjuI,34521
252
+ ultralytics/utils/nms.py,sha256=wCRQ7O7shv5ccEWHgtF9Ky_vUeyumxFLWBFEj1h0U54,14199
253
+ ultralytics/utils/ops.py,sha256=N3jA7HoN-lYLi0JxDDbyZ5WrYqHp_R4EX5H12vxGeE4,26625
253
254
  ultralytics/utils/patches.py,sha256=PPWiKzwGbCvuawLzDKVR8tWOQAlZbJBi8g_-A6eTCYA,6536
254
255
  ultralytics/utils/plotting.py,sha256=npFWWIGEdQM3IsSSqoZ29kAFyCN3myeZOFj-gALFT6M,47465
255
- ultralytics/utils/tal.py,sha256=aXawOnhn8ni65tJWIW-PYqWr_TRvltbHBjrTo7o6lDQ,20924
256
- ultralytics/utils/torch_utils.py,sha256=D76Pvmw5OKh-vd4aJkOMO0dSLbM5WzGr7Hmds54hPEk,39233
257
- ultralytics/utils/tqdm.py,sha256=G7V-0Ku_XEKKjA8D2duWD9OToekX2LGLbbOTzd1UrWo,16414
256
+ ultralytics/utils/tal.py,sha256=K3lPxC3bbduP8ho-toJ9VHnklo5IaGkqogEaQorbrvs,20924
257
+ ultralytics/utils/torch_utils.py,sha256=PoqnrVRRgnNw2aTxcSrjZ1PvzEg2iR8XKZYIOKVqy0o,39476
258
+ ultralytics/utils/tqdm.py,sha256=erIhzLw3r8QovEAeZZkf5I1bN4MPn7zoMXvAp2qPGUI,16754
258
259
  ultralytics/utils/triton.py,sha256=M7qe4RztiADBJQEWQKaIQsp94ERFJ_8_DUHDR6TXEOM,5410
259
260
  ultralytics/utils/tuner.py,sha256=bHr09Fz-0-t0ei55gX5wJh-obyiAQoicP7HUVM2I8qA,6826
260
261
  ultralytics/utils/callbacks/__init__.py,sha256=hzL63Rce6VkZhP4Lcim9LKjadixaQG86nKqPhk7IkS0,242
@@ -265,13 +266,13 @@ ultralytics/utils/callbacks/dvc.py,sha256=NV0DXMQ1B5Sk5fmh60QFUGkifrAz-vwit5qhdf
265
266
  ultralytics/utils/callbacks/hub.py,sha256=IZ8lldLfxI0SvMnG9aWGWj59JFSks_x11L2is26ajd0,4123
266
267
  ultralytics/utils/callbacks/mlflow.py,sha256=6K8I5zij1yq3TUW9c5BBQNqdzz3IXugQjwKoBOvV6ag,5344
267
268
  ultralytics/utils/callbacks/neptune.py,sha256=j8pecmlcsM8FGzLKWoBw5xUsi5t8E5HuxY7TR5Um_O8,4612
268
- ultralytics/utils/callbacks/platform.py,sha256=gdbEuedXEs1VjdU0IiedjPFwttZJUiI0dJoImU3G_Gc,1999
269
+ ultralytics/utils/callbacks/platform.py,sha256=a7T_8htoBB0uX1WIc392UJnhDjxkRyQMvhPYKR6wUTU,2008
269
270
  ultralytics/utils/callbacks/raytune.py,sha256=S6Bq16oQDQ8BQgnZzA0zJHGN_BBr8iAM_WtGoLiEcwg,1283
270
271
  ultralytics/utils/callbacks/tensorboard.py,sha256=MDPBW7aDes-66OE6YqKXXvqA_EocjzEMHWGM-8z9vUQ,5281
271
272
  ultralytics/utils/callbacks/wb.py,sha256=ngQO8EJ1kxJDF1YajScVtzBbm26jGuejA0uWeOyvf5A,7685
272
- ultralytics-8.3.188.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
273
- ultralytics-8.3.188.dist-info/METADATA,sha256=X4WwCg6NM20Jl6Kd_3qiOyrfmUSOaYEonERNeBDscS4,37693
274
- ultralytics-8.3.188.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
275
- ultralytics-8.3.188.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
276
- ultralytics-8.3.188.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
277
- ultralytics-8.3.188.dist-info/RECORD,,
273
+ ultralytics-8.3.190.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
274
+ ultralytics-8.3.190.dist-info/METADATA,sha256=7wZbW0wuCMm6nmmxuHSgOu3jDmjDyuDjKNWGq8FkiPg,37693
275
+ ultralytics-8.3.190.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
276
+ ultralytics-8.3.190.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
277
+ ultralytics-8.3.190.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
278
+ ultralytics-8.3.190.dist-info/RECORD,,