1#!/usr/bin/env python
2# coding=utf-8
3
4from torch.utils.data.dataset import ConcatDataset
5
6def _maker(protocol):
7
8 if protocol == "default":
9 from ..montgomery import default as mc
10 from ..shenzhen import default as ch
11 from ..indian import default as indian
12 elif protocol == "rgb":
13 from ..montgomery import rgb as mc
14 from ..shenzhen import rgb as ch
15 from ..indian import rgb as indian
16 elif protocol == "fold_0":
17 from ..montgomery import fold_0 as mc
18 from ..shenzhen import fold_0 as ch
19 from ..indian import fold_0 as indian
20 elif protocol == "fold_1":
21 from ..montgomery import fold_1 as mc
22 from ..shenzhen import fold_1 as ch
23 from ..indian import fold_1 as indian
24 elif protocol == "fold_2":
25 from ..montgomery import fold_2 as mc
26 from ..shenzhen import fold_2 as ch
27 from ..indian import fold_2 as indian
28 elif protocol == "fold_3":
29 from ..montgomery import fold_3 as mc
30 from ..shenzhen import fold_3 as ch
31 from ..indian import fold_3 as indian
32 elif protocol == "fold_4":
33 from ..montgomery import fold_4 as mc
34 from ..shenzhen import fold_4 as ch
35 from ..indian import fold_4 as indian
36 elif protocol == "fold_5":
37 from ..montgomery import fold_5 as mc
38 from ..shenzhen import fold_5 as ch
39 from ..indian import fold_5 as indian
40 elif protocol == "fold_6":
41 from ..montgomery import fold_6 as mc
42 from ..shenzhen import fold_6 as ch
43 from ..indian import fold_6 as indian
44 elif protocol == "fold_7":
45 from ..montgomery import fold_7 as mc
46 from ..shenzhen import fold_7 as ch
47 from ..indian import fold_7 as indian
48 elif protocol == "fold_8":
49 from ..montgomery import fold_8 as mc
50 from ..shenzhen import fold_8 as ch
51 from ..indian import fold_8 as indian
52 elif protocol == "fold_9":
53 from ..montgomery import fold_9 as mc
54 from ..shenzhen import fold_9 as ch
55 from ..indian import fold_9 as indian
56 elif protocol == "fold_0_rgb":
57 from ..montgomery import fold_0_rgb as mc
58 from ..shenzhen import fold_0_rgb as ch
59 from ..indian import fold_0_rgb as indian
60 elif protocol == "fold_1_rgb":
61 from ..montgomery import fold_1_rgb as mc
62 from ..shenzhen import fold_1_rgb as ch
63 from ..indian import fold_1_rgb as indian
64 elif protocol == "fold_2_rgb":
65 from ..montgomery import fold_2_rgb as mc
66 from ..shenzhen import fold_2_rgb as ch
67 from ..indian import fold_2_rgb as indian
68 elif protocol == "fold_3_rgb":
69 from ..montgomery import fold_3_rgb as mc
70 from ..shenzhen import fold_3_rgb as ch
71 from ..indian import fold_3_rgb as indian
72 elif protocol == "fold_4_rgb":
73 from ..montgomery import fold_4_rgb as mc
74 from ..shenzhen import fold_4_rgb as ch
75 from ..indian import fold_4_rgb as indian
76 elif protocol == "fold_5_rgb":
77 from ..montgomery import fold_5_rgb as mc
78 from ..shenzhen import fold_5_rgb as ch
79 from ..indian import fold_5_rgb as indian
80 elif protocol == "fold_6_rgb":
81 from ..montgomery import fold_6_rgb as mc
82 from ..shenzhen import fold_6_rgb as ch
83 from ..indian import fold_6_rgb as indian
84 elif protocol == "fold_7_rgb":
85 from ..montgomery import fold_7_rgb as mc
86 from ..shenzhen import fold_7_rgb as ch
87 from ..indian import fold_7_rgb as indian
88 elif protocol == "fold_8_rgb":
89 from ..montgomery import fold_8_rgb as mc
90 from ..shenzhen import fold_8_rgb as ch
91 from ..indian import fold_8_rgb as indian
92 elif protocol == "fold_9_rgb":
93 from ..montgomery import fold_9_rgb as mc
94 from ..shenzhen import fold_9_rgb as ch
95 from ..indian import fold_9_rgb as indian
96
97 mc = mc.dataset
98 ch = ch.dataset
99 indian = indian.dataset
100
101 dataset = {}
102 dataset['__train__'] = ConcatDataset([mc["__train__"], ch["__train__"], indian["__train__"]])
103 dataset['train'] = ConcatDataset([mc["train"], ch["train"], indian["train"]])
104 dataset['__valid__'] = ConcatDataset([mc["__valid__"], ch["__valid__"], indian["__valid__"]])
105 dataset['validation'] = ConcatDataset([mc["validation"], ch["validation"], indian["validation"]])
106 dataset['test'] = ConcatDataset([mc["test"], ch["test"], indian["test"]])
107
108 return dataset