-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdatasets.py
More file actions
107 lines (85 loc) · 2.96 KB
/
datasets.py
File metadata and controls
107 lines (85 loc) · 2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
from __future__ import print_function, absolute_import
from images import CUHK03, Market1501
from videos import Mars
from dataset import Dataset, ImageDataset, VideoDataset
__image_datasets = {
'market1501': Market1501,
'cuhk03': CUHK03
}
__video_datasets = {
'mars': Mars
}
def init_image_dataset(name, **kwargs):
"""Initializes an image dataset."""
avai_datasets = list(__image_datasets.keys())
if name not in avai_datasets:
raise ValueError(
'Invalid dataset name. Received "{}", '
'but expected to be one of {}'.format(name, avai_datasets)
)
return __image_datasets[name](**kwargs)
def init_video_dataset(name, **kwargs):
"""Initializes a video dataset."""
avai_datasets = list(__video_datasets.keys())
if name not in avai_datasets:
raise ValueError(
'Invalid dataset name. Received "{}", '
'but expected to be one of {}'.format(name, avai_datasets)
)
return __video_datasets[name](**kwargs)
def register_image_dataset(name, dataset):
"""Registers a new image dataset.
Args:
name (str): key corresponding to the new dataset.
dataset (Dataset): the new dataset class.
Examples::
import torchreid
import NewDataset
torchreid.data.register_image_dataset('new_dataset', NewDataset)
# single dataset case
datamanager = torchreid.data.ImageDataManager(
root='reid-data',
sources='new_dataset'
)
# multiple dataset case
datamanager = torchreid.data.ImageDataManager(
root='reid-data',
sources=['new_dataset', 'dukemtmcreid']
)
"""
global __image_datasets
curr_datasets = list(__image_datasets.keys())
if name in curr_datasets:
raise ValueError(
'The given name already exists, please choose '
'another name excluding {}'.format(curr_datasets)
)
__image_datasets[name] = dataset
def register_video_dataset(name, dataset):
"""Registers a new video dataset.
Args:
name (str): key corresponding to the new dataset.
dataset (Dataset): the new dataset class.
Examples::
import torchreid
import NewDataset
torchreid.data.register_video_dataset('new_dataset', NewDataset)
# single dataset case
datamanager = torchreid.data.VideoDataManager(
root='reid-data',
sources='new_dataset'
)
# multiple dataset case
datamanager = torchreid.data.VideoDataManager(
root='reid-data',
sources=['new_dataset', 'ilidsvid']
)
"""
global __video_datasets
curr_datasets = list(__video_datasets.keys())
if name in curr_datasets:
raise ValueError(
'The given name already exists, please choose '
'another name excluding {}'.format(curr_datasets)
)
__video_datasets[name] = dataset