ultralytics 8.3.164__py3-none-any.whl → 8.3.166__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.
- ultralytics/__init__.py +1 -1
- ultralytics/cfg/datasets/Argoverse.yaml +1 -1
- ultralytics/cfg/datasets/DOTAv1.5.yaml +1 -1
- ultralytics/cfg/datasets/DOTAv1.yaml +1 -1
- ultralytics/cfg/datasets/GlobalWheat2020.yaml +1 -1
- ultralytics/cfg/datasets/HomeObjects-3K.yaml +3 -4
- ultralytics/cfg/datasets/ImageNet.yaml +1 -1
- ultralytics/cfg/datasets/Objects365.yaml +1 -1
- ultralytics/cfg/datasets/SKU-110K.yaml +4 -4
- ultralytics/cfg/datasets/VOC.yaml +3 -3
- ultralytics/cfg/datasets/VisDrone.yaml +37 -30
- ultralytics/cfg/datasets/african-wildlife.yaml +4 -4
- ultralytics/cfg/datasets/brain-tumor.yaml +3 -4
- ultralytics/cfg/datasets/carparts-seg.yaml +4 -4
- ultralytics/cfg/datasets/coco-pose.yaml +1 -1
- ultralytics/cfg/datasets/coco.yaml +1 -1
- ultralytics/cfg/datasets/coco128-seg.yaml +1 -1
- ultralytics/cfg/datasets/coco128.yaml +1 -1
- ultralytics/cfg/datasets/coco8-grayscale.yaml +1 -1
- ultralytics/cfg/datasets/coco8-multispectral.yaml +1 -1
- ultralytics/cfg/datasets/coco8-pose.yaml +1 -1
- ultralytics/cfg/datasets/coco8-seg.yaml +1 -1
- ultralytics/cfg/datasets/coco8.yaml +1 -1
- ultralytics/cfg/datasets/crack-seg.yaml +4 -4
- ultralytics/cfg/datasets/dog-pose.yaml +3 -3
- ultralytics/cfg/datasets/dota8-multispectral.yaml +1 -1
- ultralytics/cfg/datasets/dota8.yaml +1 -1
- ultralytics/cfg/datasets/hand-keypoints.yaml +3 -3
- ultralytics/cfg/datasets/lvis.yaml +1 -1
- ultralytics/cfg/datasets/medical-pills.yaml +3 -4
- ultralytics/cfg/datasets/open-images-v7.yaml +1 -1
- ultralytics/cfg/datasets/package-seg.yaml +4 -4
- ultralytics/cfg/datasets/signature.yaml +3 -3
- ultralytics/cfg/datasets/tiger-pose.yaml +3 -3
- ultralytics/cfg/datasets/xView.yaml +1 -1
- ultralytics/utils/metrics.py +4 -4
- {ultralytics-8.3.164.dist-info → ultralytics-8.3.166.dist-info}/METADATA +1 -1
- {ultralytics-8.3.164.dist-info → ultralytics-8.3.166.dist-info}/RECORD +42 -42
- {ultralytics-8.3.164.dist-info → ultralytics-8.3.166.dist-info}/WHEEL +0 -0
- {ultralytics-8.3.164.dist-info → ultralytics-8.3.166.dist-info}/entry_points.txt +0 -0
- {ultralytics-8.3.164.dist-info → ultralytics-8.3.166.dist-info}/licenses/LICENSE +0 -0
- {ultralytics-8.3.164.dist-info → ultralytics-8.3.166.dist-info}/top_level.txt +0 -0
ultralytics/__init__.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── Argoverse
|
9
|
+
# └── Argoverse ← downloads here (31.5 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: Argoverse # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dota1.5
|
9
|
+
# └── dota1.5 ← downloads here (2GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: DOTAv1.5 # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dota1
|
9
|
+
# └── dota1 ← downloads here (2GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: DOTAv1 # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── GlobalWheat2020
|
9
|
+
# └── GlobalWheat2020 ← downloads here (7.0 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: GlobalWheat2020 # dataset root dir
|
@@ -6,13 +6,12 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── homeobjects-3K
|
9
|
+
# └── homeobjects-3K ← downloads here (390 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: homeobjects-3K # dataset root dir
|
13
|
-
train: train
|
14
|
-
val:
|
15
|
-
test: # test images (relative to 'path')
|
13
|
+
train: images/train # train images (relative to 'path') 2285 images
|
14
|
+
val: images/val # val images (relative to 'path') 404 images
|
16
15
|
|
17
16
|
# Classes
|
18
17
|
names:
|
@@ -7,7 +7,7 @@
|
|
7
7
|
# parent
|
8
8
|
# ├── ultralytics
|
9
9
|
# └── datasets
|
10
|
-
# └── imagenet
|
10
|
+
# └── imagenet ← downloads here (144 GB)
|
11
11
|
|
12
12
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
13
13
|
path: imagenet # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── Objects365
|
9
|
+
# └── Objects365 ← downloads here (712 GB = 367G data + 345G zips)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: Objects365 # dataset root dir
|
@@ -6,13 +6,13 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── SKU-110K
|
9
|
+
# └── SKU-110K ← downloads here (13.6 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: SKU-110K # dataset root dir
|
13
|
-
train: train.txt # train images (relative to 'path')
|
14
|
-
val: val.txt # val images (relative to 'path')
|
15
|
-
test: test.txt # test images (optional)
|
13
|
+
train: train.txt # train images (relative to 'path') 8219 images
|
14
|
+
val: val.txt # val images (relative to 'path') 588 images
|
15
|
+
test: test.txt # test images (optional) 2936 images
|
16
16
|
|
17
17
|
# Classes
|
18
18
|
names:
|
@@ -6,16 +6,16 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── VOC
|
9
|
+
# └── VOC ← downloads here (2.8 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: VOC
|
13
|
-
train: # train images (relative to 'path')
|
13
|
+
train: # train images (relative to 'path') 16551 images
|
14
14
|
- images/train2012
|
15
15
|
- images/train2007
|
16
16
|
- images/val2012
|
17
17
|
- images/val2007
|
18
|
-
val: # val images (relative to 'path')
|
18
|
+
val: # val images (relative to 'path') 4952 images
|
19
19
|
- images/test2007
|
20
20
|
test: # test images (optional)
|
21
21
|
- images/test2007
|
@@ -6,13 +6,13 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── VisDrone
|
9
|
+
# └── VisDrone ← downloads here (2.3 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: VisDrone # dataset root dir
|
13
|
-
train:
|
14
|
-
val:
|
15
|
-
test:
|
13
|
+
train: images/train # train images (relative to 'path') 6471 images
|
14
|
+
val: images/val # val images (relative to 'path') 548 images
|
15
|
+
test: images/test # test-dev images (optional) 1610 images
|
16
16
|
|
17
17
|
# Classes
|
18
18
|
names:
|
@@ -31,50 +31,57 @@ names:
|
|
31
31
|
download: |
|
32
32
|
import os
|
33
33
|
from pathlib import Path
|
34
|
+
import shutil
|
34
35
|
|
35
36
|
from ultralytics.utils.downloads import download
|
36
37
|
|
37
38
|
|
38
|
-
def visdrone2yolo(dir):
|
39
|
-
"""Convert VisDrone annotations to YOLO format
|
39
|
+
def visdrone2yolo(dir, split, source_name=None):
|
40
|
+
"""Convert VisDrone annotations to YOLO format with images/{split} and labels/{split} structure."""
|
40
41
|
from PIL import Image
|
41
42
|
from tqdm import tqdm
|
42
43
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
(
|
50
|
-
|
51
|
-
|
52
|
-
|
44
|
+
source_dir = dir / (source_name or f"VisDrone2019-DET-{split}")
|
45
|
+
images_dir = dir / "images" / split
|
46
|
+
labels_dir = dir / "labels" / split
|
47
|
+
labels_dir.mkdir(parents=True, exist_ok=True)
|
48
|
+
|
49
|
+
# Move images to new structure
|
50
|
+
if (source_images_dir := source_dir / "images").exists():
|
51
|
+
images_dir.mkdir(parents=True, exist_ok=True)
|
52
|
+
for img in source_images_dir.glob("*.jpg"):
|
53
|
+
img.rename(images_dir / img.name)
|
54
|
+
|
55
|
+
for f in tqdm((source_dir / "annotations").glob("*.txt"), desc=f"Converting {split}"):
|
56
|
+
img_size = Image.open(images_dir / f.with_suffix(".jpg").name).size
|
57
|
+
dw, dh = 1.0 / img_size[0], 1.0 / img_size[1]
|
53
58
|
lines = []
|
54
|
-
|
59
|
+
|
60
|
+
with open(f, encoding="utf-8") as file:
|
55
61
|
for row in [x.split(",") for x in file.read().strip().splitlines()]:
|
56
|
-
if row[4]
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
62
|
+
if row[4] != "0": # Skip ignored regions
|
63
|
+
x, y, w, h = map(int, row[:4])
|
64
|
+
cls = int(row[5]) - 1
|
65
|
+
# Convert to YOLO format
|
66
|
+
x_center, y_center = (x + w / 2) * dw, (y + h / 2) * dh
|
67
|
+
w_norm, h_norm = w * dw, h * dh
|
68
|
+
lines.append(f"{cls} {x_center:.6f} {y_center:.6f} {w_norm:.6f} {h_norm:.6f}\n")
|
61
69
|
|
62
|
-
|
63
|
-
with open(label_file, "w", encoding="utf-8") as fl:
|
64
|
-
fl.writelines(lines)
|
65
|
-
|
70
|
+
(labels_dir / f.name).write_text("".join(lines), encoding="utf-8")
|
66
71
|
|
67
72
|
|
68
|
-
# Download
|
73
|
+
# Download (ignores test-challenge split)
|
69
74
|
dir = Path(yaml["path"]) # dataset root dir
|
70
75
|
urls = [
|
71
76
|
"https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-train.zip",
|
72
77
|
"https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-val.zip",
|
73
78
|
"https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-dev.zip",
|
74
|
-
"https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-challenge.zip",
|
79
|
+
# "https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-challenge.zip",
|
75
80
|
]
|
76
81
|
download(urls, dir=dir, curl=True, threads=4)
|
77
82
|
|
78
83
|
# Convert
|
79
|
-
|
80
|
-
|
84
|
+
splits = {"VisDrone2019-DET-train": "train", "VisDrone2019-DET-val": "val", "VisDrone2019-DET-test-dev": "test"}
|
85
|
+
for folder, split in splits.items():
|
86
|
+
visdrone2yolo(dir, split, folder) # convert VisDrone annotations to YOLO labels
|
87
|
+
shutil.rmtree(dir / folder) # cleanup original directory
|
@@ -6,13 +6,13 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── african-wildlife
|
9
|
+
# └── african-wildlife ← downloads here (100 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: african-wildlife # dataset root dir
|
13
|
-
train: train
|
14
|
-
val:
|
15
|
-
test: test
|
13
|
+
train: images/train # train images (relative to 'path') 1052 images
|
14
|
+
val: images/val # val images (relative to 'path') 225 images
|
15
|
+
test: images/test # test images (relative to 'path') 227 images
|
16
16
|
|
17
17
|
# Classes
|
18
18
|
names:
|
@@ -6,13 +6,12 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── brain-tumor
|
9
|
+
# └── brain-tumor ← downloads here (4.21 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: brain-tumor # dataset root dir
|
13
|
-
train: train
|
14
|
-
val:
|
15
|
-
test: # test images (relative to 'path')
|
13
|
+
train: images/train # train images (relative to 'path') 893 images
|
14
|
+
val: images/val # val images (relative to 'path') 223 images
|
16
15
|
|
17
16
|
# Classes
|
18
17
|
names:
|
@@ -6,13 +6,13 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── carparts-seg
|
9
|
+
# └── carparts-seg ← downloads here (133 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: carparts-seg # dataset root dir
|
13
|
-
train: train
|
14
|
-
val:
|
15
|
-
test: test
|
13
|
+
train: images/train # train images (relative to 'path') 3516 images
|
14
|
+
val: images/val # val images (relative to 'path') 276 images
|
15
|
+
test: images/test # test images (relative to 'path') 401 images
|
16
16
|
|
17
17
|
# Classes
|
18
18
|
names:
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco-pose
|
9
|
+
# └── coco-pose ← downloads here (20.1 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco-pose # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco
|
9
|
+
# └── coco ← downloads here (20.1 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco128-seg
|
9
|
+
# └── coco128-seg ← downloads here (7 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco128-seg # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco128
|
9
|
+
# └── coco128 ← downloads here (7 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco128 # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8-grayscale
|
9
|
+
# └── coco8-grayscale ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco8-grayscale # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8-multispectral
|
9
|
+
# └── coco8-multispectral ← downloads here (20.2 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco8-multispectral # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8-pose
|
9
|
+
# └── coco8-pose ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco8-pose # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8-seg
|
9
|
+
# └── coco8-seg ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco8-seg # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── coco8
|
9
|
+
# └── coco8 ← downloads here (1 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: coco8 # dataset root dir
|
@@ -6,13 +6,13 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── crack-seg
|
9
|
+
# └── crack-seg ← downloads here (91.6 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: crack-seg # dataset root dir
|
13
|
-
train: train
|
14
|
-
val:
|
15
|
-
test: test
|
13
|
+
train: images/train # train images (relative to 'path') 3717 images
|
14
|
+
val: images/val # val images (relative to 'path') 112 images
|
15
|
+
test: images/test # test images (relative to 'path') 200 images
|
16
16
|
|
17
17
|
# Classes
|
18
18
|
names:
|
@@ -6,12 +6,12 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dog-pose
|
9
|
+
# └── dog-pose ← downloads here (337 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: dog-pose # dataset root dir
|
13
|
-
train: train # train images (relative to 'path') 6773 images
|
14
|
-
val: val # val images (relative to 'path') 1703 images
|
13
|
+
train: images/train # train images (relative to 'path') 6773 images
|
14
|
+
val: images/val # val images (relative to 'path') 1703 images
|
15
15
|
|
16
16
|
# Keypoints
|
17
17
|
kpt_shape: [24, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dota8-multispectral
|
9
|
+
# └── dota8-multispectral ← downloads here (37.3MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: dota8-multispectral # dataset root dir
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── dota8
|
9
|
+
# └── dota8 ← downloads here (1MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: dota8 # dataset root dir
|
@@ -6,12 +6,12 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── hand-keypoints
|
9
|
+
# └── hand-keypoints ← downloads here (369 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: hand-keypoints # dataset root dir
|
13
|
-
train: train # train images (relative to 'path') 18776 images
|
14
|
-
val: val # val images (relative to 'path') 7992 images
|
13
|
+
train: images/train # train images (relative to 'path') 18776 images
|
14
|
+
val: images/val # val images (relative to 'path') 7992 images
|
15
15
|
|
16
16
|
# Keypoints
|
17
17
|
kpt_shape: [21, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── lvis
|
9
|
+
# └── lvis ← downloads here (20.1 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: lvis # dataset root dir
|
@@ -6,13 +6,12 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── medical-pills
|
9
|
+
# └── medical-pills ← downloads here (8.19 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: medical-pills # dataset root dir
|
13
|
-
train: train
|
14
|
-
val:
|
15
|
-
test: # test images (relative to 'path')
|
13
|
+
train: images/train # train images (relative to 'path') 92 images
|
14
|
+
val: images/val # val images (relative to 'path') 23 images
|
16
15
|
|
17
16
|
# Classes
|
18
17
|
names:
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── open-images-v7
|
9
|
+
# └── open-images-v7 ← downloads here (561 GB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: open-images-v7 # dataset root dir
|
@@ -6,13 +6,13 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── package-seg
|
9
|
+
# └── package-seg ← downloads here (103 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: package-seg # dataset root dir
|
13
|
-
train: train
|
14
|
-
val:
|
15
|
-
test: test
|
13
|
+
train: images/train # train images (relative to 'path') 1920 images
|
14
|
+
val: images/val # val images (relative to 'path') 89 images
|
15
|
+
test: images/test # test images (relative to 'path') 188 images
|
16
16
|
|
17
17
|
# Classes
|
18
18
|
names:
|
@@ -6,12 +6,12 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── signature
|
9
|
+
# └── signature ← downloads here (11.3 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: signature # dataset root dir
|
13
|
-
train: train
|
14
|
-
val:
|
13
|
+
train: images/train # train images (relative to 'path') 143 images
|
14
|
+
val: images/val # val images (relative to 'path') 35 images
|
15
15
|
|
16
16
|
# Classes
|
17
17
|
names:
|
@@ -6,12 +6,12 @@
|
|
6
6
|
# parent
|
7
7
|
# ├── ultralytics
|
8
8
|
# └── datasets
|
9
|
-
# └── tiger-pose
|
9
|
+
# └── tiger-pose ← downloads here (49.8 MB)
|
10
10
|
|
11
11
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
12
12
|
path: tiger-pose # dataset root dir
|
13
|
-
train: train # train images (relative to 'path') 210 images
|
14
|
-
val: val # val images (relative to 'path') 53 images
|
13
|
+
train: images/train # train images (relative to 'path') 210 images
|
14
|
+
val: images/val # val images (relative to 'path') 53 images
|
15
15
|
|
16
16
|
# Keypoints
|
17
17
|
kpt_shape: [12, 2] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
|
@@ -7,7 +7,7 @@
|
|
7
7
|
# parent
|
8
8
|
# ├── ultralytics
|
9
9
|
# └── datasets
|
10
|
-
# └── xView
|
10
|
+
# └── xView ← downloads here (20.7 GB)
|
11
11
|
|
12
12
|
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
13
13
|
path: xView # dataset root dir
|
ultralytics/utils/metrics.py
CHANGED
@@ -330,7 +330,7 @@ class ConfusionMatrix(DataExportMixin):
|
|
330
330
|
"""
|
331
331
|
self.task = task
|
332
332
|
self.nc = len(names) # number of classes
|
333
|
-
self.matrix = np.zeros((self.nc
|
333
|
+
self.matrix = np.zeros((self.nc, self.nc)) if self.task == "classify" else np.zeros((self.nc + 1, self.nc + 1))
|
334
334
|
self.names = names # name of classes
|
335
335
|
|
336
336
|
def process_cls_preds(self, preds, targets):
|
@@ -360,8 +360,9 @@ class ConfusionMatrix(DataExportMixin):
|
|
360
360
|
conf (float, optional): Confidence threshold for detections.
|
361
361
|
iou_thres (float, optional): IoU threshold for matching detections to ground truth.
|
362
362
|
"""
|
363
|
-
conf = 0.25 if conf in {None, 0.001} else conf # apply 0.25 if default val conf is passed
|
364
363
|
gt_cls, gt_bboxes = batch["cls"], batch["bboxes"]
|
364
|
+
is_obb = gt_bboxes.shape[1] == 5 # check if boxes contains angle for OBB
|
365
|
+
conf = 0.25 if conf in {None, 0.01 if is_obb else 0.001} else conf # apply 0.25 if default val conf is passed
|
365
366
|
no_pred = len(detections["cls"]) == 0
|
366
367
|
if gt_cls.shape[0] == 0: # Check if labels is empty
|
367
368
|
if not no_pred:
|
@@ -380,7 +381,6 @@ class ConfusionMatrix(DataExportMixin):
|
|
380
381
|
gt_classes = gt_cls.int().tolist()
|
381
382
|
detection_classes = detections["cls"].int().tolist()
|
382
383
|
bboxes = detections["bboxes"]
|
383
|
-
is_obb = bboxes.shape[1] == 5 # check if detections contains angle for OBB
|
384
384
|
iou = batch_probiou(gt_bboxes, bboxes) if is_obb else box_iou(gt_bboxes, bboxes)
|
385
385
|
|
386
386
|
x = torch.where(iou > iou_thres)
|
@@ -422,7 +422,7 @@ class ConfusionMatrix(DataExportMixin):
|
|
422
422
|
tp = self.matrix.diagonal() # true positives
|
423
423
|
fp = self.matrix.sum(1) - tp # false positives
|
424
424
|
# fn = self.matrix.sum(0) - tp # false negatives (missed detections)
|
425
|
-
return (tp
|
425
|
+
return (tp, fp) if self.task == "classify" else (tp[:-1], fp[:-1]) # remove background class if task=detect
|
426
426
|
|
427
427
|
@TryExcept(msg="ConfusionMatrix plot failure")
|
428
428
|
@plt_settings()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ultralytics
|
3
|
-
Version: 8.3.
|
3
|
+
Version: 8.3.166
|
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,45 +7,45 @@ tests/test_exports.py,sha256=HmMKOTCia9ZDC0VYc_EPmvBTM5LM5eeI1NF_pKjLpd8,9677
|
|
7
7
|
tests/test_integrations.py,sha256=kl_AKmE_Qs1GB0_91iVwbzNxofm_hFTt0zzU6JF-pg4,6323
|
8
8
|
tests/test_python.py,sha256=JJu-69IfuUf1dLK7Ko9elyPONiQ1yu7yhapMVIAt_KI,27907
|
9
9
|
tests/test_solutions.py,sha256=tuf6n_fsI8KvSdJrnc-cqP2qYdiYqCWuVrx0z9dOz3Q,13213
|
10
|
-
ultralytics/__init__.py,sha256=
|
10
|
+
ultralytics/__init__.py,sha256=yczpDVZI5DkFqH3t28doRPDuDqSjoNtwLkDWy4qLC3c,730
|
11
11
|
ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
|
12
12
|
ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
|
13
13
|
ultralytics/cfg/__init__.py,sha256=VIpPHImhjb0XLJquGZrG_LBGZchtOtBSXR7HYTYV2GU,39602
|
14
14
|
ultralytics/cfg/default.yaml,sha256=oFG6llJO-Py5H-cR9qs-7FieJamroDLwpbrkhmfROOM,8307
|
15
|
-
ultralytics/cfg/datasets/Argoverse.yaml,sha256=
|
16
|
-
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=
|
17
|
-
ultralytics/cfg/datasets/DOTAv1.yaml,sha256=
|
18
|
-
ultralytics/cfg/datasets/GlobalWheat2020.yaml,sha256=
|
19
|
-
ultralytics/cfg/datasets/HomeObjects-3K.yaml,sha256=
|
20
|
-
ultralytics/cfg/datasets/ImageNet.yaml,sha256=
|
21
|
-
ultralytics/cfg/datasets/Objects365.yaml,sha256=
|
22
|
-
ultralytics/cfg/datasets/SKU-110K.yaml,sha256=
|
23
|
-
ultralytics/cfg/datasets/VOC.yaml,sha256=
|
24
|
-
ultralytics/cfg/datasets/VisDrone.yaml,sha256=
|
25
|
-
ultralytics/cfg/datasets/african-wildlife.yaml,sha256=
|
26
|
-
ultralytics/cfg/datasets/brain-tumor.yaml,sha256=
|
27
|
-
ultralytics/cfg/datasets/carparts-seg.yaml,sha256=
|
28
|
-
ultralytics/cfg/datasets/coco-pose.yaml,sha256=
|
29
|
-
ultralytics/cfg/datasets/coco.yaml,sha256=
|
30
|
-
ultralytics/cfg/datasets/coco128-seg.yaml,sha256=
|
31
|
-
ultralytics/cfg/datasets/coco128.yaml,sha256=
|
32
|
-
ultralytics/cfg/datasets/coco8-grayscale.yaml,sha256=
|
33
|
-
ultralytics/cfg/datasets/coco8-multispectral.yaml,sha256=
|
34
|
-
ultralytics/cfg/datasets/coco8-pose.yaml,sha256=
|
35
|
-
ultralytics/cfg/datasets/coco8-seg.yaml,sha256=
|
36
|
-
ultralytics/cfg/datasets/coco8.yaml,sha256=
|
37
|
-
ultralytics/cfg/datasets/crack-seg.yaml,sha256=
|
38
|
-
ultralytics/cfg/datasets/dog-pose.yaml,sha256=
|
39
|
-
ultralytics/cfg/datasets/dota8-multispectral.yaml,sha256=
|
40
|
-
ultralytics/cfg/datasets/dota8.yaml,sha256=
|
41
|
-
ultralytics/cfg/datasets/hand-keypoints.yaml,sha256=
|
42
|
-
ultralytics/cfg/datasets/lvis.yaml,sha256=
|
43
|
-
ultralytics/cfg/datasets/medical-pills.yaml,sha256=
|
44
|
-
ultralytics/cfg/datasets/open-images-v7.yaml,sha256=
|
45
|
-
ultralytics/cfg/datasets/package-seg.yaml,sha256=
|
46
|
-
ultralytics/cfg/datasets/signature.yaml,sha256=
|
47
|
-
ultralytics/cfg/datasets/tiger-pose.yaml,sha256=
|
48
|
-
ultralytics/cfg/datasets/xView.yaml,sha256=
|
15
|
+
ultralytics/cfg/datasets/Argoverse.yaml,sha256=4SGaJio9JFUkrscHJTPnH_QSbYm48Wbk8EFwl39zntc,3262
|
16
|
+
ultralytics/cfg/datasets/DOTAv1.5.yaml,sha256=VZ_KKFX0H2YvlFVJ8JHcLWYBZ2xiQ6Z-ROSTiKWpS7c,1211
|
17
|
+
ultralytics/cfg/datasets/DOTAv1.yaml,sha256=JrDuYcQ0JU9lJlCA-dCkMNko_jaj6MAVGHjsfjeZ_u0,1181
|
18
|
+
ultralytics/cfg/datasets/GlobalWheat2020.yaml,sha256=dnr_loeYSE6Eo_f7V1yubILsMRBMRm1ozyC5r7uT-iY,2144
|
19
|
+
ultralytics/cfg/datasets/HomeObjects-3K.yaml,sha256=xEtSqEad-rtfGuIrERjjhdISggmPlvaX-315ZzKz50I,934
|
20
|
+
ultralytics/cfg/datasets/ImageNet.yaml,sha256=GvDWypLVG_H3H67Ai8IC1pvK6fwcTtF5FRhzO1OXXDU,42530
|
21
|
+
ultralytics/cfg/datasets/Objects365.yaml,sha256=vLzbT3xgpLR-bHhrHOiYyzYvDIniRdevgSyPetm8QHk,9354
|
22
|
+
ultralytics/cfg/datasets/SKU-110K.yaml,sha256=a52le1-JQ2YH6b1WLMUxVz7RkZ36YsmXgWyw0z3q9nQ,2542
|
23
|
+
ultralytics/cfg/datasets/VOC.yaml,sha256=GfJkYxN6uAiBTHOsR57L0UDi5NE9vH59A15EROrp0DU,3785
|
24
|
+
ultralytics/cfg/datasets/VisDrone.yaml,sha256=NujUSnR6gpXYdcvgg9nxmSZjPjcC9MdZ_YzMipvnuK8,3615
|
25
|
+
ultralytics/cfg/datasets/african-wildlife.yaml,sha256=SuloMp9WAZBigGC8az-VLACsFhTM76_O29yhTvUqdnU,915
|
26
|
+
ultralytics/cfg/datasets/brain-tumor.yaml,sha256=qrxPO_t9wxbn2kHFwP3vGTzSWj2ELTLelUwYL3_b6nc,800
|
27
|
+
ultralytics/cfg/datasets/carparts-seg.yaml,sha256=A4e9hM1unTY2jjZIXGiKSarF6R-Ad9R99t57OgRJ37w,1253
|
28
|
+
ultralytics/cfg/datasets/coco-pose.yaml,sha256=UYEY90XjHxTEYsUMXZXXaxzxs31zRun-PLTMRo1i334,1623
|
29
|
+
ultralytics/cfg/datasets/coco.yaml,sha256=iptVWzO1gLRPs76Mrs1Sp4yjYAR4f3AYeoUwP0r4UKw,2606
|
30
|
+
ultralytics/cfg/datasets/coco128-seg.yaml,sha256=knBS2enqHzQj5R5frU4nJdxKsFFBhq8TQ1G1JNiaz9s,1982
|
31
|
+
ultralytics/cfg/datasets/coco128.yaml,sha256=ok_dzaBUzSd0DWfe531GT_uYTEoF5mIQcgoMHZyIVIA,1965
|
32
|
+
ultralytics/cfg/datasets/coco8-grayscale.yaml,sha256=8v6G6mOzZHQNdQM1YwdTBW_lsWWkLRnAimwZBHKtJg8,1961
|
33
|
+
ultralytics/cfg/datasets/coco8-multispectral.yaml,sha256=nlU4W0d8rl1cVChthOk0NImhVDCm0voY3FrZs2D0lY0,2063
|
34
|
+
ultralytics/cfg/datasets/coco8-pose.yaml,sha256=GfSONSl-Oh4QErto91E_ws3im9ZTEYmDMaPOaSLLdV8,1009
|
35
|
+
ultralytics/cfg/datasets/coco8-seg.yaml,sha256=Ez42ZE6xHlj8lcjtMBJJP2Y460q2BuiwRfk090XnBgE,1913
|
36
|
+
ultralytics/cfg/datasets/coco8.yaml,sha256=tzrDY1KW82AHsgpCxte_yPkgMIIpNY6Pb4F46TDPxkk,1888
|
37
|
+
ultralytics/cfg/datasets/crack-seg.yaml,sha256=fqvSIq1fRXO55V_g2T92hcYAVoKBHZsSZQR7CokoPUI,837
|
38
|
+
ultralytics/cfg/datasets/dog-pose.yaml,sha256=sRU1JDtEC4nLVf2vkn7lxbp4ILWNcgE-ok96rxZv2lc,908
|
39
|
+
ultralytics/cfg/datasets/dota8-multispectral.yaml,sha256=2lMBi1Q3_pc0auK00yX80oF7oUMo0bUlwjkOrp33hvs,1216
|
40
|
+
ultralytics/cfg/datasets/dota8.yaml,sha256=5n4h_4zdrtUSkmH5DHJ-JLPvfiATcieIkgP3NeOP5nI,1060
|
41
|
+
ultralytics/cfg/datasets/hand-keypoints.yaml,sha256=6JF2wwrfAfaVb5M_yLmXyv7iIFXtAt91FqS-Q3kJda0,990
|
42
|
+
ultralytics/cfg/datasets/lvis.yaml,sha256=nEQgUdSdBcTYW3LzdK2ba3k8SK-p7NNgZ-SoCXf5vns,29703
|
43
|
+
ultralytics/cfg/datasets/medical-pills.yaml,sha256=RK7iQFpDDkUS6EsEGqlbFjoohi3cgSsUIbsk7UItyds,792
|
44
|
+
ultralytics/cfg/datasets/open-images-v7.yaml,sha256=wK9v3OAGdHORkFdqoBi0hS0fa1b74LLroAzUSWjxEqw,12119
|
45
|
+
ultralytics/cfg/datasets/package-seg.yaml,sha256=V4uyTDWWzgft24y9HJWuELKuZ5AndAHXbanxMI6T8GU,849
|
46
|
+
ultralytics/cfg/datasets/signature.yaml,sha256=gBvU3715gVxVAafI_yaYczGX3kfEfA4BttbiMkgOXNk,774
|
47
|
+
ultralytics/cfg/datasets/tiger-pose.yaml,sha256=Y_8htA4--6hmpqHTW-Ix4t9SdaWenSSyl_FUtI2A7n8,926
|
48
|
+
ultralytics/cfg/datasets/xView.yaml,sha256=NEEGaRTvTGafckJiFD1ltFyMl0b04zOyOFu_J-PN-Ik,5340
|
49
49
|
ultralytics/cfg/models/11/yolo11-cls-resnet18.yaml,sha256=1Ycp9qMrwpb8rq7cqht3Q-1gMN0R87U35nm2j_isdro,524
|
50
50
|
ultralytics/cfg/models/11/yolo11-cls.yaml,sha256=17l5GdN-Vst4LvafsK2-q6Li9VX9UlUcT5ClCtikweE,1412
|
51
51
|
ultralytics/cfg/models/11/yolo11-obb.yaml,sha256=3M_c06B-y8da4tunHVxQQ-iFUNLKUfofqCZTpnH5FEU,2034
|
@@ -246,7 +246,7 @@ ultralytics/utils/export.py,sha256=LK-wlTlyb_zIKtSvOmfmvR70RcUU9Ct9UBDt5wn9_rY,9
|
|
246
246
|
ultralytics/utils/files.py,sha256=ZCbLGleiF0f-PqYfaxMFAWop88w7U1hpreHXl8b2ko0,8238
|
247
247
|
ultralytics/utils/instance.py,sha256=dC83rHvQXciAED3rOiScFs3BOX9OI06Ey1mj9sjUKvs,19070
|
248
248
|
ultralytics/utils/loss.py,sha256=fbOWc3Iu0QOJiWbi-mXWA9-1otTYlehtmUsI7os7ydM,39799
|
249
|
-
ultralytics/utils/metrics.py,sha256=
|
249
|
+
ultralytics/utils/metrics.py,sha256=pazuzAjKFnfnhSVH_w6xEWB4vN7RpC8n7v3zj9LkFbs,62247
|
250
250
|
ultralytics/utils/ops.py,sha256=8d60fbpntrexK3gPoLUS6mWAYGrtrQaQCOYyRJsCjuI,34521
|
251
251
|
ultralytics/utils/patches.py,sha256=tBAsNo_RyoFLL9OAzVuJmuoDLUJIPuTMByBYyblGG1A,6517
|
252
252
|
ultralytics/utils/plotting.py,sha256=LO-iR-k1UewV5vt4xXDUIirdmNEZdpfiQvLyIWqINPg,47171
|
@@ -265,9 +265,9 @@ ultralytics/utils/callbacks/neptune.py,sha256=j8pecmlcsM8FGzLKWoBw5xUsi5t8E5HuxY
|
|
265
265
|
ultralytics/utils/callbacks/raytune.py,sha256=S6Bq16oQDQ8BQgnZzA0zJHGN_BBr8iAM_WtGoLiEcwg,1283
|
266
266
|
ultralytics/utils/callbacks/tensorboard.py,sha256=MDPBW7aDes-66OE6YqKXXvqA_EocjzEMHWGM-8z9vUQ,5281
|
267
267
|
ultralytics/utils/callbacks/wb.py,sha256=Tm_-aRr2CN32MJkY9tylpMBJkb007-MSRNSQ7rDJ5QU,7521
|
268
|
-
ultralytics-8.3.
|
269
|
-
ultralytics-8.3.
|
270
|
-
ultralytics-8.3.
|
271
|
-
ultralytics-8.3.
|
272
|
-
ultralytics-8.3.
|
273
|
-
ultralytics-8.3.
|
268
|
+
ultralytics-8.3.166.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
269
|
+
ultralytics-8.3.166.dist-info/METADATA,sha256=4N4h2N1Vii9mOjtYcrL76k9zyCXctBsm-0k_zdReNCw,37576
|
270
|
+
ultralytics-8.3.166.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
271
|
+
ultralytics-8.3.166.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
|
272
|
+
ultralytics-8.3.166.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
|
273
|
+
ultralytics-8.3.166.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|